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)