local Players = game:GetService("Players") local RS = game:GetService("ReplicatedStorage") local WS = game:GetService("Workspace") local LP = Players.LocalPlayer local Camera = WS.CurrentCamera local guns = { "scar2", "UMP", "Sniper" } local function getGun() for _, name in ipairs(guns) do local g = LP.Character and LP.Character:FindFirstChild(name) if g then return g end end end local gui = Instance.new("ScreenGui", game.CoreGui) local frame = Instance.new("Frame", gui) frame.Size = UDim2.new(0, 200, 0, 240) frame.Position = UDim2.new(0, 20, 0, 100) frame.BackgroundColor3 = Color3.fromRGB(15, 15, 15) frame.BorderSizePixel = 0 frame.Active = true frame.Draggable = true local toggles = { { name = "Aimbot", value = false }, { name = "Wallbang", value = false }, { name = "ESP", value = true }, { name = "TP Enemies", value = false }, { name = "Safe Mode", value = true } } local buttons = {} for i, data in ipairs(toggles) do local btn = Instance.new("TextButton", frame) btn.Size = UDim2.new(1, -10, 0, 30) btn.Position = UDim2.new(0, 5, 0, 5 + (i-1)*35) btn.BackgroundColor3 = Color3.fromRGB(30, 30, 30) btn.TextColor3 = Color3.new(1,1,1) btn.TextSize = 13 btn.Text = data.name .. " OFF" btn.Font = Enum.Font.GothamBold btn.MouseButton1Click:Connect(function() data.value = not data.value btn.Text = data.name .. (data.value and " ON" or " OFF") end) buttons[data.name] = btn end local function applyESP() for _, p in ipairs(Players:GetPlayers()) do if p ~= LP and p.Character and not p.Character:FindFirstChildOfClass("Highlight") then local h = Instance.new("Highlight", p.Character) h.FillColor = Color3.new(1, 0, 0) h.OutlineColor = Color3.new(1, 0, 0) end end end local function getClosest() local closest, dist = nil, math.huge for _, p in ipairs(Players:GetPlayers()) do if p ~= LP and p.Character and p.Character:FindFirstChild("Head") and p.Character:FindFirstChild("Humanoid") and p.Character.Humanoid.Health > 0 then local h = p.Character.Head local screen, on = Camera:WorldToViewportPoint(h.Position) local mag = (Vector2.new(screen.X, screen.Y) - Camera.ViewportSize / 2).Magnitude if on and mag < dist then closest = h dist = mag end end end return closest end local fireTimer = tick() game:GetService("RunService").RenderStepped:Connect(function() local gun = getGun() if not gun then return end local ammo = gun:FindFirstChild("CurrentAmmo") if ammo then ammo.Value = 999 end local conf = gun:FindFirstChild("Configuration") if conf and conf:FindFirstChild("HitDamage") then conf.HitDamage.Value = 9999 end if toggles[3].value then applyESP() end if toggles[4].value then for _, p in ipairs(Players:GetPlayers()) do if p ~= LP and p.Character and p.Character:FindFirstChild("HumanoidRootPart") then local root = LP.Character and LP.Character:FindFirstChild("HumanoidRootPart") if root then local pos = root.Position + root.CFrame.LookVector * 4 p.Character.HumanoidRootPart.CFrame = CFrame.new(pos, root.Position) * CFrame.Angles(0, math.pi, 0) end end end end if toggles[1].value then local tgt = getClosest() if tgt then Camera.CFrame = CFrame.new(Camera.CFrame.Position, tgt.Position) if toggles[5].value and tick() - fireTimer < 0.3 then return end fireTimer = tick() local dir = (tgt.Position - Camera.CFrame.Position).Unit local fireArgs = { [1] = gun, [2] = { ["id"] = 2, ["charge"] = 0, ["dir"] = dir, ["origin"] = Camera.CFrame.Position } } RS.WeaponsSystem.Network.WeaponFired:FireServer(unpack(fireArgs)) if toggles[2].value then local hitArgs = { [1] = gun, [2] = { ["p"] = tgt.Position, ["pid"] = 1, ["part"] = tgt, ["d"] = 9999, ["maxDist"] = (LP.Character.Head.Position - tgt.Position).Magnitude, ["h"] = tgt, ["m"] = Enum.Material.Plastic, ["sid"] = math.random(1000,9999), ["t"] = tick(), ["n"] = Vector3.zero } } RS.WeaponsSystem.Network.WeaponHit:FireServer(unpack(hitArgs)) end end end end) game.StarterGui:SetCore("SendNotification", { Title = "Loaded", Text = "Combat UI", Duration = 3 })