Darwin130m

DAR SCRIPT

Sep 19th, 2025
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 11.14 KB | Gaming | 0 0
  1. -- Ultra Farm Battleground - Menú Mejorado & Opciones Visibles + Icono Abrir/Cerrar
  2.  
  3. local Players = game:GetService("Players")
  4. local LocalPlayer = Players.LocalPlayer
  5. local RunService = game:GetService("RunService")
  6. local ReplicatedStorage = game:GetService("ReplicatedStorage")
  7. local TweenService = game:GetService("TweenService")
  8.  
  9. -- Estado
  10. local selectedPlayer = nil
  11. local followDistance = 5
  12. local autoTP = true
  13. local autoSkillTP = false
  14. local tpPosition = "Detras"
  15. local directions = {"Detras","Frente","Izquierda","Derecha"}
  16.  
  17. -- UI helper
  18. local function roundify(obj, r)
  19.     obj.BorderSizePixel = 0
  20.     local c = Instance.new("UICorner", obj)
  21.     c.CornerRadius = UDim.new(0, r or 8)
  22. end
  23.  
  24. -- GUI base
  25. local gui = Instance.new("ScreenGui", LocalPlayer.PlayerGui)
  26. gui.Name = "UltraFarmBattlegroundMenuClear"
  27.  
  28. local frame = Instance.new("Frame", gui)
  29. frame.Size = UDim2.new(0, 380, 0, 520)
  30. frame.Position = UDim2.new(0, 80, 0, 80)
  31. frame.BackgroundColor3 = Color3.fromRGB(36, 36, 45)
  32. frame.Active = true
  33. frame.Draggable = true
  34. roundify(frame, 12)
  35.  
  36. local title = Instance.new("TextLabel", frame)
  37. title.Size = UDim2.new(1, 0, 0, 36)
  38. title.Text = "Ultra Farm Battleground"
  39. title.TextColor3 = Color3.fromRGB(255, 255, 85)
  40. title.BackgroundTransparency = 1
  41. title.Font = Enum.Font.GothamBold
  42. title.TextSize = 24
  43.  
  44. -- SECCIÓN: JUGADORES
  45. local playerBox = Instance.new("Frame", frame)
  46. playerBox.Size = UDim2.new(1, -24, 0, 84)
  47. playerBox.Position = UDim2.new(0, 12, 0, 44)
  48. playerBox.BackgroundColor3 = Color3.fromRGB(44, 44, 54)
  49. roundify(playerBox, 8)
  50.  
  51. local playerLabel = Instance.new("TextLabel", playerBox)
  52. playerLabel.Size = UDim2.new(1, 0, 0, 22)
  53. playerLabel.Position = UDim2.new(0, 0, 0, 0)
  54. playerLabel.Text = "Jugadores"
  55. playerLabel.TextColor3 = Color3.fromRGB(170, 170, 255)
  56. playerLabel.BackgroundTransparency = 1
  57. playerLabel.Font = Enum.Font.GothamBold
  58. playerLabel.TextSize = 16
  59.  
  60. local playerList = Instance.new("ScrollingFrame", playerBox)
  61. playerList.Size = UDim2.new(1, -10, 1, -26)
  62. playerList.Position = UDim2.new(0, 6, 0, 24)
  63. playerList.CanvasSize = UDim2.new(0, 0, 0, 0)
  64. playerList.BackgroundTransparency = 1
  65. playerList.BorderSizePixel = 0
  66. local playerLayout = Instance.new("UIListLayout", playerList)
  67. playerLayout.SortOrder = Enum.SortOrder.LayoutOrder
  68. playerLayout.Padding = UDim.new(0, 4)
  69.  
  70. local function updatePlayers()
  71.     for _, c in ipairs(playerList:GetChildren()) do
  72.         if c:IsA("TextButton") then c:Destroy() end
  73.     end
  74.     for _, p in ipairs(Players:GetPlayers()) do
  75.         if p ~= LocalPlayer then
  76.             local btn = Instance.new("TextButton", playerList)
  77.             btn.Size = UDim2.new(1, 0, 0, 24)
  78.             btn.Text = p.Name
  79.             btn.BackgroundColor3 = selectedPlayer == p and Color3.fromRGB(70, 120, 250) or Color3.fromRGB(56, 56, 70)
  80.             btn.TextColor3 = Color3.fromRGB(255, 255, 255)
  81.             btn.Font = Enum.Font.Gotham
  82.             btn.TextSize = 13
  83.             roundify(btn, 6)
  84.             btn.MouseButton1Click:Connect(function()
  85.                 selectedPlayer = p
  86.                 updatePlayers()
  87.             end)
  88.         end
  89.     end
  90.     playerList.CanvasSize = UDim2.new(0, 0, 0, #Players:GetPlayers() * 28)
  91. end
  92. Players.PlayerAdded:Connect(updatePlayers)
  93. Players.PlayerRemoving:Connect(updatePlayers)
  94. updatePlayers()
  95.  
  96. -- SECCIÓN: CONFIGURACIÓN
  97. local configBox = Instance.new("Frame", frame)
  98. configBox.Size = UDim2.new(1, -24, 0, 96)
  99. configBox.Position = UDim2.new(0, 12, 0, 134)
  100. configBox.BackgroundColor3 = Color3.fromRGB(44, 44, 54)
  101. roundify(configBox, 8)
  102.  
  103. local configLabel = Instance.new("TextLabel", configBox)
  104. configLabel.Size = UDim2.new(1, 0, 0, 22)
  105. configLabel.Position = UDim2.new(0, 0, 0, 0)
  106. configLabel.Text = "Configuración"
  107. configLabel.TextColor3 = Color3.fromRGB(170, 220, 170)
  108. configLabel.BackgroundTransparency = 1
  109. configLabel.Font = Enum.Font.GothamBold
  110. configLabel.TextSize = 16
  111.  
  112. local distLabel = Instance.new("TextLabel", configBox)
  113. distLabel.Size = UDim2.new(0.5, -26, 0, 28)
  114. distLabel.Position = UDim2.new(0, 12, 0, 30)
  115. distLabel.Text = "Distancia: " .. followDistance
  116. distLabel.TextColor3 = Color3.fromRGB(220, 220, 220)
  117. distLabel.BackgroundTransparency = 1
  118. distLabel.Font = Enum.Font.Gotham
  119. distLabel.TextSize = 14
  120.  
  121. local minusBtn = Instance.new("TextButton", configBox)
  122. minusBtn.Size = UDim2.new(0, 24, 0, 24)
  123. minusBtn.Position = UDim2.new(0.5, -8, 0, 32)
  124. minusBtn.Text = "-"
  125. minusBtn.BackgroundColor3 = Color3.fromRGB(80, 80, 80)
  126. minusBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
  127. minusBtn.Font = Enum.Font.GothamBold
  128. minusBtn.TextSize = 16
  129. roundify(minusBtn, 6)
  130. minusBtn.MouseButton1Click:Connect(function()
  131.     followDistance = math.max(1, followDistance - 1)
  132.     distLabel.Text = "Distancia: " .. followDistance
  133. end)
  134.  
  135. local plusBtn = Instance.new("TextButton", configBox)
  136. plusBtn.Size = UDim2.new(0, 24, 0, 24)
  137. plusBtn.Position = UDim2.new(0.5, 18, 0, 32)
  138. plusBtn.Text = "+"
  139. plusBtn.BackgroundColor3 = Color3.fromRGB(80, 80, 80)
  140. plusBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
  141. plusBtn.Font = Enum.Font.GothamBold
  142. plusBtn.TextSize = 16
  143. roundify(plusBtn, 6)
  144. plusBtn.MouseButton1Click:Connect(function()
  145.     followDistance = math.min(50, followDistance + 1)
  146.     distLabel.Text = "Distancia: " .. followDistance
  147. end)
  148.  
  149. local posLabel = Instance.new("TextLabel", configBox)
  150. posLabel.Size = UDim2.new(0.4, 0, 0, 28)
  151. posLabel.Position = UDim2.new(0.6, 12, 0, 30)
  152. posLabel.Text = "Posición: " .. tpPosition
  153. posLabel.TextColor3 = Color3.fromRGB(220, 220, 220)
  154. posLabel.BackgroundTransparency = 1
  155. posLabel.Font = Enum.Font.Gotham
  156. posLabel.TextSize = 14
  157.  
  158. local posBtn = Instance.new("TextButton", configBox)
  159. posBtn.Size = UDim2.new(0, 32, 0, 24)
  160. posBtn.Position = UDim2.new(0.88, 0, 0, 32)
  161. posBtn.Text = "⟳"
  162. posBtn.BackgroundColor3 = Color3.fromRGB(80, 80, 80)
  163. posBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
  164. posBtn.Font = Enum.Font.GothamBold
  165. posBtn.TextSize = 16
  166. roundify(posBtn, 6)
  167. posBtn.MouseButton1Click:Connect(function()
  168.     local i = table.find(directions, tpPosition)
  169.     tpPosition = directions[(i % #directions) + 1]
  170.     posLabel.Text = "Posición: " .. tpPosition
  171. end)
  172.  
  173. -- SECCIÓN: CONTROLES
  174. local controlBox = Instance.new("Frame", frame)
  175. controlBox.Size = UDim2.new(1, -24, 0, 60)
  176. controlBox.Position = UDim2.new(0, 12, 0, 240)
  177. controlBox.BackgroundColor3 = Color3.fromRGB(44, 44, 54)
  178. roundify(controlBox, 8)
  179.  
  180. local function makeToggle(name, init, callback, x)
  181.     local btn = Instance.new("TextButton", controlBox)
  182.     btn.Size = UDim2.new(0.5, -8, 0, 36)
  183.     btn.Position = UDim2.new(x, 8, 0, 12)
  184.     btn.Text = name
  185.     btn.BackgroundColor3 = init and Color3.fromRGB(40, 160, 60) or Color3.fromRGB(80, 80, 80)
  186.     btn.TextColor3 = Color3.fromRGB(255, 255, 255)
  187.     btn.Font = Enum.Font.GothamBold
  188.     btn.TextSize = 16
  189.     roundify(btn, 8)
  190.     local state = init
  191.     btn.MouseButton1Click:Connect(function()
  192.         state = not state
  193.         btn.BackgroundColor3 = state and Color3.fromRGB(40, 160, 60) or Color3.fromRGB(80, 80, 80)
  194.         callback(state)
  195.     end)
  196. end
  197.  
  198. makeToggle("Auto TP", autoTP, function(v) autoTP = v end, 0)
  199. makeToggle("Auto Skill TP", autoSkillTP, function(v) autoSkillTP = v end, 0.5)
  200.  
  201. -- SECCIÓN: SKILLS DETECTADOS
  202. local skillBox = Instance.new("Frame", frame)
  203. skillBox.Size = UDim2.new(1, -24, 0, 130)
  204. skillBox.Position = UDim2.new(0, 12, 0, 320)
  205. skillBox.BackgroundColor3 = Color3.fromRGB(44, 44, 54)
  206. roundify(skillBox, 8)
  207.  
  208. local skillLabel = Instance.new("TextLabel", skillBox)
  209. skillLabel.Size = UDim2.new(1, 0, 0, 22)
  210. skillLabel.Position = UDim2.new(0, 0, 0, 0)
  211. skillLabel.Text = "Skills detectados (RemoteEvents)"
  212. skillLabel.TextColor3 = Color3.fromRGB(220, 170, 170)
  213. skillLabel.BackgroundTransparency = 1
  214. skillLabel.Font = Enum.Font.GothamBold
  215. skillLabel.TextSize = 16
  216.  
  217. local skillList = Instance.new("ScrollingFrame", skillBox)
  218. skillList.Size = UDim2.new(1, -10, 1, -28)
  219. skillList.Position = UDim2.new(0, 6, 0, 24)
  220. skillList.CanvasSize = UDim2.new(0, 0, 0, 0)
  221. skillList.BackgroundTransparency = 1
  222. skillList.BorderSizePixel = 0
  223. local skillLayout = Instance.new("UIListLayout", skillList)
  224. skillLayout.SortOrder = Enum.SortOrder.LayoutOrder
  225. skillLayout.Padding = UDim.new(0, 4)
  226.  
  227. local skillRemotes = {}
  228. local function updateRemotes()
  229.     skillRemotes = {}
  230.     for _, obj in ipairs(ReplicatedStorage:GetDescendants()) do
  231.         if obj:IsA("RemoteEvent") then
  232.             table.insert(skillRemotes, obj)
  233.         end
  234.     end
  235.     for _, c in ipairs(skillList:GetChildren()) do
  236.         if c:IsA("TextButton") then c:Destroy() end
  237.     end
  238.     for _, remote in ipairs(skillRemotes) do
  239.         local btn = Instance.new("TextButton", skillList)
  240.         btn.Size = UDim2.new(1, 0, 0, 28)
  241.         btn.Text = remote.Name
  242.         btn.BackgroundColor3 = Color3.fromRGB(90, 60, 60)
  243.         btn.TextColor3 = Color3.fromRGB(255, 255, 255)
  244.         btn.Font = Enum.Font.Gotham
  245.         btn.TextSize = 14
  246.         roundify(btn, 6)
  247.         btn.MouseButton1Click:Connect(function()
  248.             remote:FireServer()
  249.         end)
  250.     end
  251.     skillList.CanvasSize = UDim2.new(0, 0, 0, #skillRemotes * 32)
  252. end
  253. updateRemotes()
  254. ReplicatedStorage.DescendantAdded:Connect(updateRemotes)
  255. ReplicatedStorage.DescendantRemoving:Connect(updateRemotes)
  256.  
  257. -- TP calculado
  258. local function tpAround()
  259.     if not selectedPlayer then return end
  260.     local targetChar = selectedPlayer.Character
  261.     local myChar = LocalPlayer.Character
  262.     if not targetChar or not myChar then return end
  263.     local root = targetChar:FindFirstChild("HumanoidRootPart")
  264.     local myRoot = myChar:FindFirstChild("HumanoidRootPart")
  265.     if not root or not myRoot then return end
  266.     local offset
  267.     if tpPosition == "Frente" then
  268.         offset = root.CFrame.LookVector * followDistance
  269.     elseif tpPosition == "Detras" then
  270.         offset = -root.CFrame.LookVector * followDistance
  271.     elseif tpPosition == "Izquierda" then
  272.         offset = -root.CFrame.RightVector * followDistance
  273.     elseif tpPosition == "Derecha" then
  274.         offset = root.CFrame.RightVector * followDistance
  275.     else
  276.         offset = Vector3.new(0, 0, followDistance)
  277.     end
  278.     myRoot.CFrame = CFrame.new(root.Position + offset)
  279. end
  280.  
  281. RunService.RenderStepped:Connect(function()
  282.     if autoTP then tpAround() end
  283.     if autoSkillTP then
  284.         tpAround()
  285.         if #skillRemotes > 0 then
  286.             skillRemotes[1]:FireServer()
  287.         end
  288.     end
  289. end)
  290.  
  291. -- ICONO FLOTANTE PARA ABRIR/CERRAR MENU
  292. local icon = Instance.new("TextButton", gui)
  293. icon.Size = UDim2.new(0, 40, 0, 40)
  294. icon.Position = UDim2.new(0, 20, 0, 20)
  295. icon.BackgroundColor3 = Color3.fromRGB(255, 215, 0)
  296. icon.Text = "☰"
  297. icon.TextColor3 = Color3.fromRGB(0,0,0)
  298. icon.Font = Enum.Font.GothamBold
  299. icon.TextSize = 22
  300. icon.AutoButtonColor = true
  301. roundify(icon, 20)
  302. icon.Active = true
  303. icon.Draggable = true  -- Arrastrable
  304.  
  305. local menuVisible = true
  306. icon.MouseButton1Click:Connect(function()
  307.     menuVisible = not menuVisible
  308.     frame.Visible = menuVisible
  309. end)
  310.  
  311. -- PERSISTENCIA DEL GUI AL MORIR
  312. Players.LocalPlayer.CharacterAdded:Connect(function()
  313.     wait(0.5)
  314.     if not gui.Parent then
  315.         gui.Parent = LocalPlayer.PlayerGui
  316.     end
  317.     frame.Visible = menuVisible
  318. end)
  319.  
Advertisement
Add Comment
Please, Sign In to add comment