local Players = game:GetService("Players") local RunService = game:GetService("RunService") local lp = Players.LocalPlayer -- GUI local sg = Instance.new("ScreenGui", lp.PlayerGui) sg.ResetOnSpawn = false local flyBtn = Instance.new("TextButton", sg) flyBtn.Size = UDim2.new(0, 160, 0, 60) flyBtn.Position = UDim2.new(0, 10, 0.45, 0) flyBtn.Text = "FLY: OFF" flyBtn.BackgroundColor3 = Color3.fromRGB(100, 0, 200) flyBtn.TextColor3 = Color3.new(1,1,1) flyBtn.Font = Enum.Font.GothamBold flyBtn.TextScaled = true flyBtn.BorderSizePixel = 0 Instance.new("UICorner", flyBtn).CornerRadius = UDim.new(0, 10) -- Fly logic local flying = false local flyConnection local bodyVel, bodyGyro local function startFly() local char = lp.Character if not char then return end local hrp = char:FindFirstChild("HumanoidRootPart") local hum = char:FindFirstChildOfClass("Humanoid") if not hrp or not hum then return end hum.PlatformStand = true bodyVel = Instance.new("BodyVelocity", hrp) bodyVel.Velocity = Vector3.new(0,0,0) bodyVel.MaxForce = Vector3.new(1e5, 1e5, 1e5) bodyGyro = Instance.new("BodyGyro", hrp) bodyGyro.MaxTorque = Vector3.new(1e5, 1e5, 1e5) bodyGyro.P = 1e4 flyConnection = RunService.Heartbeat:Connect(function() if not flying then return end local cam = workspace.CurrentCamera bodyGyro.CFrame = cam.CFrame local moveDir = Vector3.new(0,0,0) local cf = cam.CFrame -- Move in camera direction using MoveDirection local md = hum.MoveDirection if md.Magnitude > 0 then moveDir = cf.LookVector * md.Z * -50 + cf.RightVector * md.X * 50 end -- Up/down via jump button state workaround bodyVel.Velocity = Vector3.new(moveDir.X, moveDir.Y, moveDir.Z) end) end local function stopFly() if flyConnection then flyConnection:Disconnect() flyConnection = nil end if bodyVel then bodyVel:Destroy() bodyVel = nil end if bodyGyro then bodyGyro:Destroy() bodyGyro = nil end local char = lp.Character if char then local hum = char:FindFirstChildOfClass("Humanoid") if hum then hum.PlatformStand = false end end end flyBtn.Activated:Connect(function() flying = not flying if flying then flyBtn.Text = "FLY: ON" flyBtn.BackgroundColor3 = Color3.fromRGB(255, 80, 80) startFly() else flyBtn.Text = "FLY: OFF" flyBtn.BackgroundColor3 = Color3.fromRGB(100, 0, 200) stopFly() end end) -- Reset on respawn lp.CharacterAdded:Connect(function() flying = false flyBtn.Text = "FLY: OFF" flyBtn.BackgroundColor3 = Color3.fromRGB(100, 0, 200) stopFly() end) local Players = game:GetService("Players") local lp = Players.LocalPlayer local sg = Instance.new("ScreenGui", lp.PlayerGui) sg.ResetOnSpawn = false local frame = Instance.new("Frame", sg) frame.Size = UDim2.new(0, 220, 0, 160) frame.Position = UDim2.new(0, 10, 0.6, 0) frame.BackgroundColor3 = Color3.fromRGB(25, 25, 25) frame.BorderSizePixel = 0 local corner = Instance.new("UICorner", frame) corner.CornerRadius = UDim.new(0, 12) local speedBtn = Instance.new("TextButton", frame) speedBtn.Size = UDim2.new(1, -20, 0, 60) speedBtn.Position = UDim2.new(0, 10, 0, 10) speedBtn.Text = "SPEED: OFF" speedBtn.BackgroundColor3 = Color3.fromRGB(0, 170, 0) speedBtn.TextColor3 = Color3.new(1,1,1) speedBtn.Font = Enum.Font.GothamBold speedBtn.TextScaled = true speedBtn.BorderSizePixel = 0 Instance.new("UICorner", speedBtn).CornerRadius = UDim.new(0, 10) local jumpBtn = Instance.new("TextButton", frame) jumpBtn.Size = UDim2.new(1, -20, 0, 60) jumpBtn.Position = UDim2.new(0, 10, 0, 80) jumpBtn.Text = "JUMP: OFF" jumpBtn.BackgroundColor3 = Color3.fromRGB(0, 100, 200) jumpBtn.TextColor3 = Color3.new(1,1,1) jumpBtn.Font = Enum.Font.GothamBold jumpBtn.TextScaled = true jumpBtn.BorderSizePixel = 0 Instance.new("UICorner", jumpBtn).CornerRadius = UDim.new(0, 10) local speedOn = false local jumpOn = false speedBtn.Activated:Connect(function() speedOn = not speedOn speedBtn.Text = speedOn and "SPEED: ON" or "SPEED: OFF" speedBtn.BackgroundColor3 = speedOn and Color3.fromRGB(255, 80, 80) or Color3.fromRGB(0, 170, 0) end) jumpBtn.Activated:Connect(function() jumpOn = not jumpOn jumpBtn.Text = jumpOn and "JUMP: ON" or "JUMP: OFF" jumpBtn.BackgroundColor3 = jumpOn and Color3.fromRGB(255, 80, 80) or Color3.fromRGB(0, 100, 200) end) game:GetService("RunService").Heartbeat:Connect(function() local char = lp.Character if char then local hum = char:FindFirstChildOfClass("Humanoid") if hum then hum.WalkSpeed = speedOn and 60 or 16 hum.JumpPower = jumpOn and 120 or 50 end end end) local Players = game:GetService("Players") local lp = Players.LocalPlayer local function addESP(player) if player == lp then return end player.CharacterAdded:Connect(function(char) wait(1) local hrp = char:WaitForChild("HumanoidRootPart") local bb = Instance.new("BillboardGui", hrp) bb.Size = UDim2.new(0, 100, 0, 40) bb.StudsOffset = Vector3.new(0, 3, 0) bb.AlwaysOnTop = true local label = Instance.new("TextLabel", bb) label.Size = UDim2.new(1, 0, 1, 0) label.BackgroundTransparency = 1 label.TextColor3 = Color3.fromRGB(255, 50, 50) label.TextStrokeTransparency = 0 label.Text = player.Name label.Font = Enum.Font.GothamBold label.TextScaled = true end) end local Players = game:GetService("Players") local lp = Players.LocalPlayer while true do wait(60) local char = lp.Character if char then local hrp = char:FindFirstChild("HumanoidRootPart") if hrp then hrp.CFrame = hrp.CFrame * CFrame.new(0, 0, 0.1) wait(0.1) hrp.CFrame = hrp.CFrame * CFrame.new(0, 0, -0.1) end end end local Players = game:GetService("Players") local lp = Players.LocalPlayer local char = lp.Character or lp.CharacterAdded:Wait() game:GetService("RunService").Heartbeat:Connect(function() for _, player in pairs(Players:GetPlayers()) do if player ~= lp and player.Character then local hrp = player.Character:FindFirstChild("HumanoidRootPart") if hrp then local dist = (char.HumanoidRootPart.Position - hrp.Position).Magnitude if dist < 10 then hrp.Velocity = Vector3.new(math.random(-100,100), 150, math.random(-100,100)) end end end end end)