
KeylessUniversal

--// PANEL DE PRUEBAS - ROBLOX STUDIO
--// Coloca este LocalScript en:
--// StarterPlayer > StarterPlayerScripts
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local player = Players.LocalPlayer
-- CONFIGURACIÓN
local NORMAL_SPEED = 30
local FAST_SPEED = 100
local noclip = false
local speedEnabled = false
--// GUI
local gui = Instance.new("ScreenGui")
gui.Name = "TestPanel"
gui.ResetOnSpawn = false
gui.Parent = player:WaitForChild("PlayerGui")
-- Botón para volver a abrir
local openButton = Instance.new("TextButton")
openButton.Name = "OpenButton"
openButton.Size = UDim2.new(0, 110, 0, 40)
openButton.Position = UDim2.new(0, 20, 1, -60)
openButton.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
openButton.TextColor3 = Color3.new(1, 1, 1)
openButton.Text = "ABRIR GUI"
openButton.TextSize = 16
openButton.Visible = false
openButton.Parent = gui
local cornerOpen = Instance.new("UICorner")
cornerOpen.CornerRadius = UDim.new(0, 8)
cornerOpen.Parent = openButton
-- Panel principal
local frame = Instance.new("Frame")
frame.Name = "Main"
frame.Size = UDim2.new(0, 260, 0, 260)
frame.Position = UDim2.new(0.5, -130, 0.5, -130)
frame.BackgroundColor3 = Color3.fromRGB(25, 25, 30)
frame.Parent = gui
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 12)
corner.Parent = frame
-- Título
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, -45, 0, 45)
title.Position = UDim2.new(0, 10, 0, 0)
title.BackgroundTransparency = 1
title.Text = "⚙ PANEL DE PRUEBAS"
title.TextColor3 = Color3.new(1, 1, 1)
title.TextSize = 18
title.Font = Enum.Font.GothamBold
title.TextXAlignment = Enum.TextXAlignment.Left
title.Parent = frame
-- Botón X
local close = Instance.new("TextButton")
close.Size = UDim2.new(0, 35, 0, 35)
close.Position = UDim2.new(1, -40, 0, 5)
close.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
close.Text = "X"
close.TextColor3 = Color3.new(1, 1, 1)
close.TextSize = 18
close.Font = Enum.Font.GothamBold
close.Parent = frame
local closeCorner = Instance.new("UICorner")
closeCorner.CornerRadius = UDim.new(0, 8)
closeCorner.Parent = close
-- Función para crear botones
local function createButton(text, y)
local button = Instance.new("TextButton")
button.Size = UDim2.new(1, -30, 0, 45)
button.Position = UDim2.new(0, 15, 0, y)
button.BackgroundColor3 = Color3.fromRGB(45, 45, 55)
button.TextColor3 = Color3.new(1, 1, 1)
button.Text = text
button.TextSize = 16
button.Font = Enum.Font.Gotham
button.Parent = frame
local c = Instance.new("UICorner")
c.CornerRadius = UDim.new(0, 8)
c.Parent = button
return button
end
local speedButton = createButton("⚡ Velocidad: OFF", 55)
local noclipButton = createButton("👻 Noclip: OFF", 110)
local balanceButton = createButton("💰 Saldo infinito", 165)
--// VELOCIDAD
speedButton.MouseButton1Click:Connect(function()
speedEnabled = not speedEnabled
local character = player.Character
local humanoid = character and character:FindFirstChildOfClass("Humanoid")
if humanoid then
if speedEnabled then
humanoid.WalkSpeed = FAST_SPEED
speedButton.Text = "⚡ Velocidad: ON"
speedButton.BackgroundColor3 = Color3.fromRGB(40, 150, 70)
else
humanoid.WalkSpeed = NORMAL_SPEED
speedButton.Text = "⚡ Velocidad: OFF"
speedButton.BackgroundColor3 = Color3.fromRGB(45, 45, 55)
end
end
end)
--// NOCLIP
RunService.Stepped:Connect(function()
if not noclip then
return
end
local character = player.Character
if not character then
return
end
for _, part in ipairs(character:GetDescendants()) do
if part:IsA("BasePart") then
part.CanCollide = false
end
end
end)
noclipButton.MouseButton1Click:Connect(function()
noclip = not noclip
if noclip then
noclipButton.Text = "👻 Noclip: ON"
noclipButton.BackgroundColor3 = Color3.fromRGB(40, 150, 70)
else
noclipButton.Text = "👻 Noclip: OFF"
noclipButton.BackgroundColor3 = Color3.fromRGB(45, 45, 55)
local character = player.Character
if character then
for _, part in ipairs(character:GetDescendants()) do
if part:IsA("BasePart") then
part.CanCollide = true
end
end
end
end
end)
--// SALDO INFINITO
-- Esto busca un leaderstats llamado "Saldo" o "Balance".
-- Para un sistema real, el cambio debe hacerse en un Script del servidor.
balanceButton.MouseButton1Click:Connect(function()
local leaderstats = player:FindFirstChild("leaderstats")
if not leaderstats then
balanceButton.Text = "❌ No existe leaderstats"
task.wait(2)
balanceButton.Text = "💰 Saldo infinito"
return
end
local saldo = leaderstats:FindFirstChild("Saldo")
or leaderstats:FindFirstChild("Balance")
or leaderstats:FindFirstChild("Money")
or leaderstats:FindFirstChild("Coins")
if saldo and (saldo:IsA("IntValue") or saldo:IsA("NumberValue")) then
saldo.Value = math.huge
balanceButton.Text = "💰 Saldo: INFINITO"
balanceButton.BackgroundColor3 = Color3.fromRGB(40, 150, 70)
else
balanceButton.Text = "❌ No encontré el saldo"
task.wait(2)
balanceButton.Text = "💰 Saldo infinito"
end
end)
--// CERRAR GUI
close.MouseButton1Click:Connect(function()
frame.Visible = false
openButton.Visible = true
end)
--// ABRIR GUI
openButton.MouseButton1Click:Connect(function()
frame.Visible = true
openButton.Visible = false
end)
--// HACER EL GUI ARRASTRABLE
local dragging = false
local dragStart
local startPosition
title.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1
or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
dragStart = input.Position
startPosition = frame.Position
end
end)
title.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1
or input.UserInputType == Enum.UserInputType.Touch then
dragging = false
end
end)
title.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement
or input.UserInputType == Enum.UserInputType.Touch then
local connection
connection = input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
dragging = false
connection:Disconnect()
end
end)
end
end)
game:GetService("UserInputService").InputChanged:Connect(function(input)
if not dragging then
return
end
if input.UserInputType == Enum.UserInputType.MouseMovement
or input.UserInputType == Enum.UserInputType.Touch then
local delta = input.Position - dragStart
frame.Position = UDim2.new(
startPosition.X.Scale,
startPosition.X.Offset + delta.X,
startPosition.Y.Scale,
startPosition.Y.Offset + delta.Y
)
end
end)
--// REAPLICAR VELOCIDAD DESPUÉS DE MORIR
player.CharacterAdded:Connect(function(character)
local humanoid = character:WaitForChild("Humanoid")
if speedEnabled then
humanoid.WalkSpeed = FAST_SPEED
else
humanoid.WalkSpeed = NORMAL_SPEED
end
end)No comments yet for this script.



