Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- MultiCheat LocalScript (place in StarterPlayer -> StarterPlayerScripts)
- -- Full GUI with tabs, G hide/show, and many client-side features.
- -- WARNING: Some features may not work in all games (server-side validation / anti-cheat).
- local Players = game:GetService("Players")
- local RunService = game:GetService("RunService")
- local UserInputService = game:GetService("UserInputService")
- local Lighting = game:GetService("Lighting")
- local Workspace = game:GetService("Workspace")
- local LocalPlayer = Players.LocalPlayer
- if not LocalPlayer then
- Players.PlayerAdded:Wait()
- LocalPlayer = Players.LocalPlayer
- end
- local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")
- local Mouse = LocalPlayer:GetMouse()
- -- cleanup previous GUI if exists
- local existing = PlayerGui:FindFirstChild("MultiCheatGUI")
- if existing then existing:Destroy() end
- -- ======================
- -- UI helper functions
- -- ======================
- local function CreateButton(text, parent)
- local btn = Instance.new("TextButton")
- btn.Text = text
- btn.Size = UDim2.new(1,0,0,36)
- btn.BackgroundColor3 = Color3.fromRGB(65,65,65)
- btn.TextColor3 = Color3.new(1,1,1)
- btn.Font = Enum.Font.SourceSansBold
- btn.TextSize = 18
- btn.BorderSizePixel = 0
- btn.Parent = parent
- btn.AutoButtonColor = true
- btn.TextWrapped = true
- return btn
- end
- local function CreateToggle(text, parent, callback)
- local frame = Instance.new("Frame")
- frame.Size = UDim2.new(1,0,0,36)
- frame.BackgroundColor3 = Color3.fromRGB(44,44,44)
- frame.BorderSizePixel = 0
- frame.Parent = parent
- local label = Instance.new("TextLabel", frame)
- label.Size = UDim2.new(0.78,0,1,0)
- label.Position = UDim2.new(0,8,0,0)
- label.BackgroundTransparency = 1
- label.TextXAlignment = Enum.TextXAlignment.Left
- label.Text = text..": OFF"
- label.TextColor3 = Color3.new(1,1,1)
- label.Font = Enum.Font.SourceSansBold
- label.TextSize = 16
- local btn = Instance.new("TextButton", frame)
- btn.Size = UDim2.new(0.22, -8, 1, -4)
- btn.Position = UDim2.new(0.78, 4, 0, 2)
- btn.Text = "OFF"
- btn.Font = Enum.Font.SourceSansBold
- btn.TextSize = 16
- btn.BackgroundColor3 = Color3.fromRGB(120,120,120)
- btn.TextColor3 = Color3.new(1,1,1)
- btn.BorderSizePixel = 0
- btn.AutoButtonColor = true
- local state = false
- btn.MouseButton1Click:Connect(function()
- state = not state
- label.Text = text..(state and ": ON" or ": OFF")
- btn.Text = state and "ON" or "OFF"
- btn.BackgroundColor3 = state and Color3.fromRGB(0,170,255) or Color3.fromRGB(120,120,120)
- pcall(callback, state)
- end)
- return frame
- end
- local function CreateSlider(text, parent, min, max, default, callback)
- local frame = Instance.new("Frame")
- frame.Size = UDim2.new(1,0,0,48)
- frame.BackgroundColor3 = Color3.fromRGB(44,44,44)
- frame.BorderSizePixel = 0
- frame.Parent = parent
- local label = Instance.new("TextLabel", frame)
- label.Size = UDim2.new(1,0,0,18)
- label.BackgroundTransparency = 1
- label.Text = text..": "..tostring(default)
- label.TextColor3 = Color3.new(1,1,1)
- label.Font = Enum.Font.SourceSansBold
- label.TextSize = 15
- local bar = Instance.new("Frame", frame)
- bar.Size = UDim2.new(1,-20,0,12)
- bar.Position = UDim2.new(0,10,0,28)
- bar.BackgroundColor3 = Color3.fromRGB(70,70,70)
- bar.BorderSizePixel = 0
- bar.ClipsDescendants = true
- local fill = Instance.new("Frame", bar)
- fill.Size = UDim2.new((default-min)/(max-min),0,1,0)
- fill.BackgroundColor3 = Color3.fromRGB(0,170,255)
- fill.BorderSizePixel = 0
- local dragging = false
- bar.InputBegan:Connect(function(i)
- if i.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true end
- end)
- bar.InputEnded:Connect(function(i)
- if i.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end
- end)
- bar.InputChanged:Connect(function(i)
- if dragging and i.UserInputType == Enum.UserInputType.MouseMovement then
- local x = math.clamp(i.Position.X - bar.AbsolutePosition.X, 0, bar.AbsoluteSize.X)
- local val = min + (x / bar.AbsoluteSize.X) * (max - min)
- fill.Size = UDim2.new((val-min)/(max-min),0,1,0)
- label.Text = text..": "..string.format("%.2f", val)
- pcall(callback, val)
- end
- end)
- return frame
- end
- -- ======================
- -- Build UI
- -- ======================
- local ScreenGui = Instance.new("ScreenGui")
- ScreenGui.Name = "MultiCheatGUI"
- ScreenGui.ResetOnSpawn = false
- ScreenGui.Parent = PlayerGui
- local Main = Instance.new("Frame")
- Main.Size = UDim2.new(0, 460, 0, 560)
- Main.Position = UDim2.new(0.5, -230, 0.5, -280)
- Main.BackgroundColor3 = Color3.fromRGB(35,35,35)
- Main.BorderSizePixel = 0
- Main.Parent = ScreenGui
- Main.Active = true
- Main.Draggable = true
- local Title = Instance.new("TextLabel", Main)
- Title.Size = UDim2.new(1,0,0,46)
- Title.Position = UDim2.new(0,0,0,0)
- Title.BackgroundColor3 = Color3.fromRGB(18,18,18)
- Title.Text = "MultiCheat GUI"
- Title.TextColor3 = Color3.fromRGB(0,170,255)
- Title.Font = Enum.Font.SourceSansBold
- Title.TextSize = 20
- Title.BorderSizePixel = 0
- local TabsFrame = Instance.new("Frame", Main)
- TabsFrame.Size = UDim2.new(1,0,0,44)
- TabsFrame.Position = UDim2.new(0,0,0,46)
- TabsFrame.BackgroundTransparency = 1
- local Pages = Instance.new("Frame", Main)
- Pages.Size = UDim2.new(1,0,1,-110)
- Pages.Position = UDim2.new(0,0,0,110)
- Pages.BackgroundTransparency = 1
- local tabNames = {"Player", "World", "Visuals", "Fun/Misc"}
- local tabs = {}
- local pages = {}
- for i, name in ipairs(tabNames) do
- local btn = Instance.new("TextButton", TabsFrame)
- btn.Size = UDim2.new(0, 110, 1, -6)
- btn.Position = UDim2.new(0, 6 + (i-1)*116, 0, 6)
- btn.Text = name
- btn.Font = Enum.Font.SourceSansBold
- btn.TextSize = 14
- btn.BackgroundColor3 = Color3.fromRGB(50,50,50)
- btn.TextColor3 = Color3.new(1,1,1)
- btn.BorderSizePixel = 0
- tabs[name] = btn
- local page = Instance.new("ScrollingFrame", Pages)
- page.Size = UDim2.new(1, -12, 1, 0)
- page.Position = UDim2.new(0,6,0,0)
- page.CanvasSize = UDim2.new(0,0,3,0)
- page.ScrollBarThickness = 6
- page.BackgroundColor3 = Color3.fromRGB(30,30,30)
- page.BorderSizePixel = 0
- page.Visible = false
- local layout = Instance.new("UIListLayout", page)
- layout.Padding = UDim.new(0,6)
- layout.SortOrder = Enum.SortOrder.LayoutOrder
- pages[name] = page
- end
- tabs[tabNames[1]].BackgroundColor3 = Color3.fromRGB(0,170,255)
- pages[tabNames[1]].Visible = true
- for name, btn in pairs(tabs) do
- btn.MouseButton1Click:Connect(function()
- for n, b in pairs(tabs) do
- b.BackgroundColor3 = Color3.fromRGB(50,50,50)
- pages[n].Visible = false
- end
- btn.BackgroundColor3 = Color3.fromRGB(0,170,255)
- pages[name].Visible = true
- end)
- end
- -- quick hide/show with G
- local guiVisible = true
- UserInputService.InputBegan:Connect(function(input, processed)
- if processed then return end
- if input.KeyCode == Enum.KeyCode.G then
- guiVisible = not guiVisible
- Main.Visible = guiVisible
- end
- end)
- -- ======================
- -- Feature state & helpers
- -- ======================
- local connections = {}
- local espBoxes = {}
- local runLoops = {}
- local function safeDisconnect(conn)
- if conn and type(conn.Disconnect) == "function" then
- pcall(function() conn:Disconnect() end)
- end
- end
- -- ======================
- -- Player Tab
- -- ======================
- local playerPage = pages["Player"]
- -- WalkSpeed
- local baseWalkSpeed = 16
- CreateSlider("Base WalkSpeed", playerPage, 8, 200, 16, function(val)
- baseWalkSpeed = val
- local h = LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid")
- if h and h.WalkSpeed ~= nil then h.WalkSpeed = val end
- end)
- -- JumpPower
- CreateSlider("Jump Power", playerPage, 30, 300, 50, function(val)
- local h = LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid")
- if h then h.JumpPower = val end
- end)
- -- Fly
- local flyState = false
- local flyConn
- CreateToggle("Fly (WASD + Space/Ctrl)", playerPage, function(state)
- flyState = state
- local function startFly()
- local char = LocalPlayer.Character
- if not char then return end
- local hrp = char:FindFirstChild("HumanoidRootPart")
- if not hrp then return end
- if hrp:FindFirstChild("MC_Fly_BV") then hrp.MC_Fly_BV:Destroy() end
- if hrp:FindFirstChild("MC_Fly_BG") then hrp.MC_Fly_BG:Destroy() end
- local bv = Instance.new("BodyVelocity")
- bv.Name = "MC_Fly_BV"
- bv.MaxForce = Vector3.new(1e5,1e5,1e5)
- bv.Parent = hrp
- local bg = Instance.new("BodyGyro")
- bg.Name = "MC_Fly_BG"
- bg.MaxTorque = Vector3.new(1e5,1e5,1e5)
- bg.P = 1e4
- bg.Parent = hrp
- local speed = 60
- flyConn = RunService.Heartbeat:Connect(function()
- if not flyState then return end
- local cam = Workspace.CurrentCamera
- local dir = Vector3.new()
- if UserInputService:IsKeyDown(Enum.KeyCode.W) then dir = dir + cam.CFrame.LookVector end
- if UserInputService:IsKeyDown(Enum.KeyCode.S) then dir = dir - cam.CFrame.LookVector end
- if UserInputService:IsKeyDown(Enum.KeyCode.A) then dir = dir - cam.CFrame.RightVector end
- if UserInputService:IsKeyDown(Enum.KeyCode.D) then dir = dir + cam.CFrame.RightVector end
- if UserInputService:IsKeyDown(Enum.KeyCode.Space) then dir = dir + Vector3.new(0,1,0) end
- if UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) then dir = dir - Vector3.new(0,1,0) end
- if dir.Magnitude > 0 then
- bv.Velocity = dir.Unit * speed
- bg.CFrame = cam.CFrame
- else
- bv.Velocity = Vector3.new(0,0,0)
- end
- end)
- end
- local function stopFly()
- local char = LocalPlayer.Character
- if char and char:FindFirstChild("HumanoidRootPart") then
- local hrp = char.HumanoidRootPart
- if hrp:FindFirstChild("MC_Fly_BV") then hrp.MC_Fly_BV:Destroy() end
- if hrp:FindFirstChild("MC_Fly_BG") then hrp.MC_Fly_BG:Destroy() end
- end
- safeDisconnect(flyConn)
- flyConn = nil
- end
- if state then startFly() else stopFly() end
- end)
- -- NoClip
- local noclipState = false
- local noclipConn
- CreateToggle("NoClip", playerPage, function(state)
- noclipState = state
- safeDisconnect(noclipConn)
- if state then
- noclipConn = RunService.Stepped:Connect(function()
- local char = LocalPlayer.Character
- if not char then return end
- for _, part in ipairs(char:GetChildren()) do
- if part:IsA("BasePart") then
- part.CanCollide = false
- end
- end
- end)
- end
- end)
- -- Infinite Jump
- local infiniteJumpActive = false
- CreateToggle("Infinite Jump", playerPage, function(state)
- infiniteJumpActive = state
- end)
- UserInputService.JumpRequest:Connect(function()
- if infiniteJumpActive then
- local h = LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid")
- if h then h:ChangeState(Enum.HumanoidStateType.Jumping) end
- end
- end)
- -- Float / Walk on Air (invisible platform under you)
- local floatPlatform
- local floatEnabled = false
- CreateToggle("Float / Walk on Air", playerPage, function(state)
- floatEnabled = state
- if state then
- local char = LocalPlayer.Character
- if not char then return end
- local hrp = char:FindFirstChild("HumanoidRootPart")
- if not hrp then return end
- if floatPlatform then
- floatPlatform:Destroy()
- floatPlatform = nil
- end
- floatPlatform = Instance.new("Part")
- floatPlatform.Name = "MC_FloatPlatform"
- floatPlatform.Size = Vector3.new(6, 0.5, 6)
- floatPlatform.Transparency = 1
- floatPlatform.Anchored = true
- floatPlatform.CanCollide = true
- floatPlatform.Parent = workspace
- floatPlatform.Material = Enum.Material.SmoothPlastic
- -- update platform position every frame
- floatPlatform.Position = hrp.Position - Vector3.new(0, 3, 0)
- local conn
- conn = RunService.Heartbeat:Connect(function()
- if not floatEnabled or not floatPlatform or not hrp.Parent then
- conn:Disconnect()
- if floatPlatform then floatPlatform:Destroy() floatPlatform = nil end
- return
- end
- -- Lock Y, follow X and Z
- local currentPos = floatPlatform.Position
- local targetPos = Vector3.new(hrp.Position.X, currentPos.Y, hrp.Position.Z)
- floatPlatform.Position = targetPos
- end)
- else
- if floatPlatform then
- floatPlatform:Destroy()
- floatPlatform = nil
- end
- end
- end)
- -- Teleports
- CreateButton("Teleport to Random Player", playerPage).MouseButton1Click:Connect(function()
- local candidates = {}
- for _,p in ipairs(Players:GetPlayers()) do
- if p ~= LocalPlayer and p.Character and p.Character:FindFirstChild("HumanoidRootPart") then
- table.insert(candidates, p)
- end
- end
- if #candidates == 0 then return end
- local pick = candidates[math.random(1,#candidates)]
- if pick.Character and pick.Character:FindFirstChild("HumanoidRootPart") and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
- LocalPlayer.Character.HumanoidRootPart.CFrame = pick.Character.HumanoidRootPart.CFrame + Vector3.new(0,4,0)
- end
- end)
- CreateButton("Teleport to Mouse Position", playerPage).MouseButton1Click:Connect(function()
- if not Mouse or not Mouse.Hit then return end
- local pos = Mouse.Hit.p + Vector3.new(0,4,0)
- if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
- LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(pos)
- end
- end)
- -- Sit toggle
- CreateToggle("Sit (toggle)", playerPage, function(state)
- local h = LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid")
- if h then h.Sit = state end
- end)
- -- Spin character
- local spinConn
- CreateToggle("Spin Character", playerPage, function(state)
- safeDisconnect(spinConn)
- if state then
- spinConn = RunService.Heartbeat:Connect(function()
- local char = LocalPlayer.Character
- if char and char:FindFirstChild("HumanoidRootPart") then
- char.HumanoidRootPart.CFrame = char.HumanoidRootPart.CFrame * CFrame.Angles(0, math.rad(8), 0)
- end
- end)
- end
- end)
- CreateButton("Reset Character", playerPage).MouseButton1Click:Connect(function()
- if LocalPlayer.Character then LocalPlayer.Character:BreakJoints() end
- end)
- -- ======================
- -- World Tab
- -- ======================
- local worldPage = pages["World"]
- CreateToggle("No Fog", worldPage, function(state)
- Lighting.FogEnd = state and 100000 or 1000
- end)
- CreateToggle("Bright Lighting", worldPage, function(state)
- Lighting.Brightness = state and 3 or 1
- Lighting.GlobalShadows = not state
- end)
- CreateToggle("Remove Shadows", worldPage, function(state)
- Lighting.ShadowSoftness = state and 0 or 0.7
- end)
- CreateButton("Toggle Full Bright (Toggle)", worldPage).MouseButton1Click:Connect(function()
- if Lighting.Brightness < 3 then
- Lighting.Brightness = 3
- Lighting.GlobalShadows = false
- else
- Lighting.Brightness = 1
- Lighting.GlobalShadows = true
- end
- end)
- CreateToggle("Remove Water Effects", worldPage, function(state)
- for _, v in pairs(Workspace:GetDescendants()) do
- if v:IsA("ParticleEmitter") or v:IsA("Trail") then
- v.Enabled = not state
- end
- end
- end)
- CreateButton("Unanchor World", worldPage).MouseButton1Click:Connect(function()
- for _, part in ipairs(Workspace:GetDescendants()) do
- if part:IsA("BasePart") and part.Anchored then
- part.Anchored = false
- end
- end
- end)
- -- ======================
- -- Visuals Tab
- -- ======================
- local visualsPage = pages["Visuals"]
- local highlightEnabled = false
- local highlightParts = {}
- CreateToggle("Player Highlight", visualsPage, function(state)
- highlightEnabled = state
- for _, h in pairs(highlightParts) do
- h:Destroy()
- end
- highlightParts = {}
- if state then
- for _, player in pairs(Players:GetPlayers()) do
- if player ~= LocalPlayer and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
- local highlight = Instance.new("SelectionBox")
- highlight.Adornee = player.Character.HumanoidRootPart
- highlight.Color3 = Color3.fromRGB(0, 170, 255)
- highlight.LineThickness = 0.05
- highlight.Parent = player.Character.HumanoidRootPart
- table.insert(highlightParts, highlight)
- end
- end
- end
- end)
- CreateToggle("Remove 3D UI", visualsPage, function(state)
- for _, gui in pairs(PlayerGui:GetChildren()) do
- if gui:IsA("BillboardGui") or gui:IsA("SurfaceGui") then
- gui.Enabled = not state
- end
- end
- end)
- -- ======================
- -- Fun/Misc Tab
- -- ======================
- local funPage = pages["Fun/Misc"]
- -- Spin World
- local worldSpinConn
- CreateToggle("Spin World", funPage, function(state)
- safeDisconnect(worldSpinConn)
- if state then
- worldSpinConn = RunService.Heartbeat:Connect(function()
- Workspace.CurrentCamera.CFrame = Workspace.CurrentCamera.CFrame * CFrame.Angles(0, math.rad(1), 0)
- end)
- end
- end)
- -- Screen Shake
- local shakeConn
- CreateToggle("Screen Shake", funPage, function(state)
- safeDisconnect(shakeConn)
- if state then
- local cam = Workspace.CurrentCamera
- local time = 0
- shakeConn = RunService.Heartbeat:Connect(function(dt)
- time = time + dt * 30
- local offset = Vector3.new(math.sin(time)*0.3, math.cos(time)*0.3, 0)
- cam.CFrame = cam.CFrame * CFrame.new(offset)
- end)
- end
- end)
- -- Rainbow Lighting
- local rainbowConn
- CreateToggle("Rainbow Lighting", funPage, function(state)
- safeDisconnect(rainbowConn)
- if state then
- local hue = 0
- rainbowConn = RunService.Heartbeat:Connect(function(dt)
- hue = (hue + dt * 0.2) % 1
- Lighting.Ambient = Color3.fromHSV(hue, 1, 1)
- Lighting.OutdoorAmbient = Color3.fromHSV(hue, 1, 1)
- end)
- end
- end)
- CreateButton("Explode Near Me", funPage).MouseButton1Click:Connect(function()
- local char = LocalPlayer.Character
- if not char then return end
- local hrp = char:FindFirstChild("HumanoidRootPart")
- if not hrp then return end
- local explosion = Instance.new("Explosion")
- explosion.Position = hrp.Position
- explosion.BlastRadius = 15
- explosion.BlastPressure = 250000
- explosion.Parent = Workspace
- end)
- CreateButton("Spawn Firework", funPage).MouseButton1Click:Connect(function()
- local char = LocalPlayer.Character
- if not char then return end
- local hrp = char:FindFirstChild("HumanoidRootPart")
- if not hrp then return end
- local firework = Instance.new("Part")
- firework.Size = Vector3.new(1,1,1)
- firework.Anchored = true
- firework.CanCollide = false
- firework.Position = hrp.Position + Vector3.new(0,5,0)
- firework.BrickColor = BrickColor.new("Bright red")
- firework.Parent = Workspace
- local light = Instance.new("PointLight", firework)
- light.Range = 15
- light.Brightness = 5
- game.Debris:AddItem(firework, 5)
- end)
- -- Load Infinite Yield button
- CreateButton("Load Infinite Yield", funPage).MouseButton1Click:Connect(function()
- loadstring(game:HttpGet("https://raw.githubusercontent.com/EdgeIY/infiniteyield/master/source"))()
- end)
Advertisement
Add Comment
Please, Sign In to add comment