Universal Script AGS
Key RequiredUniversal

Universal Script AGS

Universal Scriptlyngjulyngju 876 views 62 executesUpdated Mar 1, 2026
5.0/ 5(1 votes)
10100% Positive
Lua Script•393 lines (15808 chars)
--// Ultimate 121+ Commands Square Cheat GUI (LocalScript) - For anyone (Mobile-Friendly)
-- Smaller Square: 600x600 total, 50x50 buttons | March 2026 Edition
-- Mobile: Smaller text, touch-drag works in Roblox, auto-scales
-- Categories: Speeds (30), Jumps (20), Fly Speeds (15), Flings (10), Toggles (20), Teleports (10), Visuals (10), Misc (6+)
-- Place in StarterPlayerScripts or Backpack

local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local Lighting = game:GetService("Lighting")

local LocalPlayer = Players.LocalPlayer
local Mouse = LocalPlayer:GetMouse()
local Camera = workspace.CurrentCamera

-- State
local toggles = {
    noclip = false, god = false, invisible = false, fullbright = false,
    infjump = false, nofall = false, esp = false
}
local connections = {}
local flyEnabled = false
local flySpeed = 50
local flyBG, flyBV
local espHighlights = {}
local humanoid, rootPart

-- Cleanup Function
local function cleanup()
    for _, conn in pairs(connections) do
        if conn then conn:Disconnect() end
    end
    connections = {}
    toggles = {noclip = false, god = false, invisible = false, fullbright = false, infjump = false, nofall = false, esp = false}
    flyEnabled = false
    if flyBG then flyBG:Destroy() end
    if flyBV then flyBV:Destroy() end
    flyBG, flyBV = nil, nil
    for _, hl in pairs(espHighlights) do hl:Destroy() end
    espHighlights = {}
    -- Reset
    if humanoid then
        humanoid.WalkSpeed = 16
        humanoid.JumpPower = 50
        humanoid.PlatformStand = false
    end
end

LocalPlayer.CharacterAdded:Connect(function()
    task.wait(1)
    humanoid = LocalPlayer.Character:WaitForChild("Humanoid")
    rootPart = LocalPlayer.Character:WaitForChild("HumanoidRootPart")
    cleanup()  -- Reset toggles on respawn
end)

if LocalPlayer.Character then
    humanoid = LocalPlayer.Character:FindFirstChildOfClass("Humanoid")
    rootPart = LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
end

-- Core Functions
local function setWalkSpeed(speed)
    if humanoid then humanoid.WalkSpeed = speed end
end

local function setJumpPower(jp)
    if humanoid then humanoid.JumpPower = jp end
end

local function toggleNoclip()
    toggles.noclip = not toggles.noclip
    if toggles.noclip then
        connections.noclip = RunService.Stepped:Connect(function()
            if LocalPlayer.Character then
                for _, part in LocalPlayer.Character:GetDescendants() do
                    if part:IsA("BasePart") then part.CanCollide = false end
                end
            end
        end)
    else
        if connections.noclip then connections.noclip:Disconnect() end
    end
end

local function toggleGod()
    toggles.god = not toggles.god
    if humanoid and toggles.god then
        humanoid.MaxHealth = math.huge
        humanoid.Health = math.huge
        connections.god = humanoid:GetPropertyChangedSignal("Health"):Connect(function()
            humanoid.Health = math.huge
        end)
    end
end

local function toggleInvisible()
    toggles.invisible = not toggles.invisible
    if LocalPlayer.Character then
        for _, part in LocalPlayer.Character:GetDescendants() do
            if part:IsA("BasePart") or part:IsA("MeshPart") then
                part.LocalTransparencyModifier = toggles.invisible and 1 or 0
            end
        end
    end
end

local function toggleFullbright()
    toggles.fullbright = not toggles.fullbright
    if toggles.fullbright then
        Lighting.Brightness = 2
        Lighting.ClockTime = 14
        Lighting.FogEnd = 100000
        Lighting.GlobalShadows = false
    else
        Lighting.Brightness = 1
        Lighting.ClockTime = 14
        Lighting.FogEnd = 100000
        Lighting.GlobalShadows = true
    end
end

local function toggleInfJump()
    toggles.infjump = not toggles.infjump
    if toggles.infjump and humanoid then
        connections.infjump = UserInputService.JumpRequest:Connect(function()
            humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
        end)
    end
end

local function toggleNoFall()
    toggles.nofall = not toggles.nofall
    if toggles.nofall then
        connections.nofall = RunService.Stepped:Connect(function()
            if rootPart and rootPart.AssemblyLinearVelocity.Y < -50 then
                rootPart.AssemblyLinearVelocity = Vector3.new(rootPart.AssemblyLinearVelocity.X, 0, rootPart.AssemblyLinearVelocity.Z)
            end
        end)
    end
end

local function toggleESP()
    toggles.esp = not toggles.esp
    if toggles.esp then
        for _, plr in Players:GetPlayers() do
            if plr ~= LocalPlayer and plr.Character then
                local hl = Instance.new("Highlight")
                hl.Adornee = plr.Character
                hl.FillColor = Color3.new(1,0,0)
                hl.OutlineColor = Color3.new(1,1,0)
                hl.FillTransparency = 0.5
                hl.Parent = plr.Character
                espHighlights[plr] = hl
            end
        end
    else
        for _, hl in pairs(espHighlights) do hl:Destroy() end
        espHighlights = {}
    end
end

local function flingSelf(strength)
    if rootPart then
        rootPart.AssemblyLinearVelocity = Vector3.new(
            math.random(-strength, strength),
            strength * 2,
            math.random(-strength, strength)
        )
    end
end

local function tpMouse()
    if rootPart and Mouse.Hit then
        rootPart.CFrame = Mouse.Hit + Vector3.new(0, 5, 0)
    end
end

local function tpSpawn()
    if LocalPlayer.Character then
        LocalPlayer.Character:PivotTo(workspace:FindFirstChild("SpawnLocation") or CFrame.new(0,50,0))
    end
end

local function tpRandomPlayer()
    local others = {}
    for _, plr in Players:GetPlayers() do
        if plr ~= LocalPlayer and plr.Character then table.insert(others, plr) end
    end
    if #others > 0 then
        local target = others[math.random(1, #others)]
        if target.Character.PrimaryPart then
            rootPart.CFrame = target.Character.PrimaryPart.CFrame * CFrame.new(0,0,-5)
        end
    end
end

-- Fly System (Global)
local function updateFly()
    if not flyEnabled or not rootPart or not humanoid then return end
    flyBG.CFrame = Camera.CFrame
    local camLook = Camera.CFrame.LookVector
    local camRight = Camera.CFrame.RightVector
    local moveVector = Vector3.new(0,0,0)
    if UserInputService:IsKeyDown(Enum.KeyCode.W) then moveVector = moveVector + camLook end
    if UserInputService:IsKeyDown(Enum.KeyCode.S) then moveVector = moveVector - camLook end
    if UserInputService:IsKeyDown(Enum.KeyCode.A) then moveVector = moveVector - camRight end
    if UserInputService:IsKeyDown(Enum.KeyCode.D) then moveVector = moveVector + camRight end
    if UserInputService:IsKeyDown(Enum.KeyCode.Space) then moveVector = moveVector + Vector3.new(0,1,0) end
    if UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) then moveVector = moveVector - Vector3.new(0,1,0) end
    flyBV.Velocity = (moveVector.Unit * flySpeed) * 16
end

local function enableFly(speed)
    flyEnabled = true
    flySpeed = speed or 50
    humanoid.PlatformStand = true
    flyBG = Instance.new("BodyGyro")
    flyBG.MaxTorque = Vector3.new(4000, 4000, 4000)
    flyBG.P = 2000
    flyBG.Parent = rootPart
    flyBV = Instance.new("BodyVelocity")
    flyBV.MaxForce = Vector3.new(4000, 4000, 4000)
    flyBV.Velocity = Vector3.new()
    flyBV.Parent = rootPart
    connections.fly = RunService.RenderStepped:Connect(updateFly)
end

local function disableFly()
    flyEnabled = false
    humanoid.PlatformStand = false
    if flyBG then flyBG:Destroy() end
    if flyBV then flyBV:Destroy() end
end

-- GUI Setup (Smaller Square 600x600 for Mobile)
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "SquareCheatGUI"
ScreenGui.ResetOnSpawn = false
ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui")

local MainFrame = Instance.new("Frame")
MainFrame.Size = UDim2.new(0, 600, 0, 600)
MainFrame.Position = UDim2.new(0.5, -300, 0.5, -300)
MainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
MainFrame.BorderSizePixel = 0
MainFrame.Active = true
MainFrame.Draggable = true
MainFrame.Parent = ScreenGui

local FrameCorner = Instance.new("UICorner")
FrameCorner.CornerRadius = UDim.new(0, 16)
FrameCorner.Parent = MainFrame

local TitleLabel = Instance.new("TextLabel")
TitleLabel.Size = UDim2.new(1, 0, 0, 40)
TitleLabel.BackgroundColor3 = Color3.fromRGB(0, 120, 255)
TitleLabel.Text = "🔲 SQUARE CHEAT GUI (121+ Commands) - Mobile 🔲"
TitleLabel.TextColor3 = Color3.new(1,1,1)
TitleLabel.Font = Enum.Font.GothamBold
TitleLabel.TextSize = 16
TitleLabel.Parent = MainFrame

local TitleCorner = Instance.new("UICorner")
TitleCorner.CornerRadius = UDim.new(0, 16)
TitleCorner.Parent = TitleLabel

-- Grid Layout (50x50 buttons, smaller padding)
local GridLayout = Instance.new("UIGridLayout")
GridLayout.CellSize = UDim2.new(0, 50, 0, 50)
GridLayout.CellPadding = UDim2.new(0, 3, 0, 3)
GridLayout.SortOrder = Enum.SortOrder.LayoutOrder
GridLayout.Parent = MainFrame

-- Button Creator (Smaller text for mobile)
local function createSquareButton(text, func)
    local Button = Instance.new("TextButton")
    Button.Size = UDim2.new(1, 0, 1, 0)
    Button.BackgroundColor3 = Color3.fromRGB(45, 45, 60)
    Button.Text = text
    Button.TextColor3 = Color3.new(1,1,1)
    Button.Font = Enum.Font.Gotham
    Button.TextSize = 10
    Button.TextWrapped = true
    Button.Parent = MainFrame
    
    local BtnCorner = Instance.new("UICorner")
    BtnCorner.CornerRadius = UDim.new(0, 10)
    BtnCorner.Parent = Button
    
    Button.MouseButton1Click:Connect(func)
    Button.MouseEnter:Connect(function()
        TweenService:Create(Button, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(60, 60, 80)}):Play()
    end)
    Button.MouseLeave:Connect(function()
        TweenService:Create(Button, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(45, 45, 60)}):Play()
    end)
    
    return Button
end

-- Generate 121+ Buttons
local buttonCount = 0

-- 1-30: WalkSpeed (16 to 480)
for i = 1, 30 do
    local speed = 16 * i
    createSquareButton("Spd\n" .. speed, function() setWalkSpeed(speed) end)
    buttonCount = buttonCount + 1
end

-- 31-50: JumpPower (50 to 1000)
for i = 1, 20 do
    local jp = 50 * i
    createSquareButton("Jmp\n" .. jp, function() setJumpPower(jp) end)
    buttonCount = buttonCount + 1
end

-- 51-65: Fly Speeds (25 to 375) - Enables/sets fly speed
for i = 1, 15 do
    local fs = 25 * i
    createSquareButton("Fly\n" .. fs, function() enableFly(fs) end)
    buttonCount = buttonCount + 1
end

-- 66-75: Fling Strengths (50 to 500)
for i = 1, 10 do
    local f = 50 * i
    createSquareButton("Flg\n" .. f, function() flingSelf(f) end)
    buttonCount = buttonCount + 1
end

-- 76-95: Toggles & Utilities (20 buttons)
createSquareButton("Noclip", toggleNoclip); buttonCount = buttonCount + 1
createSquareButton("God", toggleGod); buttonCount = buttonCount + 1
createSquareButton("Invis", toggleInvisible); buttonCount = buttonCount + 1
createSquareButton("Fullbrt", toggleFullbright); buttonCount = buttonCount + 1
createSquareButton("InfJmp", toggleInfJump); buttonCount = buttonCount + 1
createSquareButton("NoFall", toggleNoFall); buttonCount = buttonCount + 1
createSquareButton("ESP", toggleESP); buttonCount = buttonCount + 1
createSquareButton("No Fly", disableFly); buttonCount = buttonCount + 1
createSquareButton("Reset", cleanup); buttonCount = buttonCount + 1
createSquareButton("TP Mse", tpMouse); buttonCount = buttonCount + 1
createSquareButton("TP Spwn", tpSpawn); buttonCount = buttonCount + 1
createSquareButton("TP Rnd", tpRandomPlayer); buttonCount = buttonCount + 1
createSquareButton("Spd x2", function() setWalkSpeed(humanoid.WalkSpeed * 2) end); buttonCount = buttonCount + 1
createSquareButton("Jmp x2", function() setJumpPower(humanoid.JumpPower * 2) end); buttonCount = buttonCount + 1
createSquareButton("Flg All", function() for _,p in Players:GetPlayers() do if p.Character and p~=LocalPlayer then p.Character.HumanoidRootPart.AssemblyLinearVelocity=Vector3.new(math.random(-200,200),500,math.random(-200,200)) end end end); buttonCount = buttonCount + 1
createSquareButton("Clr ESP", function() toggleESP() end); buttonCount = buttonCount + 1  -- Toggle off
createSquareButton("Dark", function() Lighting.Brightness=0 end); buttonCount = buttonCount + 1
createSquareButton("Bright", function() Lighting.Brightness=5 end); buttonCount = buttonCount + 1
createSquareButton("Mute", function() for _,s in Lighting:GetChildren() do if s:IsA("Sound") then s.Volume=0 end end end); buttonCount = buttonCount + 1

-- 96-105: More Teleports (10 variations - random offsets)
for i=1,10 do
    createSquareButton("TP R" .. i, function()
        if rootPart then
            rootPart.CFrame = rootPart.CFrame + Vector3.new(math.random(-50,50),0,math.random(-50,50))
        end
    end)
    buttonCount = buttonCount + 1
end

-- 106-115: Visual Toggles (10)
createSquareButton("No Fog", function() Lighting.FogEnd=math.huge end); buttonCount = buttonCount + 1
createSquareButton("Shd Off", function() Lighting.GlobalShadows=false end); buttonCount = buttonCount + 1
createSquareButton("No Team", function() for _,plr in Players:GetPlayers() do plr.TeamColor=BrickColor.new("White") end end); buttonCount = buttonCount + 1
createSquareButton("Big Hd", function() if LocalPlayer.Character.Head then LocalPlayer.Character.Head.Size=Vector3.new(3,3,3) end end); buttonCount = buttonCount + 1
createSquareButton("Sml Bdy", function() for _,p in LocalPlayer.Character:GetChildren() do if p:IsA("BasePart") and p.Name~="Head" then p.Size=p.Size*0.5 end end end); buttonCount = buttonCount + 1
createSquareButton("Rainbow", function() connections.rainbow=RunService.Heartbeat:Connect(function() if rootPart then rootPart.Color=Color3.fromHSV(tick()%6/6,1,1) end end) end); buttonCount = buttonCount + 1
createSquareButton("No Rnbw", function() if connections.rainbow then connections.rainbow:Disconnect() end end); buttonCount = buttonCount + 1
createSquareButton("Frz Tm", function() Lighting.ClockTime=12 end); buttonCount = buttonCount + 1
createSquareButton("Night", function() Lighting.ClockTime=0 end); buttonCount = buttonCount + 1
createSquareButton("Day", function() Lighting.ClockTime=12 end); buttonCount = buttonCount + 1

-- 116-121+: Misc (6+ extra)
createSquareButton("Jmp 0", function() setJumpPower(0) end); buttonCount = buttonCount + 1
createSquareButton("Spd 0", function() setWalkSpeed(0) end); buttonCount = buttonCount + 1
createSquareButton("Unfly", disableFly); buttonCount = buttonCount + 1
createSquareButton("Unclip", toggleNoclip); buttonCount = buttonCount + 1
createSquareButton("Ungod", toggleGod); buttonCount = buttonCount + 1
createSquareButton("Rejoin", function() game:GetService("TeleportService"):Teleport(game.PlaceId, LocalPlayer) end); buttonCount = buttonCount + 1
createSquareButton("SrvHop", function() -- Simple serverhop (requires TeleportService)
    local servers = game.HttpService:JSONDecode(game:HttpGet("https://games.roblox.com/v1/games/" .. game.PlaceId .. "/servers/Public?sortOrder=Asc&limit=100"))
    for _, v in servers.data do if v.playing < v.maxPlayers and v.id ~= game.JobId then game:GetService("TeleportService"):TeleportToPlaceInstance(game.PlaceId, v.id) return end end
end); buttonCount = buttonCount + 1

print("[SQUARE GUI] Loaded " .. buttonCount .. " commands! Mobile-optimized. Drag to move.")

-- Slide-in Animation
TweenService:Create(MainFrame, TweenInfo.new(0.8, Enum.EasingStyle.Back), {
    Position = UDim2.new(0.5, -300, 0.5, -300)
}):Play()

Features & Information

Fly(does not work)walkspeed, invisible,etc

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts