Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local Players = game:GetService("Players")
- local UserInputService = game:GetService("UserInputService")
- local Workspace = game:GetService("Workspace")
- local zeroGravityForce = Vector3.new(0, Workspace.Gravity, 0)
- local gravityEnabled = false
- local bodyForces = {}
- -- GUI creation function
- local function createGui()
- local screenGui = Instance.new("ScreenGui")
- screenGui.Name = "GravityToggleGui"
- screenGui.ResetOnSpawn = false
- screenGui.Parent = Players.LocalPlayer:WaitForChild("PlayerGui")
- -- Create toggle button
- local toggleButton = Instance.new("TextButton")
- toggleButton.Size = UDim2.new(0, 150, 0, 50)
- toggleButton.Position = UDim2.new(1, -180, 0, 10)
- toggleButton.BackgroundColor3 = Color3.fromRGB(255, 0, 0)
- toggleButton.BorderSizePixel = 0
- toggleButton.TextColor3 = Color3.fromRGB(255, 255, 255)
- toggleButton.Text = "Enable Gravity"
- toggleButton.TextScaled = true -- auto-resize text to fit
- toggleButton.TextWrapped = true -- allow multi-line if needed
- toggleButton.Parent = screenGui
- -- Rounded corners
- local uiCorner = Instance.new("UICorner")
- uiCorner.CornerRadius = UDim.new(0, 12) -- radius in pixels
- uiCorner.Parent = toggleButton
- -- Optional padding for better text spacing
- local padding = Instance.new("UIPadding")
- padding.PaddingTop = UDim.new(0, 5)
- padding.PaddingBottom = UDim.new(0, 5)
- padding.PaddingLeft = UDim.new(0, 5)
- padding.PaddingRight = UDim.new(0, 5)
- padding.Parent = toggleButton
- -- Update button appearance
- local function updateButton()
- toggleButton.Text = gravityEnabled and "Disable Gravity" or "Enable Gravity"
- toggleButton.BackgroundColor3 = gravityEnabled and Color3.fromRGB(0, 255, 0) or Color3.fromRGB(255, 0, 0)
- end
- -- Toggle gravity function
- local function toggleGravity()
- gravityEnabled = not gravityEnabled
- updateButton()
- if gravityEnabled then
- for _, part in pairs(Workspace:GetDescendants()) do
- if part:IsA("BasePart") and not part:IsDescendantOf(Players.LocalPlayer.Character) then
- local bodyForce = Instance.new("BodyForce")
- bodyForce.Force = zeroGravityForce * part:GetMass()
- bodyForce.Parent = part
- table.insert(bodyForces, bodyForce)
- end
- end
- else
- for _, bodyForce in ipairs(bodyForces) do
- bodyForce:Destroy()
- end
- bodyForces = {}
- end
- end
- toggleButton.MouseButton1Click:Connect(toggleGravity)
- UserInputService.InputBegan:Connect(function(input, gameProcessed)
- if not gameProcessed and input.KeyCode == Enum.KeyCode.G then
- toggleGravity()
- end
- end)
- updateButton()
- end
- createGui()
- Players.LocalPlayer.CharacterAdded:Connect(function()
- if not Players.LocalPlayer.PlayerGui:FindFirstChild("GravityToggleGui") then
- createGui()
- end
- end)
Advertisement
Add Comment
Please, Sign In to add comment