--[[
Combat Pro Pack
Game: Arsenal
Type: Keyless | Undetectable | PC + Mobile
Features: Silent Aim, ESP, No Recoil, No Spread, Movement
]]
-- SERVICES
local Players = game:GetService("Players")
local UIS = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local Camera = workspace.CurrentCamera
local Workspace = workspace
local LocalPlayer = Players.LocalPlayer
local Mouse = LocalPlayer:GetMouse()
-- ANTI-DETECTION / BYPASS
setmetatable(game, {
__index = function(t, k)
if type(k) == "string" and (
k:lower():find("anticheat") or
k:lower():find("kick") or
k:lower():find("ban") or
k:lower():find("check")
) then
return function() end
end
return rawget(t, k)
end
})
-- CONFIG
local Config = {
SilentAim = true,
AimPart = "Head", -- Head / UpperTorso / HumanoidRootPart
AimKey = Enum.UserInputType.MouseButton1,
Smoothness = 2.5,
AimThroughWalls = false,
ESP = true,
Boxes = true,
Names = true,
Health = true,
Distance = true,
Tracers = true,
BoxColor = Color3.new(1, 0, 0),
NoRecoil = true,
NoSpread = true,
InstantReload = true,
WalkSpeed = 34,
JumpPower = 65,
NoFallDamage = true
}
-- STORAGE
local Drawings = {}
-- CHECK LINE OF SIGHT
local function IsVisible(From, To)
local Ray = Ray.new(From, (To - From).Unit * (To - From).Magnitude)
local Hit = Workspace:FindPartOnRayWithIgnoreList(Ray, {LocalPlayer.Character, Camera})
return not Hit
end
-- GET ALL ENEMIES
local function GetEnemies()
local List = {}
for _, Plr in pairs(Players:GetPlayers()) do
if Plr ~= LocalPlayer and Plr.Character then
local Char = Plr.Character
local Hum = Char:FindFirstChildWhichIsA("Humanoid")
local Root = Char:FindFirstChild("HumanoidRootPart")
if Hum and Root and Hum.Health > 0 and Plr.Team ~= LocalPlayer.Team then
table.insert(List, Char)
end
end
end
return List
end
-- GET CLOSEST ENEMY TO MOUSE
local function GetClosestTarget()
local Enemies = GetEnemies()
local Closest, MinDist = nil, math.huge
local MousePos = Vector2.new(Mouse.X, Mouse.Y)
for _, Char in pairs(Enemies) do
local Part = Char:FindFirstChild(Config.AimPart)
if Part then
local SPos, OnScreen = Camera:WorldToScreenPoint(Part.Position)
if OnScreen then
if not Config.AimThroughWalls and not IsVisible(Camera.Position, Part.Position) then continue end
local Dist = (Vector2.new(SPos.X, SPos.Y) - MousePos).Magnitude
if Dist < MinDist then
MinDist = Dist
Closest = Part
end
end
end
end
return Closest
end
-- SILENT AIM
UIS.InputBegan:Connect(function(Input, GP)
if GP then return end
if Config.SilentAim and Input.UserInputType == Config.AimKey then
local Target = GetClosestTarget()
if Target then
local StartCF = Camera.CFrame
local EndCF = CFrame.new(Camera.Position, Target.Position)
for Step = 1, math.floor(Config.Smoothness) do
Camera.CFrame = StartCF:Lerp(EndCF, Step / Config.Smoothness)
RunService.RenderStepped:Wait()
end
Camera.CFrame = EndCF
end
end
end)
-- COMBAT TWEAKS
RunService.RenderStepped:Connect(function()
if not LocalPlayer.Character then return end
local Weapon = LocalPlayer.Character:FindFirstChildWhichIsA("Tool")
if Weapon then
if Config.NoRecoil and Weapon:FindFirstChild("Recoil") then Weapon.Recoil:Destroy() end
if Config.NoSpread and Weapon:FindFirstChild("Spread") then Weapon.Spread = NumberRange.new(0, 0) end
if Config.InstantReload and Weapon:FindFirstChild("ReloadTime") then Weapon.ReloadTime = 0.01 end
end
end)
-- MOVEMENT
LocalPlayer.CharacterAdded:Connect(function(Char)
local Hum = Char:WaitForChild("Humanoid", 5)
if Hum then
Hum.WalkSpeed = Config.WalkSpeed
Hum.JumpPower = Config.JumpPower
Hum.FallDamage = not Config.NoFallDamage
end
end)
-- ESP SYSTEM
local function StartESP()
for _, Obj in pairs(Drawings) do
if typeof(Obj) == "table" then
for _, D in pairs(Obj) do D:Destroy() end
end
end
Drawings = {}
RunService.RenderStepped:Connect(function()
if not Config.ESP then return end
local Enemies = GetEnemies()
for _, Char in pairs(Enemies) do
if Drawings[Char] then
for _, D in pairs(Drawings[Char]) do D:Destroy() end
Drawings[Char] = nil
end
local Hum = Char:FindFirstChildWhichIsA("Humanoid")
local Root = Char:FindFirstChild("HumanoidRootPart")
if not Hum or not Root then continue end
local SPos, OnScreen = Camera:WorldToScreenPoint(Root.Position)
if not OnScreen then continue end
Drawings[Char] = {}
-- BOX
if Config.Boxes then
local Box = Drawing.new("Square")
Box.Color = Config.BoxColor
Box.Thickness = 1
Box.Filled = false
Box.Size = Vector2.new(42, 65)
Box.Position = Vector2.new(SPos.X - 21, SPos.Y - 32)
Box.Visible = true
Drawings[Char].Box = Box
end
-- NAME
if Config.Names then
local Name = Drawing.new("Text")
Name.Text = Char.Parent.Name
Name.Color = Color3.new(1,1,1)
Name.Size = 14
Name.Center = true
Name.Position = Vector2.new(SPos.X, SPos.Y - 42)
Name.Visible = true
Drawings[Char].Name = Name
end
-- HEALTH
if Config.Health then
local Health = Drawing.new("Text")
Health.Text = math.floor(Hum.Health).." HP"
Health.Color = Hum.Health > 60 and Color3.new(0,1,0) or Color3.new(1,0,0)
Health.Size = 12
Health.Center = true
Health.Position = Vector2.new(SPos.X, SPos.Y + 38)
Health.Visible = true
Drawings[Char].Health = Health
end
-- DISTANCE
if Config.Distance then
local Dist = (Camera.CFrame.Position - Root.Position).Magnitude
local DistText = Drawing.new("Text")
DistText.Text = math.floor(Dist).."m"
DistText.Color = Color3.new(0.8, 0.8, 0.8)
DistText.Size = 11
DistText.Center = true
DistText.Position = Vector2.new(SPos.X, SPos.Y + 52)
DistText.Visible = true
Drawings[Char].Distance = DistText
end
-- TRACER
if Config.Tracers then
local Tracer = Drawing.new("Line")
Tracer.Color = Config.BoxColor
Tracer.Thickness = 1
Tracer.From = Vector2.new(Camera.ViewportSize.X/2, Camera.ViewportSize.Y)
Tracer.To = Vector2.new(SPos.X, SPos.Y)
Tracer.Visible = true
Drawings[Char].Tracer = Tracer
end
end
end)
end
-- START ALL SYSTEMS
StartESP()
print("✅ Combat Pro Pack — Loaded Successfully")
Comments
No comments yet
Be the first to share your thoughts!