
KeylessUniversal

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")
local Debris = game:GetService("Debris")
local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
local hrp = character:WaitForChild("HumanoidRootPart")
player.CharacterAdded:Connect(function(char)
character = char
humanoid = char:WaitForChild("Humanoid")
hrp = char:WaitForChild("HumanoidRootPart")
end)
-- SCREEN GUI
local gui = Instance.new("ScreenGui")
gui.Name = "purpgui"
gui.ResetOnSpawn = false
gui.Parent = player:WaitForChild("PlayerGui")
-- THANK YOU LABEL
local thankLabel = Instance.new("TextLabel", gui)
thankLabel.Size = UDim2.new(0,400,0,50)
thankLabel.Position = UDim2.new(0.5,-200,0.3,0)
thankLabel.BackgroundTransparency = 1
thankLabel.TextScaled = true
thankLabel.TextWrapped = true
thankLabel.Font = Enum.Font.GothamBold
thankLabel.Text = "Thank you for using my GUI! :D"
-- Rainbow text every 0.5 sec
local colors = {
Color3.fromRGB(255,0,0),
Color3.fromRGB(255,127,0),
Color3.fromRGB(255,255,0),
Color3.fromRGB(0,255,0),
Color3.fromRGB(0,0,255),
Color3.fromRGB(75,0,130),
Color3.fromRGB(148,0,211)
}
task.spawn(function()
local idx = 1
while thankLabel.Parent do
thankLabel.TextColor3 = colors[idx]
idx = idx + 1
if idx > #colors then idx = 1 end
task.wait(0.5)
end
end)
task.delay(3,function() thankLabel:Destroy() end)
-- MAIN FRAME
local frame = Instance.new("Frame", gui)
frame.Size = UDim2.new(0, 260,0,510)
frame.Position = UDim2.new(0,20,0.35,0)
frame.BackgroundColor3 = Color3.fromRGB(90,40,140)
frame.Active = true
frame.Draggable = true
frame.BorderSizePixel = 0
Instance.new("UICorner", frame)
local grad = Instance.new("UIGradient", frame)
grad.Color = ColorSequence.new{
ColorSequenceKeypoint.new(0, Color3.fromRGB(130,70,220)),
ColorSequenceKeypoint.new(1, Color3.fromRGB(60,20,120))
}
local stroke = Instance.new("UIStroke", frame)
stroke.Color = Color3.fromRGB(200,150,255)
stroke.Thickness = 2
-- TITLE
local title = Instance.new("TextLabel", frame)
title.Size = UDim2.new(1,-40,0,40)
title.Position = UDim2.new(0,10,0,0)
title.Text = "purpgui"
title.BackgroundTransparency = 1
title.TextColor3 = Color3.fromRGB(235,200,255)
title.Font = Enum.Font.GothamBlack
title.TextSize = 22
-- MINIMIZE BUTTON
local mini = Instance.new("TextButton", frame)
mini.Size = UDim2.new(0,30,0,30)
mini.Position = UDim2.new(1,-35,0,5)
mini.Text = "-"
mini.BackgroundColor3 = Color3.fromRGB(150,90,220)
mini.TextColor3 = Color3.new(1,1,1)
mini.Font = Enum.Font.GothamBold
mini.TextSize = 20
Instance.new("UICorner", mini)
local minimized = false
local guiElements = {}
-- HELPER: SLIDER CREATOR
local function makeSlider(text,y,maxValue,callback)
local label = Instance.new("TextLabel", frame)
label.Position = UDim2.new(0,15,0,y)
label.Size = UDim2.new(1,-30,0,20)
label.BackgroundTransparency = 1
label.TextColor3 = Color3.fromRGB(240,220,255)
label.Font = Enum.Font.GothamBold
label.TextSize = 14
label.Text = text..": 0"
local bg = Instance.new("Frame", frame)
bg.Position = UDim2.new(0,15,0,y+22)
bg.Size = UDim2.new(0,230,0,10)
bg.BackgroundColor3 = Color3.fromRGB(80,40,130)
bg.BorderSizePixel = 0
Instance.new("UICorner", bg)
local fill = Instance.new("Frame", bg)
fill.Size = UDim2.new(0,0,1,0)
fill.BackgroundColor3 = Color3.fromRGB(200,150,255)
fill.BorderSizePixel = 0
Instance.new("UICorner", fill)
local dragging = false
bg.InputBegan:Connect(function(i)
if i.UserInputType == Enum.UserInputType.MouseButton1 then dragging=true end
end)
UserInputService.InputEnded:Connect(function(i)
if i.UserInputType == Enum.UserInputType.MouseButton1 then dragging=false end
end)
RunService.RenderStepped:Connect(function()
if dragging then
local x = math.clamp((UserInputService:GetMouseLocation().X-bg.AbsolutePosition.X)/bg.AbsoluteSize.X,0,1)
fill.Size = UDim2.new(x,0,1,0)
local value = math.floor(x*maxValue)
label.Text = text..": "..value
callback(value)
end
end)
table.insert(guiElements,label)
table.insert(guiElements,bg)
end
-- SLIDERS
makeSlider("WalkSpeed",50,1000,function(v) if humanoid then humanoid.WalkSpeed=v end end)
makeSlider("JumpPower",120,1000,function(v) if humanoid then humanoid.JumpPower=v end end)
local flySpeed = 60
makeSlider("Flight Speed Adjuster",280,300,function(v) flySpeed=v end)
-- BUTTON CREATOR
local function makeButton(text,y)
local btn = Instance.new("TextButton", frame)
btn.Position = UDim2.new(0,15,0,y)
btn.Size = UDim2.new(0,230,0,36)
btn.Text = text
btn.BackgroundColor3 = Color3.fromRGB(140,80,220)
btn.TextColor3 = Color3.new(1,1,1)
btn.Font = Enum.Font.GothamBold
btn.TextSize = 14
Instance.new("UICorner", btn)
table.insert(guiElements,btn)
return btn
end
-- BUTTONS
local noclipBtn = makeButton("Noclip: OFF",190)
local flyBtn = makeButton("Fly: OFF",235)
local ragdollBtn = makeButton("Ragdoll + Respawn",325)
local destroyBtn = makeButton("GUI Self Destruct",370)
local tpToolBtn = makeButton("Give Teleport Tool",415)
local bringBtn = makeButton("Give Bring All Tool",460)
-- NOCOLIP
local noclip=false
RunService.Stepped:Connect(function()
if noclip and character then
for _,v in pairs(character:GetDescendants()) do
if v:IsA("BasePart") then v.CanCollide=false end
end
end
end)
noclipBtn.MouseButton1Click:Connect(function()
noclip = not noclip
noclipBtn.Text = noclip and "Noclip: ON" or "Noclip: OFF"
end)
-- FLY
local flying=false
local bv,bgFly
local control={F=0,B=0,L=0,R=0,U=0,D=0}
local function startFly()
bv = Instance.new("BodyVelocity",hrp)
bgFly = Instance.new("BodyGyro",hrp)
bv.MaxForce=Vector3.new(9e9,9e9,9e9)
bgFly.MaxTorque=Vector3.new(9e9,9e9,9e9)
RunService.RenderStepped:Connect(function()
if flying then
local cam = workspace.CurrentCamera
local move = Vector3.new(control.R-control.L,control.U-control.D,control.F-control.B)
bv.Velocity = cam.CFrame:VectorToWorldSpace(move*flySpeed)
bgFly.CFrame = cam.CFrame
end
end)
end
flyBtn.MouseButton1Click:Connect(function()
flying = not flying
flyBtn.Text = flying and "Fly: ON" or "Fly: OFF"
if humanoid then humanoid.PlatformStand=flying end
if flying then startFly() else if bv then bv:Destroy() end if bgFly then bgFly:Destroy() end
end)
UserInputService.InputBegan:Connect(function(i,g)
if g then return end
if i.KeyCode==Enum.KeyCode.W then control.F=1 end
if i.KeyCode==Enum.KeyCode.S then control.B=1 end
if i.KeyCode==Enum.KeyCode.A then control.L=1 end
if i.KeyCode==Enum.KeyCode.D then control.R=1 end
if i.KeyCode==Enum.KeyCode.Space then control.U=1 end
if i.KeyCode==Enum.KeyCode.LeftControl then control.D=1 end
end)
UserInputService.InputEnded:Connect(function(i)
if i.KeyCode==Enum.KeyCode.W then control.F=0 end
if i.KeyCode==Enum.KeyCode.S then control.B=0 end
if i.KeyCode==Enum.KeyCode.A then control.L=0 end
if i.KeyCode==Enum.KeyCode.D then control.R=0 end
if i.KeyCode==Enum.KeyCode.Space then control.U=0 end
if i.KeyCode==Enum.KeyCode.LeftControl then control.D=0 end
end)
-- RAGDOLL + RESPAWN
ragdollBtn.MouseButton1Click:Connect(function()
if humanoid then
humanoid:ChangeState(Enum.HumanoidStateType.Physics)
humanoid.PlatformStand=true
task.delay(3,function() if humanoid then humanoid.Health=0 end end)
end
end)
-- SELF DESTRUCT
destroyBtn.MouseButton1Click:Connect(function()
gui:Destroy()
end)
-- TELEPORT TOOL
tpToolBtn.MouseButton1Click:Connect(function()
if player.Backpack:FindFirstChild("purps not so stable click to teleporter") then return end
local tool=Instance.new("Tool")
tool.Name="purps not so stable click to teleporter"
tool.RequiresHandle=false
tool.CanBeDropped=true
tool.Parent=player.Backpack
tool.Activated:Connect(function()
local mouse = player:GetMouse()
if mouse and mouse.Hit then
hrp.CFrame=CFrame.new(mouse.Hit.Position+Vector3.new(0,3,0))
end
end)
end)
-- BRING ALL TOOL WITH PARTICLES
bringBtn.MouseButton1Click:Connect(function()
if player.Backpack:FindFirstChild("Bring All") then return end
local tool=Instance.new("Tool")
tool.Name="Bring All"
tool.RequiresHandle=false
tool.CanBeDropped=true
tool.Parent=player.Backpack
tool.Activated:Connect(function()
for _,plr in pairs(Players:GetPlayers()) do
if plr~=player and plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") then
local oldPos = plr.Character.HumanoidRootPart.Position
local part = Instance.new("Part")
part.Size=Vector3.new(1,1,1)
part.Anchored=true
part.CanCollide=false
part.Transparency=1
part.Position=oldPos
part.Parent=workspace
local emitter = Instance.new("ParticleEmitter")
emitter.Texture="rbxassetid://244221613"
emitter.Lifetime=NumberRange.new(0.5)
emitter.Rate=100
emitter.Speed=NumberRange.new(5)
emitter.Parent=part
Debris:AddItem(part,1)
plr.Character.HumanoidRootPart.CFrame = hrp.CFrame + Vector3.new(0,0,3)
end
end
end)
end)
-- MINIMIZE/MAXIMIZE
mini.MouseButton1Click:Connect(function()
minimized = not minimized
mini.Text = minimized and "+" or "-"
for _,v in pairs(guiElements) do v.Visible=not minimized end
local targetSize = minimized and UDim2.new(0,260,0,45) or UDim2.new(0,260,0,510)
local tween = TweenService:Create(frame,TweenInfo.new(0.3),{Size=targetSize})
tween:Play()
end)
-- GUI TOGGLE WITH M KEY
local visible=true
UserInputService.InputBegan:Connect(function(i,g)
if g then return end
if i.KeyCode==Enum.KeyCode.M then
visible = not visible
gui.Enabled = visible
end
end)
![[KEYLESS] Moondiety Script | 17+ supported Games](https://scriptblox.com/images/sb/0-1753093706828.png)


* so AI
ts aint ai cro i js dont know how to script that well vro </3 ts is wip btw