
KeylessUniversal

local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local UserInputService = game:GetService("UserInputService")
local Workspace = game:GetService("Workspace")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local player = Players.LocalPlayer
-- GUI Creation
local gui = Instance.new("ScreenGui")
gui.Name = "RainbowMovableGui"
gui.ResetOnSpawn = false
gui.Parent = player:WaitForChild("PlayerGui")
local frame = Instance.new("Frame")
frame.Size = UDim2.new(0, 300, 0, 250)
frame.Position = UDim2.new(0.5, -150, 0.5, -125)
frame.BackgroundColor3 = Color3.fromRGB(255, 0, 0)
frame.BorderSizePixel = 2
frame.Active = true
frame.Draggable = true
frame.Parent = gui
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, 0, 0, 30)
title.BackgroundTransparency = 1
title.Text = "Rainbow GUI"
title.Font = Enum.Font.GothamBold
title.TextSize = 22
title.TextColor3 = Color3.new(1,1,1)
title.Parent = frame
local buttonNames = {"Fly", "Fling", "Kill", "RGB Map", "TP Forwards", "TP Random"}
local buttons = {}
for i = 1, #buttonNames do
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(0.9, 0, 0, 30)
btn.Position = UDim2.new(0.05, 0, 0, 40 + (i-1)*35)
btn.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
btn.TextColor3 = Color3.new(1,1,1)
btn.Font = Enum.Font.Gotham
btn.TextSize = 18
btn.Text = buttonNames[i]
btn.Parent = frame
buttons[buttonNames[i]] = btn
end
-- Rainbow background loop
spawn(function()
local t = 0
while true do
t = t + 0.01
local r = math.sin(t)*0.5+0.5
local g = math.sin(t+2)*0.5+0.5
local b = math.sin(t+4)*0.5+0.5
frame.BackgroundColor3 = Color3.new(r, g, b)
task.wait(0.03)
end
end)
-- Dragging (for compatibility with all devices)
do
local dragging, dragInput, dragStart, startPos
local function update(input)
local delta = input.Position - dragStart
frame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
end
frame.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
dragStart = input.Position
startPos = frame.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
dragging = false
end
end)
end
end)
frame.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
dragInput = input
end
end)
UserInputService.InputChanged:Connect(function(input)
if input == dragInput and dragging then
update(input)
end
end)
end
-- Button Functions
-- Fly
local flying = false
local flyConn
local function flyFunc()
flying = not flying
if flying then
local char = player.Character
if not char or not char:FindFirstChild("HumanoidRootPart") then return end
local hrp = char.HumanoidRootPart
local bv = Instance.new("BodyVelocity")
bv.MaxForce = Vector3.new(1e5,1e5,1e5)
bv.Velocity = Vector3.new(0,0,0)
bv.Parent = hrp
flyConn = UserInputService.InputBegan:Connect(function(input, gp)
if gp then return end
if input.KeyCode == Enum.KeyCode.W then
bv.Velocity = hrp.CFrame.LookVector * 60
elseif input.KeyCode == Enum.KeyCode.S then
bv.Velocity = -hrp.CFrame.LookVector * 60
elseif input.KeyCode == Enum.KeyCode.A then
bv.Velocity = -hrp.CFrame.RightVector * 60
elseif input.KeyCode == Enum.KeyCode.D then
bv.Velocity = hrp.CFrame.RightVector * 60
elseif input.KeyCode == Enum.KeyCode.Space then
bv.Velocity = Vector3.new(0,60,0)
end
end)
UserInputService.InputEnded:Connect(function(input, gp)
if gp then return end
bv.Velocity = Vector3.new(0,0,0)
end)
buttons["Fly"].Text = "Unfly"
else
local char = player.Character
if char and char:FindFirstChild("HumanoidRootPart") then
for _, v in char.HumanoidRootPart:GetChildren() do
if v:IsA("BodyVelocity") then
v:Destroy()
end
end
end
if flyConn then
flyConn:Disconnect()
flyConn = nil
end
buttons["Fly"].Text = "Fly"
end
end
buttons["Fly"].MouseButton1Click:Connect(flyFunc)
-- Fling
buttons["Fling"].MouseButton1Click:Connect(function()
local char = player.Character
if not char or not char:FindFirstChild("HumanoidRootPart") then return end
local hrp = char.HumanoidRootPart
local bv = Instance.new("BodyAngularVelocity")
bv.MaxTorque = Vector3.new(1e9,1e9,1e9)
bv.AngularVelocity = Vector3.new(0, 100, 0)
bv.Parent = hrp
task.wait(0.5)
bv:Destroy()
end)
-- Kill
buttons["Kill"].MouseButton1Click:Connect(function()
local char = player.Character
if char and char:FindFirstChild("Humanoid") then
char.Humanoid.Health = 0
end
end)
-- RGB Map
buttons["RGB Map"].MouseButton1Click:Connect(function()
local baseplate = Workspace:FindFirstChild("Baseplate")
if not baseplate then return end
spawn(function()
for i = 1, 100 do
local t = tick() + i
local r = math.sin(t)*0.5+0.5
local g = math.sin(t+2)*0.5+0.5
local b = math.sin(t+4)*0.5+0.5
baseplate.Color = Color3.new(r, g, b)
task.wait(0.05)
end
end)
end)
-- TP Forwards
buttons["TP Forwards"].MouseButton1Click:Connect(function()
local char = player.Character
if not char or not char:FindFirstChild("HumanoidRootPart") then return end
local hrp = char.HumanoidRootPart
local newCFrame = hrp.CFrame + hrp.CFrame.LookVector * 20
char:PivotTo(newCFrame)
end)
-- TP Random
buttons["TP Random"].MouseButton1Click:Connect(function()
local char = player.Character
if not char or not char:FindFirstChild("HumanoidRootPart") then return end
local hrp = char.HumanoidRootPart
local x = math.random(-100,100)
local z = math.random(-100,100)
local y = Workspace:FindFirstChild("Baseplate") and Workspace.Baseplate.Position.Y + 10 or hrp.Position.Y
local newCFrame = CFrame.new(x, y, z)
char:PivotTo(newCFrame)
end)



cola gui:0 (i promoted it to my server with 700 members btw)
bad part i put it in script sharing