-- ============================================================================ -- ALL-IN-ONE TRACKER ABILITIES SCRIPT -- Place inside StarterPlayer -> StarterPlayerScripts or StarterGui -- ========================================== local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local Workspace = game:GetService("Workspace") local LocalPlayer = Players.LocalPlayer local Camera = Workspace.CurrentCamera -- ========================================== -- STATE VARIABLES & CONFIGURATION -- ========================================== local lockOnActive = false local pulseActive = false local flyActive = false local invisActive = false local drainWallsActive = false local currentTarget = nil local flySpeed = 140 -- Memory tables for restoring states local originalTransparencies = {} local wallTransparencies = {} local wallCollisions = {} local wallQueries = {} -- Connections local invisConnection = nil local noclipConnection = nil -- Flight Physics Instances local linearVelocity = nil local attachment = nil -- ========================================== -- 1. DRAGGABLE GUI CREATION -- ========================================== local screenGui = Instance.new("ScreenGui") screenGui.Name = "TrackerAbilitiesMenu" screenGui.ResetOnSpawn = false screenGui.Parent = LocalPlayer:WaitForChild("PlayerGui") local frame = Instance.new("Frame") frame.Size = UDim2.new(0, 210, 0, 320) frame.AnchorPoint = Vector2.new(1, 0) frame.Position = UDim2.new(0.98, 0, 0.02, 0) frame.BackgroundColor3 = Color3.fromRGB(20, 20, 30) frame.BorderSizePixel = 0 frame.Parent = screenGui local frameCorner = Instance.new("UICorner") frameCorner.CornerRadius = UDim.new(0, 10) frameCorner.Parent = frame local UIListLayout = Instance.new("UIListLayout") UIListLayout.Parent = frame UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder UIListLayout.Padding = UDim.new(0, 8) UIListLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center local title = Instance.new("TextLabel") title.Size = UDim2.new(1, 0, 0, 42) title.BackgroundTransparency = 1 title.Text = "TRACKER CONTROLS" title.TextColor3 = Color3.fromRGB(255, 255, 255) title.Font = Enum.Font.GothamBold title.TextSize = 14 title.LayoutOrder = 0 title.Parent = frame local function createButton(text, order) local btn = Instance.new("TextButton") btn.Size = UDim2.new(0.88, 0, 0, 40) btn.BackgroundColor3 = Color3.fromRGB(40, 40, 55) btn.TextColor3 = Color3.fromRGB(220, 220, 220) btn.Font = Enum.Font.GothamMedium btn.TextSize = 13 btn.Text = text .. " [OFF]" btn.LayoutOrder = order btn.Parent = frame local btnCorner = Instance.new("UICorner") btnCorner.CornerRadius = UDim.new(0, 6) btnCorner.Parent = btn return btn end local lockBtn = createButton("Lock Target", 1) local pulseBtn = createButton("Player Pulse", 2) local flyBtn = createButton("Fly Mode", 3) local invisBtn = createButton("Invisible", 4) local drainBtn = createButton("Drain Walls", 5) -- Draggable UI Logic local dragging = false local dragInput, dragStart, startPos local function updateInput(input) local delta = input.Position - dragStart frame.Position = UDim2.new( startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y ) end frame.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = frame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) frame.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then dragInput = input end end) UserInputService.InputChanged:Connect(function(input) if input == dragInput and dragging then updateInput(input) end end) -- Team Check Filter local function isEnemy(player) if player == LocalPlayer then return false end if player.Team ~= nil and LocalPlayer.Team ~= nil then return player.Team ~= LocalPlayer.Team end return true end -- ========================================== -- 2. LOCK TARGET MECHANIC (AIMBOT + TEAM CHECK) -- ========================================== local function getNearestEnemy() local myChar = LocalPlayer.Character if not myChar or not myChar:FindFirstChild("HumanoidRootPart") then return nil end local myPos = myChar.HumanoidRootPart.Position local nearestPlayer = nil local shortestDistance = math.huge for _, player in ipairs(Players:GetPlayers()) do if isEnemy(player) and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then local humanoid = player.Character:FindFirstChildOfClass("Humanoid") if humanoid and humanoid.Health > 0 then local dist = (player.Character.HumanoidRootPart.Position - myPos).Magnitude if dist < shortestDistance then shortestDistance = dist nearestPlayer = player end end end end return nearestPlayer end -- Fast target detection loop (20 Hz) task.spawn(function() while true do if lockOnActive then currentTarget = getNearestEnemy() else currentTarget = nil end task.wait(0.05) end end) lockBtn.MouseButton1Click:Connect(function() lockOnActive = not lockOnActive if lockOnActive then currentTarget = getNearestEnemy() else currentTarget = nil end lockBtn.Text = "Lock Target " .. (lockOnActive and "[ON]" or "[OFF]") lockBtn.BackgroundColor3 = lockOnActive and Color3.fromRGB(0, 170, 100) or Color3.fromRGB(40, 40, 55) end) -- ========================================== -- 3. PLAYER PULSE / ESP (HIGHLIGHT ENEMIES) -- ========================================== task.spawn(function() while true do if pulseActive then for _, player in ipairs(Players:GetPlayers()) do if isEnemy(player) and player.Character then local existingHighlight = player.Character:FindFirstChild("PulseHighlight") if not existingHighlight then local highlight = Instance.new("Highlight") highlight.Name = "PulseHighlight" highlight.FillTransparency = 0.65 highlight.FillColor = Color3.fromRGB(255, 40, 40) highlight.OutlineColor = Color3.fromRGB(255, 0, 0) highlight.OutlineTransparency = 0 highlight.Parent = player.Character end else if player.Character and player.Character:FindFirstChild("PulseHighlight") then player.Character.PulseHighlight:Destroy() end end end else for _, player in ipairs(Players:GetPlayers()) do if player.Character and player.Character:FindFirstChild("PulseHighlight") then player.Character.PulseHighlight:Destroy() end end end task.wait(0.5) end end) pulseBtn.MouseButton1Click:Connect(function() pulseActive = not pulseActive pulseBtn.Text = "Player Pulse " .. (pulseActive and "[ON]" or "[OFF]") pulseBtn.BackgroundColor3 = pulseActive and Color3.fromRGB(0, 170, 100) or Color3.fromRGB(40, 40, 55) end) -- ========================================== -- 4. FLY MECHANIC (MODERN PHYSICS LINEARVELOCITY) -- ========================================== local function startFlying() local char = LocalPlayer.Character if not char then return end local hrp = char:FindFirstChild("HumanoidRootPart") local humanoid = char:FindFirstChildOfClass("Humanoid") if not hrp or not humanoid then return end humanoid.PlatformStand = true attachment = Instance.new("Attachment") attachment.Name = "FlyAttachment" attachment.Parent = hrp linearVelocity = Instance.new("LinearVelocity") linearVelocity.Name = "FlyLinearVelocity" linearVelocity.Attachment0 = attachment linearVelocity.MaxForce = math.huge linearVelocity.VectorVelocity = Vector3.zero linearVelocity.RelativeTo = Enum.ActuatorRelativeTo.World linearVelocity.Parent = hrp end local function stopFlying() local char = LocalPlayer.Character if char then local humanoid = char:FindFirstChildOfClass("Humanoid") if humanoid then humanoid.PlatformStand = false end end if linearVelocity then linearVelocity:Destroy() linearVelocity = nil end if attachment then attachment:Destroy() attachment = nil end end flyBtn.MouseButton1Click:Connect(function() flyActive = not flyActive flyBtn.Text = "Fly Mode " .. (flyActive and "[ON]" or "[OFF]") flyBtn.BackgroundColor3 = flyActive and Color3.fromRGB(0, 170, 100) or Color3.fromRGB(40, 40, 55) if flyActive then startFlying() else stopFlying() end end) -- ========================================== -- 5. FORCED INVISIBILITY (BODY + HELD GUNS) -- ========================================== local function hideItem(item) if item:IsA("BasePart") then if item.Name ~= "HumanoidRootPart" then if originalTransparencies[item] == nil then originalTransparencies[item] = item.Transparency end item.Transparency = 1 end elseif item:IsA("Decal") or item:IsA("Texture") then if originalTransparencies[item] == nil then originalTransparencies[item] = item.Transparency end item.Transparency = 1 end end local function setInvisibility(state) local char = LocalPlayer.Character if not char then return end if state then for _, descendant in ipairs(char:GetDescendants()) do hideItem(descendant) end if not invisConnection then invisConnection = char.DescendantAdded:Connect(function(descendant) if invisActive then hideItem(descendant) end end) end else if invisConnection then invisConnection:Disconnect() invisConnection = nil end for item, trans in pairs(originalTransparencies) do if item and item.Parent then item.Transparency = trans end end originalTransparencies = {} end end invisBtn.MouseButton1Click:Connect(function() invisActive = not invisActive invisBtn.Text = "Invisible " .. (invisActive and "[ON]" or "[OFF]") invisBtn.BackgroundColor3 = invisActive and Color3.fromRGB(0, 170, 100) or Color3.fromRGB(40, 40, 55) setInvisibility(invisActive) end) -- ========================================== -- 6. MAX DRAIN WALLS (FORCED NOCLIP + WALLBANG) -- ========================================== local function setDrainWalls(state) for _, part in ipairs(Workspace:GetDescendants()) do if part:IsA("BasePart") and not part:IsDescendantOf(Workspace:FindFirstChild("Terrain") or Workspace) then -- Verify it's static map environment, not player models local isCharacterPart = false for _, player in ipairs(Players:GetPlayers()) do if player.Character and part:IsDescendantOf(player.Character) then isCharacterPart = true break end end if not isCharacterPart and part.Name ~= "HumanoidRootPart" then if state then if wallTransparencies[part] == nil then wallTransparencies[part] = part.Transparency wallCollisions[part] = part.CanCollide wallQueries[part] = part.CanQuery end part.Transparency = 0.55 -- Makes walls semi-transparent part.CanCollide = false -- Allows character to physically walk through part.CanQuery = false -- Forces weapon raycasts/bullets through walls else if wallTransparencies[part] ~= nil then part.Transparency = wallTransparencies[part] part.CanCollide = wallCollisions[part] part.CanQuery = wallQueries[part] else part.Transparency = 0 part.CanCollide = true part.CanQuery = true end end end end end end -- Active Noclip Loop to ensure player stays clipping through walls RunService.Stepped:Connect(function() if drainWallsActive or flyActive then local char = LocalPlayer.Character if char then for _, part in ipairs(char:GetDescendants()) do if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then part.CanCollide = false end end end end end) drainBtn.MouseButton1Click:Connect(function() drainWallsActive = not drainWallsActive drainBtn.Text = "Drain Walls " .. (drainWallsActive and "[ON]" or "[OFF]") drainBtn.BackgroundColor3 = drainWallsActive and Color3.fromRGB(0, 170, 100) or Color3.fromRGB(40, 40, 55) setDrainWalls(drainWallsActive) end) -- Reset handling on player respawn LocalPlayer.CharacterAdded:Connect(function(char) originalTransparencies = {} if invisConnection then invisConnection:Disconnect() invisConnection = nil end if flyActive then flyActive = false flyBtn.Text = "Fly Mode [OFF]" flyBtn.BackgroundColor3 = Color3.fromRGB(40, 40, 55) stopFlying() end if invisActive then task.wait(0.2) setInvisibility(true) end if drainWallsActive then task.wait(0.2) setDrainWalls(true) end end) -- ========================================== -- 7. MAIN RENDER LOOP (CAMERA LOCK & FLIGHT) -- ========================================== RunService.RenderStepped:Connect(function() -- Lock Target Camera Aim if lockOnActive and currentTarget and currentTarget.Character and currentTarget.Character:FindFirstChild("HumanoidRootPart") then local targetPos = currentTarget.Character.HumanoidRootPart.Position local currentCFrame = Camera.CFrame local targetCFrame = CFrame.new(currentCFrame.Position, targetPos) Camera.CFrame = currentCFrame:Lerp(targetCFrame, 0.28) end -- Flying Control Updates if flyActive and linearVelocity and LocalPlayer.Character then local moveDir = Vector3.zero local camCF = Camera.CFrame if UserInputService:IsKeyDown(Enum.KeyCode.W) then moveDir = moveDir + camCF.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.S) then moveDir = moveDir - camCF.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.A) then moveDir = moveDir - camCF.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.D) then moveDir = moveDir + camCF.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.Space) then moveDir = moveDir + Vector3.new(0, 1, 0) end if UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) then moveDir = moveDir - Vector3.new(0, 1, 0) end if moveDir.Magnitude > 0 then moveDir = moveDir.Unit end linearVelocity.VectorVelocity = moveDir * flySpeed end end)