Combat Warriors | auto shoot, aimbot, hitbox expander AND wallbang

MADE BY Lokii#4575

FEATURE:

  • AUTO SHOOT
  • AIMBOT
  • HITBOX EXPANDER
  • WALLBANG
if _G.PredictionVal == nil then
	_G.PredictionVal = 0.19
end

local events = game:GetService("ReplicatedStorage").Communication.Events
local functions = game:GetService("ReplicatedStorage").Communication.Functions
for i,v in pairs(getgc(true)) do
    if typeof(v) == "table" and rawget(v,"Remote") then
        v.Remote.Name = v.Name
    end
end
local oldnamecall; oldnamecall = hookmetamethod(game, "__namecall", function(self, ...)
    local args = {...}
    local method = getnamecallmethod();

    if (method == "Kick" or method == "kick") and self == game.Players.LocalPlayer then
        return;
    end

    return oldnamecall(self, unpack(args))
end)
game.CollectionService:AddTag(game:GetService("Workspace").Map,'CAMERA_COLLISION_IGNORE_LIST')
if _G.Wallbang == nil then
    _G.Wallbang = true
end
if _G.Wallbang then
    game.CollectionService:AddTag(game:GetService("Workspace").Map,'RANGED_CASTER_IGNORE_LIST')
end
local LocalPlayer = game.Players.LocalPlayer
local ARROW
local shot = false
local arrowsshooted = 0
local predicted
local silentaim = true
local Players = game.Players
local mouse = LocalPlayer:GetMouse()
local function getClosestToMouse() -- got this from cheese bcuz im too lazy again and yes he got from devforum
    local player, nearestDistance = nil, math.huge*9e9
    for i,v in pairs(Players:GetPlayers()) do
        if v ~= Players.LocalPlayer and v.Character:FindFirstChild("Humanoid") and v.Character.Humanoid.Health > 0 and v.Character:FindFirstChild("HumanoidRootPart") then
            local root, visible = workspace.CurrentCamera:WorldToViewportPoint(v.Character.HumanoidRootPart.Position)
            if visible then
                local distance = (Vector2.new(mouse.X, mouse.Y) - Vector2.new(root.X, root.Y)).Magnitude

                if distance < nearestDistance then
                    nearestDistance = distance
                    player = v
                end
            end
        end
    end
    return player
end
if _G.NoSpread == nil then
    _G.NoSpread = true
end
if _G.NoRecoil == nil then
    _G.NoRecoil = true
end
if _G.NoGravity == nil then
    _G.NoGravity = true
end
if _G.InfDistance == nil then
    _G.InfDistance = true
end
if _G.ShootAfterCharge == nil then
    _G.ShootAfterCharge = true
end
for i,v in pairs(getgc(true)) do
    if typeof(v) == 'table' and rawget(v,'maxSpread') then
        if _G.NoSpread then
            v.maxSpread = 0
        end
        if _G.NoRecoil then
            v.recoilYMin = 0
            v.recoilZMin = 0
            v.recoilXMin = 0
            v.recoilYMax = 0
            v.recoilZMax = 0
            v.recoilXMax = 0
        end
        if _G.NoGravity then
            v.gravity = Vector3.new(0,0,0)
        end
        if _G.InfDistance then
            v.maxDistance = 999999
        end
        if _G.ShootAfterCharge then
            v.startShootingAfterCharge = true
        end
    end
end
local box = Instance.new("SelectionBox",workspace)
workspace.EffectsJunk.ChildAdded:Connect(function(p)
    task.wait() -- yields to prevent some shit lol!
    if LocalPlayer.Character:FindFirstChildOfClass("Tool") == nil then
        shot = false
        return
    end
    local Tool = LocalPlayer.Character:FindFirstChildOfClass("Tool")
    if Tool:FindFirstChild("ClientAmmo") == nil then
        shot = false
        return
    end
    if (shot and p:IsA("MeshPart") and p:FindFirstChild("Tip") ~= nil) then
        ARROW = p
        box.Adornee = p
        shot = false
    end
end)

for i,v in pairs(getgc(true)) do
    if typeof(v) == "table" and rawget(v,"shoot") then
        local Old = v.shoot
        v.shoot = function(tbl)
            shot = true
            arrowsshooted = tbl.shotIdx
            return Old(tbl)
        end
    end

    if typeof(v) == "table" and rawget(v,"calculateFireDirection") then
        old = v.calculateFireDirection
        v.calculateFireDirection = function(p3,p4,p5,p6)
            local Tool = LocalPlayer.Character:FindFirstChildOfClass("Tool")
            if Tool:FindFirstChild("ClientAmmo") == nil then
                return old(p3,p4,p5,p6)
            end
            if (shot and silentaim) then
                if not predicted then
                    return old(p3,p4,p5,p6)
                else
                    return predicted
                end
            end
            return old(p3,p4,p5,p6)
        end
    end
end
if _G.HitPart == nil then
    _G.HitPart = "Head"
end
local Parts = {"Head","HumanoidRootPart","Torso","Left Leg","Right Leg","Left Arm","Right Arm"}
for i,v in pairs(Parts) do
    if _G.HitPart ~= v then
        _G.HitPart = "Head"
    end
end
firehit = function(character,arrow)
    local fakepos = character[_G.HitPart].Position + Vector3.new(math.random(1,5),math.random(1,5),math.random(1,5))
    local args = {
        [1] = LocalPlayer.Character:FindFirstChildOfClass("Tool"),
        [2] = character[_G.HitPart],
        [3] = fakepos,
        [4] = character[_G.HitPart].CFrame:ToObjectSpace(CFrame.new(fakepos)),
        [5] = fakepos * Vector3.new(math.random(1,5),math.random(1,5),math.random(1,5)),
        [6] = tostring(arrowsshooted)
    }
    game:GetService("ReplicatedStorage").Communication.Events.RangedHit:FireServer(unpack(args))
end
local bruh = Instance.new("SelectionBox",workspace)
bruh.Color3 = Color3.fromRGB(163, 61, 54)
local M = game.Players.LocalPlayer:GetMouse()
local Cam = game.Workspace.CurrentCamera
-- dev forum
function WorldToScreen(Pos)
    local point = Cam.CoordinateFrame:pointToObjectSpace(Pos)
    local aspectRatio = M.ViewSizeX / M.ViewSizeY
    local hfactor = math.tan(math.rad(Cam.FieldOfView) / 2)
    local wfactor = aspectRatio*hfactor

    local x = (point.x/point.z) / -wfactor
    local y = (point.y/point.z) /  hfactor

    return Vector2.new(M.ViewSizeX * (0.5 + 0.5 * x), M.ViewSizeY * (0.5 + 0.5 * y))
end
local closest
local Prediction
local ScreenGui = Instance.new("ScreenGui")
local Frame = Instance.new("Frame")
local UICorner = Instance.new("UICorner")
local UIStroke = Instance.new("UIStroke")
local Aiming = Instance.new("TextLabel")
local Position = Instance.new("TextLabel")
local PredictionV = Instance.new("TextLabel")

--Properties:

ScreenGui.Parent = game.CoreGui
ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling

Frame.Parent = ScreenGui
Frame.BackgroundColor3 = Color3.fromRGB(85, 170, 255)
Frame.Position = UDim2.new(0.100260414, 0, 0.349072516, 0)
Frame.Size = UDim2.new(0, 10, 0, 10)

UICorner.CornerRadius = UDim.new(10, 10)
UICorner.Parent = Frame

Aiming.Name = "Aiming"
Aiming.Parent = Frame
Aiming.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
Aiming.BackgroundTransparency = 1.000
Aiming.BorderColor3 = Color3.fromRGB(27, 42, 53)
Aiming.Position = UDim2.new(-9.5, 0, 1.99999988, 0)
Aiming.Size = UDim2.new(0, 200, 0, 11)
Aiming.Font = Enum.Font.SpecialElite
Aiming.Text = "Aiming At: None"
Aiming.TextColor3 = Color3.fromRGB(255, 255, 255)
Aiming.TextSize = 14.000

Position.Name = "Position"
Position.Parent = Frame
Position.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
Position.BackgroundTransparency = 1.000
Position.BorderColor3 = Color3.fromRGB(27, 42, 53)
Position.Position = UDim2.new(-9.5, 0, 3.99999988, 0)
Position.Size = UDim2.new(0, 200, 0, 11)
Position.Font = Enum.Font.SpecialElite
Position.Text = "Position: None"
Position.TextColor3 = Color3.fromRGB(255, 255, 255)
Position.TextSize = 14.000

PredictionV.Name = "PredictionV"
PredictionV.Parent = Frame
PredictionV.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
PredictionV.BackgroundTransparency = 1.000
PredictionV.BorderColor3 = Color3.fromRGB(27, 42, 53)
PredictionV.Position = UDim2.new(-9.5, 0, 5.99999988, 0)
PredictionV.Size = UDim2.new(0, 200, 0, 11)
PredictionV.Font = Enum.Font.SpecialElite
PredictionV.Text = "Prediction Value: ".._G.PredictionVal
PredictionV.TextColor3 = Color3.fromRGB(255, 255, 255)
PredictionV.TextSize = 14.000

UIStroke.Thickness = 2
UIStroke.Parent = Frame
if _G.Percent == nil then
    _G.Percent = 100
end
if _G.InstantCharge == nil then
    _G.InstantCharge = true
end
if _G.HitDistance == nil then
    _G.HitDistance = 15
end
while wait() do
    pcall(function()
        local Tool = LocalPlayer.Character:FindFirstChildOfClass("Tool")
        if Tool:FindFirstChild("ClientAmmo") == nil then
            return
        end
        closest = getClosestToMouse()
        if closest then
            bruh.Adornee = closest.Character
            Aiming.Text = "Aiming At: "..closest.Name
            PredictionV.Text = "Prediction Value: ".._G.PredictionVal
            Prediction = closest.Character.Head.CFrame + (closest.Character.Head.Velocity * _G.PredictionVal + Vector3.new(0, .1, 0))
            predicted = (CFrame.lookAt(Tool.Contents.Handle.FirePoint.WorldCFrame.Position, Prediction.Position)).LookVector * 30;
            Position.Text = "Position: "..Prediction.Position.X..", "..Prediction.Y..", "..Prediction.Y
            local Vec = WorldToScreen(Prediction.Position)
            Frame.Position = UDim2.new(0,Vec.X,0,Vec.Y)
        end
        if (ARROW and silentaim) then
            if closest then
                if (ARROW.Position - closest.Character.HumanoidRootPart.Position).Magnitude <= _G.HitDistance then
                    if _G.Percent == 100 then
                        firehit(closest.Character,ARROW)
                        ARROW = nil
                        shot = false
                    elseif _G.Percent ~= 100 then
                        local percent = math.random(1,100)

                        if percent >= Percent then
                            firehit(closest.Character,ARROW)
                            ARROW = nil
                            shot = false
                        end
                    end
                end
            end
        end

        if LocalPlayer.Character then
            if (LocalPlayer.Character:FindFirstChild('Longbow') and _G.InstantCharge) then
                for i,v in pairs(getconnections(Tool.ChargeProgressClient:GetPropertyChangedSignal("Value"))) do
                    v:Disable()
                end
                Tool.ChargeProgressClient.Value = 1
            end
        end
    end)
end

⚠️ Warning: Do not download any extensions or anything other than .txt/.lua file, because script will download only in .txt/.lua format or It will redirect you to a pastebin link.

📋 Notice: If you find any of the scripts patched or not working, please report it to Forever4D through Discord. The script will be removed or marked as patched!