Controllable anti gravity script
Key RequiredUniversal

Controllable anti gravity script

Universal ScriptPs4sroPs4sro 933 views 1.4K executesUpdated Dec 8, 2025
5.0/ 5(1 votes)
10100% Positive
Lua Script•128 lines (4075 chars)
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local Workspace = game:GetService("Workspace")

local player = Players.LocalPlayer
local camera = Workspace.CurrentCamera
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
local rootPart = character:WaitForChild("HumanoidRootPart")

local originalGravity = Workspace.Gravity
local active = true
local freeRoam = false

local screenGui = Instance.new("ScreenGui")
screenGui.Name = "MaldixGUI"
screenGui.Parent = game:GetService("CoreGui")

local mainFrame = Instance.new("Frame")
mainFrame.Name = "MainFrame"
mainFrame.Size = UDim2.new(0, 250, 0, 150)
mainFrame.Position = UDim2.new(0.5, -125, 0.5, -75)
mainFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
mainFrame.BorderSizePixel = 0
mainFrame.Active = true
mainFrame.Draggable = true
mainFrame.Parent = screenGui

local titleLabel = Instance.new("TextLabel")
titleLabel.Size = UDim2.new(1, 0, 0, 30)
titleLabel.BackgroundTransparency = 1
titleLabel.Text = "Maldix No Gravity Script"
titleLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
titleLabel.Font = Enum.Font.GothamBold
titleLabel.TextSize = 16
titleLabel.Parent = mainFrame

local toggleButton = Instance.new("TextButton")
toggleButton.Size = UDim2.new(0.9, 0, 0, 40)
toggleButton.Position = UDim2.new(0.05, 0, 0, 40)
toggleButton.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
toggleButton.Text = "Toggle Free Roam: OFF"
toggleButton.TextColor3 = Color3.fromRGB(255, 255, 255)
toggleButton.Font = Enum.Font.Gotham
toggleButton.TextSize = 14
toggleButton.Parent = mainFrame

local offButton = Instance.new("TextButton")
offButton.Size = UDim2.new(0.9, 0, 0, 40)
offButton.Position = UDim2.new(0.05, 0, 0, 90)
offButton.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
offButton.Text = "Turn Script OFF"
offButton.TextColor3 = Color3.fromRGB(255, 255, 255)
offButton.Font = Enum.Font.Gotham
offButton.TextSize = 14
offButton.Parent = mainFrame

local function stopAnimations()
	if character:FindFirstChild("Animate") then
		character.Animate.Disabled = true
	end
	for _, track in pairs(humanoid:GetPlayingAnimationTracks()) do
		track:Stop()
	end
end

local function resetCharacter()
	active = false
	Workspace.Gravity = originalGravity
	humanoid.PlatformStand = false
	if character:FindFirstChild("Animate") then
		character.Animate.Disabled = false
	end
	rootPart.AssemblyAngularVelocity = Vector3.new(0, 0, 0)
	screenGui:Destroy()
end

toggleButton.MouseButton1Click:Connect(function()
	freeRoam = not freeRoam
	if freeRoam then
		toggleButton.Text = "Toggle Free Roam: ON"
		toggleButton.BackgroundColor3 = Color3.fromRGB(50, 200, 50)
	else
		toggleButton.Text = "Toggle Free Roam: OFF"
		toggleButton.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
	end
end)

offButton.MouseButton1Click:Connect(resetCharacter)

Workspace.Gravity = 0
stopAnimations()
humanoid.PlatformStand = true

RunService.RenderStepped:Connect(function()
	if not active then return end
	if not character or not character.Parent then return end

	humanoid.PlatformStand = true
	stopAnimations()

	local moveVector = Vector3.new(0, 0, 0)

	if freeRoam then
		if UserInputService:IsKeyDown(Enum.KeyCode.W) then
			moveVector = moveVector + camera.CFrame.LookVector
		end
		if UserInputService:IsKeyDown(Enum.KeyCode.S) then
			moveVector = moveVector - camera.CFrame.LookVector
		end
		if UserInputService:IsKeyDown(Enum.KeyCode.A) then
			moveVector = moveVector - camera.CFrame.RightVector
		end
		if UserInputService:IsKeyDown(Enum.KeyCode.D) then
			moveVector = moveVector + camera.CFrame.RightVector
		end
	end

	if moveVector.Magnitude > 0 then
		local targetVelocity = moveVector.Unit * 8
		rootPart.AssemblyLinearVelocity = rootPart.AssemblyLinearVelocity:Lerp(targetVelocity, 0.02)
	else
		rootPart.AssemblyLinearVelocity = rootPart.AssemblyLinearVelocity:Lerp(Vector3.new(0,0,0), 0.005)
	end
	
	rootPart.AssemblyAngularVelocity = Vector3.new(0.2, 0.3, 0.1)
end)

Features & Information

float free or control

Community Comments (1)

ALTERRATICALTERRATICDec 8, 2025

this is peak

More Scripts for Universal Scripts