
KeylessUniversal

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local player = Players.LocalPlayer
local PlayerGui = player:WaitForChild("PlayerGui")
local function getCharacter()
return player.Character or player.CharacterAdded:Wait()
end
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "LockPositionGui"
ScreenGui.IgnoreGuiInset = true
ScreenGui.ResetOnSpawn = false
ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
ScreenGui.Parent = PlayerGui
local CircleBG = Instance.new("ImageLabel")
CircleBG.Size = UDim2.new(0,64,0,64)
CircleBG.AnchorPoint = Vector2.new(1,0)
CircleBG.Position = UDim2.new(1,-20,0,20)
CircleBG.BackgroundTransparency = 1
CircleBG.Image = "rbxassetid://16803802267"
CircleBG.ScaleType = Enum.ScaleType.Stretch
CircleBG.Parent = ScreenGui
local UICorner = Instance.new("UICorner")
UICorner.CornerRadius = UDim.new(1,0)
UICorner.Parent = CircleBG
local LockButton = Instance.new("ImageButton")
LockButton.Size = UDim2.new(0.6,0,0.6,0)
LockButton.Position = UDim2.new(0.2,0,0.2,0)
LockButton.BackgroundTransparency = 1
LockButton.Image = "rbxassetid://130543358351438"
LockButton.Parent = CircleBG
local locked = false
local savedCFrame
local connection
local originalWalkSpeed
local originalJumpPower
local function startLock(char)
if not char then return end
local hrp = char:FindFirstChild("HumanoidRootPart")
local humanoid = char:FindFirstChild("Humanoid")
if not hrp or not humanoid then return end
originalWalkSpeed = humanoid.WalkSpeed
originalJumpPower = humanoid.JumpPower
humanoid.WalkSpeed = 0
humanoid.JumpPower = 0
humanoid.AutoRotate = false
savedCFrame = hrp.CFrame
hrp.AssemblyLinearVelocity = Vector3.zero
hrp.AssemblyAngularVelocity = Vector3.zero
if connection then
connection:Disconnect()
connection = nil
end
connection = RunService.Heartbeat:Connect(function()
if locked and hrp and hrp.Parent then
pcall(function()
hrp.CFrame = savedCFrame
hrp.AssemblyLinearVelocity = Vector3.zero
hrp.AssemblyAngularVelocity = Vector3.zero
end)
end
end)
end
local function stopLock(char)
if not char then return end
local hrp = char:FindFirstChild("HumanoidRootPart")
local humanoid = char:FindFirstChild("Humanoid")
if not hrp or not humanoid then return end
if connection then
connection:Disconnect()
connection = nil
end
humanoid.WalkSpeed = originalWalkSpeed or 16
humanoid.JumpPower = originalJumpPower or 50
humanoid.AutoRotate = true
hrp.AssemblyLinearVelocity = Vector3.zero
hrp.AssemblyAngularVelocity = Vector3.zero
savedCFrame = nil
end
LockButton.MouseButton1Click:Connect(function()
locked = not locked
local char = getCharacter()
if locked then
LockButton.Image = "rbxassetid://80521861325317"
startLock(char)
else
LockButton.Image = "rbxassetid://130543358351438"
stopLock(char)
end
end)
player.CharacterAdded:Connect(function(char)
char:WaitForChild("HumanoidRootPart")
char:WaitForChild("Humanoid")
task.wait(0.1)
if locked then
startLock(char)
end
end)
player.CharacterRemoving:Connect(function()
if connection then
connection:Disconnect()
connection = nil
end
end)
UserInputService.InputBegan:Connect(function(input, gameProcessed)
if gameProcessed then return end
if input.KeyCode == Enum.KeyCode.L then
locked = not locked
local char = getCharacter()
if locked then
LockButton.Image = "rbxassetid://80521861325317"
startLock(char)
else
LockButton.Image = "rbxassetid://130543358351438"
stopLock(char)
end
end
end)No comments yet for this script.

![[KEYLESS] Moondiety Script | 17+ supported Games](https://scriptblox.com/images/sb/0-1753093706828.png)

