
KeylessUniversal

local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local player = Players.LocalPlayer
local guiParent = player:WaitForChild("PlayerGui")
getgenv().guiPositions = getgenv().guiPositions or {}
getgenv().guiLocks = getgenv().guiLocks or {}
local lagDuration = 0.12
local lagIntensity = 100000
if guiParent:FindFirstChild("lagGui") then
return
end
local function addScale(gui)
local s = Instance.new("UIScale")
local cam = workspace.CurrentCamera
local function update()
s.Scale = math.clamp(cam.ViewportSize.Y / 720, 0.85, 1.35)
end
update()
cam:GetPropertyChangedSignal("ViewportSize"):Connect(update)
s.Parent = gui
end
local function holdSystem(button, callback, name)
local holdTime = 5
local locked = getgenv().guiLocks[name] or false
local holding = false
local holdStart = 0
local holdTriggered = false
button.InputBegan:Connect(function(input)
if input.UserInputType ~= Enum.UserInputType.MouseButton1 and input.UserInputType ~= Enum.UserInputType.Touch then return end
holding = true
holdStart = tick()
holdTriggered = false
callback()
end)
button.InputEnded:Connect(function(input)
if input.UserInputType ~= Enum.UserInputType.MouseButton1 and input.UserInputType ~= Enum.UserInputType.Touch then return end
holding = false
end)
RunService.RenderStepped:Connect(function()
if holding and not holdTriggered then
if tick() - holdStart >= holdTime then
holdTriggered = true
locked = not locked
getgenv().guiLocks[name] = locked
end
end
end)
return function()
return locked
end
end
local function drag(button, isLocked, name)
local dragging = false
local dragInput
local dragStart
local startPos
if getgenv().guiPositions[name] then
button.Position = getgenv().guiPositions[name]
end
button.InputBegan:Connect(function(input)
if isLocked and isLocked() then return end
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
dragInput = input
dragStart = input.Position
startPos = button.Position
end
end)
button.InputChanged:Connect(function(input)
if input == dragInput and dragging then
local delta = input.Position - dragStart
button.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
getgenv().guiPositions[name] = button.Position
end
end)
UserInputService.InputEnded:Connect(function(input)
if input == dragInput then
dragging = false
dragInput = nil
end
end)
end
local lagging = false
local lagConnection
local gui = Instance.new("ScreenGui")
gui.Name = "lagGui"
gui.ResetOnSpawn = false
gui.Parent = guiParent
addScale(gui)
local button = Instance.new("ImageButton")
button.Parent = gui
button.BackgroundTransparency = 1
button.Size = UDim2.new(0, 80, 0, 80)
button.Position = UDim2.new(0, 120, 0, 90)
button.Image = "rbxassetid://16803802267"
local signal = Instance.new("ImageLabel")
signal.Parent = button
signal.BackgroundTransparency = 1
signal.Size = UDim2.new(0.55, 0, 0.55, 0)
signal.Position = UDim2.new(0.225, 0, 0.225, 0)
signal.Image = "rbxassetid://120149956647138"
signal.ImageTransparency = 0.6
local lagLocked = holdSystem(button, function()
if lagging then return end
lagging = true
signal.Image = "rbxassetid://125935874994032"
local start = os.clock()
lagConnection = RunService.RenderStepped:Connect(function()
if os.clock() - start >= lagDuration then
if lagConnection then
lagConnection:Disconnect()
lagConnection = nil
end
lagging = false
signal.Image = "rbxassetid://120149956647138"
return
end
for i = 1, lagIntensity do
local x = math.random() * math.random() * math.random()
for j = 1, 10 do
x = x ^ math.random()
x = math.sin(x) * math.cos(x) * math.tan(x)
end
end
end)
end, "lag")
drag(button, lagLocked, "lag")
![[KEYLESS] Moondiety Script | 17+ supported Games](https://scriptblox.com/images/sb/0-1753093706828.png)


Nggak enak MBG nya
In Roblox studio