-- Variables Principales local Players = game:GetService("Players") local TweenService = game:GetService("TweenService") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local CoreGui = game:GetService("CoreGui") local HttpService = game:GetService("HttpService") local TeleportService = game:GetService("TeleportService") local Lighting = game:GetService("Lighting") local LocalPlayer = Players.LocalPlayer local Camera = workspace.CurrentCamera -- Variables de Estado y Configuración local noclipConnection, flyConnection, infJumpConnection, antiAfkConnection local isFlying = false local flySpeed = 50 local Keybinds = {} local Commands = {} local CustomCommandsInfo = {} local activeProblemBlur = nil local topCmdBarTimer = nil -- Tema: Negro & Azul Marino local NavyColor = Color3.fromRGB(15, 35, 75) local BlackColor = Color3.fromRGB(12, 12, 15) local CurrentTheme = NavyColor -- ========================================== -- FUNCIONES VISUALES (UICorner & Estrellas) -- ========================================== local function applyCorner(parent, radius) local corner = Instance.new("UICorner") corner.CornerRadius = radius or UDim.new(0, 8) corner.Parent = parent return corner end local function addTwinklingStars(parent) local starsFolder = Instance.new("Folder", parent) starsFolder.Name = "TwinklingStars" for i = 1, 14 do local star = Instance.new("Frame") star.Size = UDim2.new(0, math.random(2, 4), 0, math.random(2, 4)) star.Position = UDim2.new(math.random(), 0, math.random(), 0) star.BackgroundColor3 = Color3.fromRGB(255, 255, 255) star.BorderSizePixel = 0 star.BackgroundTransparency = math.random() star.Parent = parent applyCorner(star, UDim.new(1, 0)) task.spawn(function() while star and star.Parent do local tweenInfo = TweenInfo.new(math.random(1, 3), Enum.EasingStyle.Sine, Enum.EasingDirection.InOut) local targetTrans = math.random(20, 90) / 100 TweenService:Create(star, tweenInfo, {BackgroundTransparency = targetTrans}):Play() task.wait(math.random(1, 3)) end end) end end -- ========================================== -- 1. CREACIÓN DE LA INTERFAZ (UI PRINCIPAL) -- ========================================== local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "MiniBrookhavenUI_Scriptblox" ScreenGui.ResetOnSpawn = false local guiParent = nil if gethui then guiParent = gethui() elseif pcall(function() return CoreGui.Name end) then guiParent = CoreGui else guiParent = LocalPlayer:WaitForChild("PlayerGui") end ScreenGui.Parent = guiParent -- Botón Flotante [;] local ToggleButton = Instance.new("TextButton") ToggleButton.Name = "OpenButton" ToggleButton.Parent = ScreenGui ToggleButton.BackgroundColor3 = CurrentTheme ToggleButton.BorderSizePixel = 0 ToggleButton.Position = UDim2.new(0, 10, 0.5, -20) ToggleButton.Size = UDim2.new(0, 40, 0, 40) ToggleButton.Font = Enum.Font.Code ToggleButton.Text = "[;]" ToggleButton.TextColor3 = Color3.fromRGB(255, 255, 255) ToggleButton.TextSize = 18 ToggleButton.Active = true ToggleButton.Draggable = true applyCorner(ToggleButton, UDim.new(0, 10)) -- Barra de Comandos Inferior local CmdBar = Instance.new("TextBox") CmdBar.Name = "CommandBar" CmdBar.Parent = ScreenGui CmdBar.BackgroundColor3 = BlackColor CmdBar.BorderSizePixel = 0 CmdBar.Position = UDim2.new(0.5, -110, 1, 10) CmdBar.Size = UDim2.new(0, 220, 0, 30) CmdBar.Font = Enum.Font.Code CmdBar.PlaceholderText = "Escribe un comando..." CmdBar.TextColor3 = Color3.fromRGB(255, 255, 255) CmdBar.PlaceholderColor3 = Color3.fromRGB(120, 120, 120) CmdBar.TextSize = 14 CmdBar.Text = "" CmdBar.ClearTextOnFocus = false applyCorner(CmdBar, UDim.new(0, 8)) -- CmdBar2: Barra Superior (Oculta por defecto, dura 10 segundos al llamarse) local TopCmdBar = Instance.new("TextBox") TopCmdBar.Name = "TopCommandBar" TopCmdBar.Parent = ScreenGui TopCmdBar.BackgroundColor3 = BlackColor TopCmdBar.BorderSizePixel = 0 TopCmdBar.Position = UDim2.new(0.5, -200, -0.1, 0) TopCmdBar.Size = UDim2.new(0, 400, 0, 35) TopCmdBar.Font = Enum.Font.Code TopCmdBar.PlaceholderText = "Escribe comando directo (ej: fly)..." TopCmdBar.TextColor3 = Color3.fromRGB(255, 255, 255) TopCmdBar.PlaceholderColor3 = Color3.fromRGB(120, 120, 120) TopCmdBar.TextSize = 14 TopCmdBar.Text = "" TopCmdBar.ClearTextOnFocus = false applyCorner(TopCmdBar, UDim.new(0, 8)) local SemiColonLabel = Instance.new("TextLabel", TopCmdBar) SemiColonLabel.Size = UDim2.new(0, 30, 1, 0) SemiColonLabel.BackgroundTransparency = 1 SemiColonLabel.Text = ";" SemiColonLabel.TextColor3 = Color3.fromRGB(0, 200, 255) SemiColonLabel.TextSize = 20 SemiColonLabel.Font = Enum.Font.Code local function updateTheme(newColor) CurrentTheme = newColor ToggleButton.BackgroundColor3 = CurrentTheme end -- ========================================== -- 2. FUNCIONES AUXILIARES Y APERTURA -- ========================================== local function toggleCmdBar() local isHidden = CmdBar.Position.Y.Scale > 0.9 if isHidden then CmdBar:TweenPosition(UDim2.new(0.5, -110, 0.85, 0), "Out", "Quad", 0.2, true) task.wait(0.1) CmdBar:CaptureFocus() else CmdBar:TweenPosition(UDim2.new(0.5, -110, 1.2, 0), "In", "Quad", 0.2, true) CmdBar:ReleaseFocus() end end ToggleButton.MouseButton1Click:Connect(toggleCmdBar) UserInputService.InputBegan:Connect(function(input, gameProcessed) if input.KeyCode == Enum.KeyCode.Semicolon and not gameProcessed then toggleCmdBar() end end) local function getPlayer(name) name = string.lower(name or "") for _, p in pairs(Players:GetPlayers()) do if string.sub(string.lower(p.Name), 1, #name) == name or string.sub(string.lower(p.DisplayName), 1, #name) == name then return p end end return nil end -- ========================================== -- 3. DICCIONARIO DE COMANDOS -- ========================================== Commands["to"] = function(args) local target = getPlayer(args[1]) if target and target.Character and target.Character:FindFirstChild("HumanoidRootPart") then LocalPlayer.Character.HumanoidRootPart.CFrame = target.Character.HumanoidRootPart.CFrame end end Commands["view"] = function(args) local target = getPlayer(args[1]) if target and target.Character then Camera.CameraSubject = target.Character:FindFirstChild("Humanoid") end end Commands["unview"] = function() if LocalPlayer.Character then Camera.CameraSubject = LocalPlayer.Character:FindFirstChild("Humanoid") end end Commands["noclip"] = function() if noclipConnection then noclipConnection:Disconnect() end noclipConnection = RunService.Stepped:Connect(function() if LocalPlayer.Character then for _, part in pairs(LocalPlayer.Character:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = false end end end end) end Commands["clip"] = function() if noclipConnection then noclipConnection:Disconnect() noclipConnection = nil end end Commands["reset"] = function() if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then LocalPlayer.Character.Humanoid.Health = 0 end end Commands["re"] = function() Commands["reset"]() end Commands["tween_goto"] = function(args) local target = getPlayer(args[1]) if target and target.Character and target.Character:FindFirstChild("HumanoidRootPart") then local tween = TweenService:Create(LocalPlayer.Character.HumanoidRootPart, TweenInfo.new(3, Enum.EasingStyle.Linear), {CFrame = target.Character.HumanoidRootPart.CFrame}) tween:Play() end end Commands["dex"] = function() loadstring(game:HttpGet("https://raw.githubusercontent.com/infyiff/backup/main/dex.lua"))() end -- FLY MEJORADO (Estable para Mobile y PC) Commands["fly"] = function() isFlying = true local char = LocalPlayer.Character if not char or not char:FindFirstChild("HumanoidRootPart") then return end local hrp = char.HumanoidRootPart local humanoid = char:FindFirstChildOfClass("Humanoid") if humanoid then humanoid.PlatformStand = true end local bv = Instance.new("BodyVelocity", hrp) bv.Name = "FlyVelocity" bv.MaxForce = Vector3.new(math.huge, math.huge, math.huge) bv.Velocity = Vector3.new(0, 0, 0) local bg = Instance.new("BodyGyro", hrp) bg.Name = "FlyGyro" bg.MaxTorque = Vector3.new(math.huge, math.huge, math.huge) bg.CFrame = hrp.CFrame if flyConnection then flyConnection:Disconnect() end flyConnection = RunService.RenderStepped:Connect(function() if not isFlying then return end local camCF = Camera.CFrame local moveVector = Vector3.new(0, 0, 0) if UserInputService:IsKeyDown(Enum.KeyCode.W) then moveVector = moveVector + camCF.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.S) then moveVector = moveVector - camCF.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.A) then moveVector = moveVector - camCF.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.D) then moveVector = moveVector + camCF.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.Space) then moveVector = moveVector + Vector3.new(0, 1, 0) end if UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) then moveVector = moveVector - Vector3.new(0, 1, 0) end if humanoid and humanoid.MoveDirection.Magnitude > 0 then moveVector = moveVector + (camCF.LookVector * humanoid.MoveDirection.Z + camCF.RightVector * humanoid.MoveDirection.X) end bv.Velocity = moveVector * flySpeed bg.CFrame = camCF end) end Commands["unfly"] = function() isFlying = false if flyConnection then flyConnection:Disconnect() flyConnection = nil end if LocalPlayer.Character then local humanoid = LocalPlayer.Character:FindFirstChildOfClass("Humanoid") if humanoid then humanoid.PlatformStand = false end if LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then for _, v in pairs(LocalPlayer.Character.HumanoidRootPart:GetChildren()) do if v.Name == "FlyVelocity" or v.Name == "FlyGyro" then v:Destroy() end end end end end -- FLY V2 (Mini panel flotante táctil) Commands["fly_v2"] = function() local p = Instance.new("Frame", ScreenGui) p.Size = UDim2.new(0, 180, 0, 100) p.Position = UDim2.new(0.5, -90, 0.4, -50) p.BackgroundColor3 = BlackColor p.Active = true p.Draggable = true applyCorner(p, UDim.new(0, 10)) addTwinklingStars(p) local title = Instance.new("TextLabel", p) title.Size = UDim2.new(1, 0, 0, 25) title.BackgroundColor3 = NavyColor title.Text = "Panel Fly V2" title.TextColor3 = Color3.fromRGB(255, 255, 255) title.Font = Enum.Font.Code title.TextSize = 13 applyCorner(title, UDim.new(0, 10)) local onBtn = Instance.new("TextButton", p) onBtn.Size = UDim2.new(0.85, 0, 0, 25) onBtn.Position = UDim2.new(0.075, 0, 0.35, 0) onBtn.Text = "ACTIVAR" onBtn.BackgroundColor3 = Color3.fromRGB(40, 140, 80) onBtn.TextColor3 = Color3.fromRGB(255, 255, 255) applyCorner(onBtn, UDim.new(0, 6)) onBtn.MouseButton1Click:Connect(function() Commands["fly"]() end) local offBtn = Instance.new("TextButton", p) offBtn.Size = UDim2.new(0.85, 0, 0, 25) offBtn.Position = UDim2.new(0.075, 0, 0.7, 0) offBtn.Text = "DESACTIVAR" offBtn.BackgroundColor3 = Color3.fromRGB(160, 40, 40) offBtn.TextColor3 = Color3.fromRGB(255, 255, 255) applyCorner(offBtn, UDim.new(0, 6)) offBtn.MouseButton1Click:Connect(function() Commands["unfly"]() end) end Commands["spin"] = function() if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then if LocalPlayer.Character.HumanoidRootPart:FindFirstChild("SpinSpeed") then return end local bg = Instance.new("BodyAngularVelocity", LocalPlayer.Character.HumanoidRootPart) bg.Name = "SpinSpeed" bg.AngularVelocity = Vector3.new(0, 75, 0) bg.MaxTorque = Vector3.new(0, math.huge, 0) end end Commands["unspin"] = function() if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then local spin = LocalPlayer.Character.HumanoidRootPart:FindFirstChild("SpinSpeed") if spin then spin:Destroy() end end end Commands["fling"] = function() if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then local hrp = LocalPlayer.Character.HumanoidRootPart local bav = Instance.new("BodyAngularVelocity", hrp) bav.Name = "FlingForce" bav.AngularVelocity = Vector3.new(99999, 99999, 99999) bav.MaxTorque = Vector3.new(math.huge, math.huge, math.huge) end end Commands["unfling"] = function() if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then local fling = LocalPlayer.Character.HumanoidRootPart:FindFirstChild("FlingForce") if fling then fling:Destroy() end end end Commands["sit"] = function() if LocalPlayer.Character then LocalPlayer.Character.Humanoid.Sit = true end end Commands["reset_time"] = function() Lighting.ClockTime = 14 end Commands["godmode"] = function() if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then LocalPlayer.Character.Humanoid.MaxHealth = math.huge LocalPlayer.Character.Humanoid.Health = math.huge end end Commands["speed"] = function(args) local val = tonumber(args[1]) or 16 if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then LocalPlayer.Character.Humanoid.WalkSpeed = val end end Commands["jump"] = function(args) local val = tonumber(args[1]) or 50 if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then LocalPlayer.Character.Humanoid.JumpPower = val end end Commands["infjump"] = function() if infJumpConnection then infJumpConnection:Disconnect() end infJumpConnection = UserInputService.JumpRequest:Connect(function() if LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid") then LocalPlayer.Character.Humanoid:ChangeState(Enum.HumanoidStateType.Jumping) end end) end Commands["uninfjump"] = function() if infJumpConnection then infJumpConnection:Disconnect() infJumpConnection = nil end end Commands["fullbright"] = function() Lighting.Brightness = 2 Lighting.ClockTime = 14 Lighting.GlobalShadows = false Lighting.OutdoorAmbient = Color3.fromRGB(255, 255, 255) end Commands["anti_afk"] = function() if antiAfkConnection then antiAfkConnection:Disconnect() end local vu = game:GetService("VirtualUser") antiAfkConnection = LocalPlayer.Idled:Connect(function() vu:Button2Down(Vector2.new(0,0), workspace.CurrentCamera.CFrame) task.wait(1) vu:Button2Up(Vector2.new(0,0), workspace.CurrentCamera.CFrame) end) end Commands["exit"] = function() LocalPlayer:Kick("Saliendo del juego...") end Commands["serverhop"] = function() pcall(function() local servers = HttpService:JSONDecode(game:HttpGet("https://games.roblox.com/v1/games/"..game.PlaceId.."/servers/Public?sortOrder=Asc&limit=100")) for _, server in ipairs(servers.data) do if server.playing < server.maxPlayers and server.id ~= game.JobId then TeleportService:TeleportToPlaceInstance(game.PlaceId, server.id, LocalPlayer) break end end end) end -- CMDBAR 2 (Aparece al llamarlo y se auto-oculta tras 10 segundos) Commands["cmdbar2"] = function() local isHidden = TopCmdBar.Position.Y.Scale > 0 if isHidden then TopCmdBar:TweenPosition(UDim2.new(0.5, -200, 0, 10), "Out", "Quad", 0.2, true) task.wait(0.1) TopCmdBar:CaptureFocus() if topCmdBarTimer then task.cancel(topCmdBarTimer) end topCmdBarTimer = task.spawn(function() task.wait(10) if TopCmdBar.Position.Y.Scale >= 0 and TopCmdBar.Position.Y.Scale < 0.1 then TopCmdBar:TweenPosition(UDim2.new(0.5, -200, -0.1, 0), "In", "Quad", 0.2, true) TopCmdBar:ReleaseFocus() end end) else TopCmdBar:TweenPosition(UDim2.new(0.5, -200, -0.1, 0), "In", "Quad", 0.2, true) TopCmdBar:ReleaseFocus() end end -- PROBLEM (Con Blur y Estrellas) Commands["problem"] = function() if activeProblemBlur then activeProblemBlur:Destroy() end activeProblemBlur = Instance.new("BlurEffect") activeProblemBlur.Size = 12 activeProblemBlur.Parent = Lighting local p = Instance.new("Frame", ScreenGui) p.Size = UDim2.new(0, 320, 0, 220) p.Position = UDim2.new(0.5, -160, 0.5, -110) p.BackgroundColor3 = BlackColor p.Active = true p.Draggable = true applyCorner(p, UDim.new(0, 12)) addTwinklingStars(p) local title = Instance.new("TextLabel", p) title.Size = UDim2.new(1, 0, 0, 30) title.BackgroundColor3 = NavyColor title.Text = "Reportar Problema / Sugerencia" title.TextColor3 = Color3.fromRGB(255, 255, 255) title.Font = Enum.Font.Code title.TextSize = 13 applyCorner(title, UDim.new(0, 12)) local closeBtn = Instance.new("TextButton", p) closeBtn.Size = UDim2.new(0, 25, 0, 25) closeBtn.Position = UDim2.new(1, -28, 0, 3) closeBtn.Text = "X" closeBtn.BackgroundColor3 = Color3.fromRGB(180, 40, 40) closeBtn.TextColor3 = Color3.fromRGB(255, 255, 255) applyCorner(closeBtn, UDim.new(0, 6)) closeBtn.MouseButton1Click:Connect(function() if activeProblemBlur then activeProblemBlur:Destroy() activeProblemBlur = nil end p:Destroy() end) local box = Instance.new("TextBox", p) box.Size = UDim2.new(0.9, 0, 0, 90) box.Position = UDim2.new(0.05, 0, 0.22, 0) box.PlaceholderText = "Escribe el problema aquí..." box.TextWrapped = true box.BackgroundColor3 = Color3.fromRGB(25, 25, 30) box.TextColor3 = Color3.fromRGB(255, 255, 255) box.Font = Enum.Font.Code applyCorner(box, UDim.new(0, 8)) local send = Instance.new("TextButton", p) send.Size = UDim2.new(0.9, 0, 0, 30) send.Position = UDim2.new(0.05, 0, 0.68, 0) send.Text = "Enviar Reporte" send.BackgroundColor3 = Color3.fromRGB(40, 140, 80) send.TextColor3 = Color3.fromRGB(255, 255, 255) applyCorner(send, UDim.new(0, 8)) send.MouseButton1Click:Connect(function() if box.Text ~= "" then pcall(function() local data = "" if pcall(function() return readfile("BrookhavenProblems.txt") end) then data = readfile("BrookhavenProblems.txt") end data = data .. "\n[Usuario: " .. LocalPlayer.Name .. "]\n" .. box.Text .. "\n--------------------\n" writefile("BrookhavenProblems.txt", data) end) send.Text = "¡Enviado con éxito!" task.wait(1.5) if activeProblemBlur then activeProblemBlur:Destroy() activeProblemBlur = nil end p:Destroy() end end) -- SISTEMA DE MODERACIÓN EXCLUSIVO PARA ueu9195 if LocalPlayer.Name == "ueu9195" or LocalPlayer.DisplayName == "ueu9195" then local modBtn = Instance.new("TextButton", p) modBtn.Size = UDim2.new(0.9, 0, 0, 25) modBtn.Position = UDim2.new(0.05, 0, 0.83, 0) modBtn.Text = "[Admin ueu9195] Ver Reportes Globales" modBtn.BackgroundColor3 = Color3.fromRGB(200, 100, 0) modBtn.TextColor3 = Color3.fromRGB(255, 255, 255) applyCorner(modBtn, UDim.new(0, 8)) modBtn.MouseButton1Click:Connect(function() p:Destroy() local pMod = Instance.new("Frame", ScreenGui) pMod.Size = UDim2.new(0, 350, 0, 260) pMod.Position = UDim2.new(0.5, -175, 0.5, -130) pMod.BackgroundColor3 = BlackColor pMod.Active = true pMod.Draggable = true applyCorner(pMod, UDim.new(0, 12)) addTwinklingStars(pMod) local tMod = Instance.new("TextLabel", pMod) tMod.Size = UDim2.new(1, 0, 0, 30) tMod.BackgroundColor3 = Color3.fromRGB(200, 100, 0) tMod.Text = "Panel de Moderación (ueu9195)" tMod.TextColor3 = Color3.fromRGB(255, 255, 255) applyCorner(tMod, UDim.new(0, 12)) local closeMod = Instance.new("TextButton", pMod) closeMod.Size = UDim2.new(0, 25, 0, 25) closeMod.Position = UDim2.new(1, -28, 0, 3) closeMod.Text = "X" closeMod.BackgroundColor3 = Color3.fromRGB(180, 40, 40) closeMod.TextColor3 = Color3.fromRGB(255, 255, 255) applyCorner(closeMod, UDim.new(0, 6)) closeMod.MouseButton1Click:Connect(function() if activeProblemBlur then activeProblemBlur:Destroy() activeProblemBlur = nil end pMod:Destroy() end) local scroll = Instance.new("ScrollingFrame", pMod) scroll.Size = UDim2.new(1, -10, 1, -45) scroll.Position = UDim2.new(0, 5, 0, 38) scroll.BackgroundTransparency = 1 scroll.CanvasSize = UDim2.new(0, 0, 3, 0) local txt = "No hay reportes registrados." pcall(function() if readfile("BrookhavenProblems.txt") then txt = readfile("BrookhavenProblems.txt") end end) local label = Instance.new("TextLabel", scroll) label.Size = UDim2.new(1, 0, 1, 0) label.BackgroundTransparency = 1 label.TextColor3 = Color3.fromRGB(255, 255, 255) label.TextXAlignment = Enum.TextXAlignment.Left label.TextYAlignment = Enum.TextYAlignment.Top label.TextWrapped = true label.Text = txt end) end end Commands["dance"] = function() Players:Chat("/e dance") end Commands["dance2"] = function() Players:Chat("/e dance2") end Commands["dance3"] = function() Players:Chat("/e dance3") end Commands["1_prsn"] = function() Camera.CameraMode = Enum.CameraMode.LockFirstPerson end Commands["2_prsn"] = function() Camera.CameraMode = Enum.CameraMode.Classic Camera.FieldOfView = 50 end Commands["3_persona"] = function() Camera.CameraMode = Enum.CameraMode.Classic Camera.FieldOfView = 70 end Commands["rejoin"] = function() TeleportService:TeleportToPlaceInstance(game.PlaceId, game.JobId, LocalPlayer) end Commands["exit_command"] = function() ScreenGui:Destroy() end -- ========================================== -- 4. PANELES ESPECIALES (LISTA Y SETTINGS) -- ========================================== local function createBasePanel(titleText) local Frame = Instance.new("Frame", ScreenGui) Frame.Size = UDim2.new(0, 340, 0, 260) Frame.Position = UDim2.new(0.5, -170, 0.5, -130) Frame.BackgroundColor3 = BlackColor Frame.Active = true Frame.Draggable = true applyCorner(Frame, UDim.new(0, 12)) addTwinklingStars(Frame) local Title = Instance.new("TextLabel", Frame) Title.Size = UDim2.new(1, 0, 0, 30) Title.BackgroundColor3 = NavyColor Title.Text = titleText Title.TextColor3 = Color3.fromRGB(255, 255, 255) Title.Font = Enum.Font.Code Title.TextSize = 14 applyCorner(Title, UDim.new(0, 12)) local Close = Instance.new("TextButton", Frame) Close.Size = UDim2.new(0, 28, 0, 28) Close.Position = UDim2.new(1, -31, 0, 1) Close.Text = "X" Close.BackgroundColor3 = Color3.fromRGB(180, 40, 40) Close.TextColor3 = Color3.fromRGB(255, 255, 255) applyCorner(Close, UDim.new(0, 6)) Close.MouseButton1Click:Connect(function() Frame:Destroy() end) return Frame end Commands["cmds"] = function() local p = createBasePanel("Lista de Comandos") local Scroll = Instance.new("ScrollingFrame", p) Scroll.Size = UDim2.new(1, -10, 1, -40) Scroll.Position = UDim2.new(0, 5, 0, 35) Scroll.BackgroundTransparency = 1 Scroll.CanvasSize = UDim2.new(0, 0, 3.5, 0) local listText = Instance.new("TextLabel", Scroll) listText.Size = UDim2.new(1, 0, 1, 0) listText.BackgroundTransparency = 1 listText.TextColor3 = Color3.fromRGB(220, 220, 220) listText.Font = Enum.Font.Code listText.TextSize = 13 listText.TextXAlignment = Enum.TextXAlignment.Left listText.TextYAlignment = Enum.TextYAlignment.Top listText.Text = [[;to [jugador] ;view [jugador] / ;unview ;noclip / ;clip ;tween goto [jugador] ;fly / ;unfly / ;fly v2 ;spin / ;unspin / ;fling / ;unfling ;sit / ;reset / ;re / ;godmode ;speed [num] / ;jump [num] ;infjump / ;uninfjump ;fullbright / ;anti afk ;reset time ;exit / ;serverhop ;problem (Reportes & Admin ueu9195) ;cmdbar2 (Barra superior) ;dance / ;dance2 / ;dance3 ;1 prsn / ;2 prsn / ;3 persona ;rejoin / ;view info server ;settings panel ;new command / ;custom list ;cmds]] end Commands["view_info_server"] = function() local p = createBasePanel("Server Info") local Info = Instance.new("TextLabel", p) Info.Size = UDim2.new(1, -20, 1, -50) Info.Position = UDim2.new(0, 10, 0, 40) Info.BackgroundTransparency = 1 Info.TextColor3 = Color3.fromRGB(255, 255, 255) Info.Font = Enum.Font.Code Info.TextSize = 14 Info.TextXAlignment = Enum.TextXAlignment.Left Info.Text = "Jugadores conectados: " .. #Players:GetPlayers() .. "\nPlaceId: " .. game.PlaceId .. "\nJobId: " .. string.sub(game.JobId, 1, 15) .. "..." end Commands["settings_panel"] = function() local p = createBasePanel("Settings & Temas") local Label = Instance.new("TextLabel", p) Label.Size = UDim2.new(0.9, 0, 0, 30) Label.Position = UDim2.new(0.05, 0, 0.15, 0) Label.Text = "Tema de Color:" Label.TextColor3 = Color3.fromRGB(255, 255, 255) Label.BackgroundTransparency = 1 Label.Font = Enum.Font.Code local Theme1 = Instance.new("TextButton", p) Theme1.Size = UDim2.new(0.4, 0, 0, 35) Theme1.Position = UDim2.new(0.05, 0, 0.3, 0) Theme1.Text = "Azul Marino" Theme1.BackgroundColor3 = Color3.fromRGB(15, 35, 75) Theme1.TextColor3 = Color3.fromRGB(255, 255, 255) applyCorner(Theme1, UDim.new(0, 8)) Theme1.MouseButton1Click:Connect(function() updateTheme(Color3.fromRGB(15, 35, 75)) end) local Theme2 = Instance.new("TextButton", p) Theme2.Size = UDim2.new(0.4, 0, 0, 35) Theme2.Position = UDim2.new(0.55, 0, 0.3, 0) Theme2.Text = "Negro Puro" Theme2.BackgroundColor3 = Color3.fromRGB(20, 20, 25) Theme2.TextColor3 = Color3.fromRGB(255, 255, 255) applyCorner(Theme2, UDim.new(0, 8)) Theme2.MouseButton1Click:Connect(function() updateTheme(Color3.fromRGB(20, 20, 25)) end) local KeyInput = Instance.new("TextBox", p) KeyInput.Size = UDim2.new(0.35, 0, 0, 30) KeyInput.Position = UDim2.new(0.05, 0, 0.6, 0) KeyInput.PlaceholderText = "Tecla (ej: F)" applyCorner(KeyInput, UDim.new(0, 8)) local CmdInput = Instance.new("TextBox", p) CmdInput.Size = UDim2.new(0.5, 0, 0, 30) CmdInput.Position = UDim2.new(0.43, 0, 0.6, 0) CmdInput.PlaceholderText = "Comando (ej: fly)" applyCorner(CmdInput, UDim.new(0, 8)) local SaveBtn = Instance.new("TextButton", p) SaveBtn.Size = UDim2.new(0.88, 0, 0, 30) SaveBtn.Position = UDim2.new(0.05, 0, 0.8, 0) SaveBtn.Text = "Guardar Atajo" SaveBtn.BackgroundColor3 = NavyColor SaveBtn.TextColor3 = Color3.fromRGB(255, 255, 255) applyCorner(SaveBtn, UDim.new(0, 8)) SaveBtn.MouseButton1Click:Connect(function() local key = string.upper(KeyInput.Text) if key ~= "" and CmdInput.Text ~= "" then Keybinds[key] = CmdInput.Text SaveBtn.Text = "¡Guardado!" task.wait(1) SaveBtn.Text = "Guardar Atajo" end end) end local function openNewCommandPanel() local p = createBasePanel("Nuevo Comando") local NameInput = Instance.new("TextBox", p) NameInput.Size = UDim2.new(0.9, 0, 0, 28) NameInput.Position = UDim2.new(0.05, 0, 0.15, 0) NameInput.PlaceholderText = "Nombre del comando..." NameInput.BackgroundColor3 = Color3.fromRGB(25, 25, 30) NameInput.TextColor3 = Color3.fromRGB(255, 255, 255) applyCorner(NameInput, UDim.new(0, 6)) local CodeInput = Instance.new("TextBox", p) CodeInput.Size = UDim2.new(0.9, 0, 0, 50) CodeInput.Position = UDim2.new(0.05, 0, 0.35, 0) CodeInput.PlaceholderText = "Código Lua..." CodeInput.TextWrapped = true CodeInput.BackgroundColor3 = Color3.fromRGB(25, 25, 30) CodeInput.TextColor3 = Color3.fromRGB(255, 255, 255) applyCorner(CodeInput, UDim.new(0, 6)) local ReasonInput = Instance.new("TextBox", p) ReasonInput.Size = UDim2.new(0.9, 0, 0, 28) ReasonInput.Position = UDim2.new(0.05, 0, 0.58, 0) ReasonInput.PlaceholderText = "Razón del comando..." ReasonInput.BackgroundColor3 = Color3.fromRGB(25, 25, 30) ReasonInput.TextColor3 = Color3.fromRGB(255, 255, 255) applyCorner(ReasonInput, UDim.new(0, 6)) local CreateBtn = Instance.new("TextButton", p) CreateBtn.Size = UDim2.new(0.9, 0, 0, 32) CreateBtn.Position = UDim2.new(0.05, 0, 0.78, 0) CreateBtn.Text = "Crear y Guardar" CreateBtn.BackgroundColor3 = Color3.fromRGB(40, 140, 80) CreateBtn.TextColor3 = Color3.fromRGB(255, 255, 255) applyCorner(CreateBtn, UDim.new(0, 8)) CreateBtn.MouseButton1Click:Connect(function() local cmdName = string.lower(NameInput.Text) local cmdCode = CodeInput.Text local cmdReason = ReasonInput.Text if cmdName ~= "" and cmdCode ~= "" then Commands[cmdName] = function() pcall(function() loadstring(cmdCode)() end) end table.insert(CustomCommandsInfo, {Name = cmdName, Reason = cmdReason ~= "" and cmdReason or "Sin razón"}) p:Destroy() end end) end Commands["new_command"] = openNewCommandPanel Commands["new_commad"] = openNewCommandPanel Commands["custom_list"] = function() local p = createBasePanel("Comandos Creados") local Scroll = Instance.new("ScrollingFrame", p) Scroll.Size = UDim2.new(1, -10, 1, -40) Scroll.Position = UDim2.new(0, 5, 0, 35) Scroll.BackgroundTransparency = 1 Scroll.CanvasSize = UDim2.new(0, 0, 2, 0) local text = "Comandos personalizados:\n\n" if #CustomCommandsInfo == 0 then text = text .. "No has creado ningún comando todavía." else for _, info in ipairs(CustomCommandsInfo) do text = text .. "• ;" .. info.Name .. " -> Razón: " .. info.Reason .. "\n" end end local listText = Instance.new("TextLabel", Scroll) listText.Size = UDim2.new(1, 0, 1, 0) listText.BackgroundTransparency = 1 listText.TextColor3 = Color3.fromRGB(220, 220, 220) listText.Font = Enum.Font.Code listText.TextSize = 13 listText.TextXAlignment = Enum.TextXAlignment.Left listText.TextYAlignment = Enum.TextYAlignment.Top listText.Text = text end -- ========================================== -- 5. PROCESADOR INTELIGENTE DE COMANDOS -- ========================================== local function executeCommandString(text) text = string.lower(text) if string.sub(text, 1, 1) == ";" then text = string.sub(text, 2) end local args = string.split(text, " ") local cmd = args[1] table.remove(args, 1) if cmd == "tween" and args[1] == "goto" then table.remove(args, 1) if Commands["tween_goto"] then Commands["tween_goto"](args) return end elseif cmd == "fly" and args[1] == "v2" then table.remove(args, 1) if Commands["fly_v2"] then Commands["fly_v2"](args) return end elseif cmd == "1" and args[1] == "prsn" then table.remove(args, 1) if Commands["1_prsn"] then Commands["1_prsn"](args) return end elseif cmd == "2" and args[1] == "prsn" then table.remove(args, 1) if Commands["2_prsn"] then Commands["2_prsn"](args) return end elseif cmd == "3" and (args[1] == "persona" or args[1] == "prsn") then table.remove(args, 1) if Commands["3_persona"] then Commands["3_persona"](args) return end elseif cmd == "reset" and args[1] == "time" then table.remove(args, 1) if Commands["reset_time"] then Commands["reset_time"](args) return end elseif cmd == "view" and args[1] == "info" and args[2] == "server" then table.remove(args, 1); table.remove(args, 1) if Commands["view_info_server"] then Commands["view_info_server"](args) return end elseif cmd == "settings" and args[1] == "panel" then table.remove(args, 1) if Commands["settings_panel"] then Commands["settings_panel"](args) return end elseif cmd == "exit" and args[1] == "command" then table.remove(args, 1) if Commands["exit_command"] then Commands["exit_command"](args) return end elseif cmd == "new" and (args[1] == "command" or args[1] == "commad") then table.remove(args, 1) openNewCommandPanel() return elseif cmd == "anti" and args[1] == "afk" then table.remove(args, 1) if Commands["anti_afk"] then Commands["anti_afk"]() return end end if Commands[cmd] then pcall(function() Commands[cmd](args) end) end end -- Barra Inferior CmdBar.FocusLost:Connect(function(enterPressed) if enterPressed then local text = CmdBar.Text CmdBar.Text = "" toggleCmdBar() executeCommandString(text) end end) -- Barra Superior (CmdBar2 - Oculta por defecto, se oculta sola tras usarla) TopCmdBar.FocusLost:Connect(function(enterPressed) if enterPressed then local text = TopCmdBar.Text TopCmdBar.Text = "" TopCmdBar:TweenPosition(UDim2.new(0.5, -200, -0.1, 0), "In", "Quad", 0.2, true) TopCmdBar:ReleaseFocus() executeCommandString(text) end end) -- Chat del juego LocalPlayer.Chatted:Connect(function(msg) if string.sub(msg, 1, 1) == ";" then executeCommandString(msg) end end) -- Atajos de teclado UserInputService.InputBegan:Connect(function(input, gameProcessed) if gameProcessed then return end local keyName = input.KeyCode.Name if Keybinds[keyName] then executeCommandString(Keybinds[keyName]) end end)