local Players = game:GetService("Players") local RunService = game:GetService("RunService") local player = Players.LocalPlayer local camera = workspace.CurrentCamera -- STATES local wallhackEnabled = false local tracersEnabled = false local flyEnabled = false local targetLockEnabled = false -- GUI local gui = Instance.new("ScreenGui") gui.ResetOnSpawn = false gui.Parent = player:WaitForChild("PlayerGui") local frame = Instance.new("Frame") frame.Size = UDim2.new(0,240,0,260) frame.Position = UDim2.new(0,20,0,120) frame.BackgroundColor3 = Color3.fromRGB(30,30,35) frame.Parent = gui frame.Active = true frame.Draggable = true local layout = Instance.new("UIListLayout", frame) layout.Padding = UDim.new(0,5) -- STATUS PANEL local statusLabel = Instance.new("TextLabel") statusLabel.Size = UDim2.new(1,0,0,80) statusLabel.BackgroundColor3 = Color3.fromRGB(20,20,25) statusLabel.TextColor3 = Color3.new(1,1,1) statusLabel.TextScaled = true statusLabel.Font = Enum.Font.GothamBold statusLabel.Parent = frame local function updateStatus() statusLabel.Text = "Wallhack: " .. (wallhackEnabled and "ON" or "OFF") .. "\n" .. "Tracers: " .. (tracersEnabled and "ON" or "OFF") .. "\n" .. "Fly: " .. (flyEnabled and "ON" or "OFF") .. "\n" .. "TargetLock: " .. (targetLockEnabled and "ON" or "OFF") end local function makeButton(text, callback) local b = Instance.new("TextButton") b.Size = UDim2.new(1,0,0,40) b.Text = text b.BackgroundColor3 = Color3.fromRGB(0,120,255) b.TextColor3 = Color3.new(1,1,1) b.Parent = frame b.MouseButton1Click:Connect(callback) end ------------------------------------------------ -- WALLHACK ------------------------------------------------ local function toggleWallhack() wallhackEnabled = not wallhackEnabled for _,plr in pairs(Players:GetPlayers()) do if plr ~= player and plr.Character then if wallhackEnabled then if not plr.Character:FindFirstChild("WallHighlight") then local h = Instance.new("Highlight") h.Name = "WallHighlight" h.FillColor = Color3.fromRGB(255,0,0) h.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop h.Parent = plr.Character end else local old = plr.Character:FindFirstChild("WallHighlight") if old then old:Destroy() end end end end updateStatus() end ------------------------------------------------ -- TRACERS ------------------------------------------------ local tracerFolder = Instance.new("Folder", gui) RunService.RenderStepped:Connect(function() tracerFolder:ClearAllChildren() if not tracersEnabled then return end for _,plr in pairs(Players:GetPlayers()) do if plr ~= player and plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") then local root = plr.Character.HumanoidRootPart local pos, visible = camera:WorldToViewportPoint(root.Position) if visible then local line = Instance.new("Frame") line.BorderSizePixel = 0 line.BackgroundColor3 = Color3.fromRGB(0,255,255) line.Size = UDim2.new(0,2,0,camera.ViewportSize.Y - pos.Y) line.Position = UDim2.new(0,pos.X,0,pos.Y) line.Parent = tracerFolder end end end end) local function toggleTracers() tracersEnabled = not tracersEnabled updateStatus() end ------------------------------------------------ -- FLY ------------------------------------------------ local bodyVelocity local bodyGyro RunService.RenderStepped:Connect(function() if flyEnabled and bodyVelocity and bodyGyro then bodyVelocity.Velocity = camera.CFrame.LookVector * 60 bodyGyro.CFrame = camera.CFrame end -- TARGET LOCK if targetLockEnabled then local closest local shortest = math.huge for _,plr in pairs(Players:GetPlayers()) do if plr ~= player and plr.Character and plr.Character:FindFirstChild("Head") then local head = plr.Character.Head local dist = (camera.CFrame.Position - head.Position).Magnitude if dist < shortest then shortest = dist closest = head end end end if closest then camera.CFrame = CFrame.new(camera.CFrame.Position, closest.Position) end end end) local function toggleFly() flyEnabled = not flyEnabled local char = player.Character if not char then return end local root = char:WaitForChild("HumanoidRootPart") if flyEnabled then bodyVelocity = Instance.new("BodyVelocity") bodyVelocity.MaxForce = Vector3.new(1e9,1e9,1e9) bodyVelocity.Parent = root bodyGyro = Instance.new("BodyGyro") bodyGyro.MaxTorque = Vector3.new(1e9,1e9,1e9) bodyGyro.Parent = root else if bodyVelocity then bodyVelocity:Destroy() end if bodyGyro then bodyGyro:Destroy() end end updateStatus() end ------------------------------------------------ -- TARGET LOCK TOGGLE ------------------------------------------------ local function toggleTargetLock() targetLockEnabled = not targetLockEnabled updateStatus() end ------------------------------------------------ -- BUTTONS ------------------------------------------------ makeButton("Toggle Wallhack", toggleWallhack) makeButton("Toggle Tracers", toggleTracers) makeButton("Toggle Fly", toggleFly) makeButton("Toggle TargetLock", toggleTargetLock) updateStatus()