
Keyless

--safe
--!native
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local LocalPlayer = Players.LocalPlayer
local Env = (getgenv and getgenv()) or _G
if Env.BallisticSilentAimState and Env.BallisticSilentAimState.Cleanup then
Env.BallisticSilentAimState.Cleanup()
end
local State = {
Active = true,
OriginalAimDirection = nil :: ((Vector3) -> Vector3)?,
OriginalAssistDirection = nil :: ((Vector3, Vector3, boolean?) -> Vector3)?,
OriginalAimPoint = nil :: ((number?) -> (Vector3, RaycastResult?))?,
}
local function ResolveCombatFolder(): Instance?
local playerScripts = LocalPlayer:FindFirstChild("PlayerScripts")
if playerScripts then
local combatFolder = playerScripts:FindFirstChild("Combat")
if combatFolder then
return combatFolder
end
end
return LocalPlayer:FindFirstChild("Combat")
end
local CombatFolder = ResolveCombatFolder()
local SharedFolder = ReplicatedStorage:WaitForChild("Shared", 10)
local UtilModule = if CombatFolder and CombatFolder:FindFirstChild("Util")
then require(CombatFolder.Util)
else nil
local CombatShared = if SharedFolder and SharedFolder:FindFirstChild("Combat")
then require(SharedFolder.Combat)
else nil
local ControllerStateTable: { [any]: any }? = nil
if filtergc then
local matches = filtergc("table", { Keys = { "shotId", "killStreak", "pressed" } }, true)
if type(matches) == "table" and #matches > 0 then
ControllerStateTable = matches[1]
end
elseif getgc then
for _, v in getgc(true) do
if type(v) ~= "table" then
continue
end
if rawget(v, "shotId") ~= nil and rawget(v, "killStreak") ~= nil and rawget(v, "pressed") ~= nil then
ControllerStateTable = v
break
end
end
end
local function GetActiveProjectilePhysics(): (number, number)
local speed = 180
local gravity = 60
if ControllerStateTable then
local handler = rawget(ControllerStateTable, "handler")
if type(handler) == "table" then
local tuning = rawget(handler, "tuning")
if type(tuning) == "table" then
local g = rawget(tuning, "gravity")
if type(g) == "number" then
gravity = g
end
local charge = 1
local chargeFn = rawget(handler, "Charge") or (getmetatable(handler) and rawget(getmetatable(handler), "Charge"))
if type(chargeFn) == "function" then
local ok, c = pcall(chargeFn, handler)
if ok and type(c) == "number" and c > 0 then
charge = c
end
end
if CombatShared and type(rawget(CombatShared, "DrawnShot")) == "function" then
local ok, _, drawnSpeed = pcall(rawget(CombatShared, "DrawnShot"), tuning, charge)
if ok and type(drawnSpeed) == "number" and drawnSpeed > 0 then
speed = drawnSpeed
end
elseif type(rawget(tuning, "speed")) == "number" then
speed = rawget(tuning, "speed")
end
end
end
end
return speed, gravity
end
local function FindBestTarget(origin: Vector3): (BasePart?, Model?)
if not UtilModule then
return nil, nil
end
local targetsFn = rawget(UtilModule, "Targets")
local canPredictFn = rawget(UtilModule, "CanPredictHit")
local worldParamsFn = rawget(UtilModule, "WorldParams")
if type(targetsFn) ~= "function" then
return nil, nil
end
local targets = targetsFn()
local rayParams = if type(worldParamsFn) == "function" then worldParamsFn(targets) else nil
local camera = workspace.CurrentCamera
local camLook = if camera then camera.CFrame.LookVector else Vector3.new(0, 0, -1)
local bestPart: BasePart? = nil
local bestModel: Model? = nil
local bestScore = math.huge
for _, model in targets do
if typeof(model) ~= "Instance" or not model:IsA("Model") then
continue
end
if type(canPredictFn) == "function" and not canPredictFn(model) then
continue
end
local hum = model:FindFirstChildOfClass("Humanoid")
if not hum or hum.Health <= 0 then
continue
end
local head = model:FindFirstChild("Head")
local root = model:FindFirstChild("HumanoidRootPart")
local targetPart: BasePart? = if head and head:IsA("BasePart")
then head
elseif root and root:IsA("BasePart") then root
else nil
if not targetPart then
continue
end
local delta = targetPart.Position - origin
local dist = delta.Magnitude
if dist < 1 or dist > 450 then
continue
end
if rayParams then
local hit = workspace:Raycast(origin, delta, rayParams)
if hit and not hit.Instance:IsDescendantOf(model) then
continue
end
end
local dot = delta.Unit:Dot(camLook)
local score = (1 - dot) * 120 + dist * 0.15
if score < bestScore then
bestScore = score
bestPart = targetPart
bestModel = model
end
end
return bestPart, bestModel
end
local function ComputeBallisticAimPoint(origin: Vector3, targetPart: BasePart): Vector3
local speed, gravity = GetActiveProjectilePhysics()
local targetPos = targetPart.Position
local velocity = targetPart.AssemblyLinearVelocity
local dist = (targetPos - origin).Magnitude
local flightTime = if speed > 1 then dist / speed else 0
local predictedPos = targetPos + Vector3.new(velocity.X, velocity.Y * 0.35, velocity.Z) * flightTime
flightTime = if speed > 1 then (predictedPos - origin).Magnitude / speed else 0
local dropCompensation = 0.5 * gravity * (flightTime * flightTime)
return predictedPos + Vector3.new(0, dropCompensation, 0)
end
if UtilModule and not table.isfrozen(UtilModule) then
State.OriginalAimDirection = rawget(UtilModule, "AimDirection")
State.OriginalAssistDirection = rawget(UtilModule, "AssistDirection")
State.OriginalAimPoint = rawget(UtilModule, "AimPoint")
rawset(UtilModule, "AimDirection", function(origin: Vector3): Vector3
if State.Active and typeof(origin) == "Vector3" then
local targetPart = FindBestTarget(origin)
if targetPart then
local aimPos = ComputeBallisticAimPoint(origin, targetPart)
local delta = aimPos - origin
if delta.Magnitude > 0.01 then
return delta.Unit
end
end
end
if State.OriginalAimDirection then
return State.OriginalAimDirection(origin)
end
return Vector3.new(0, 0, -1)
end)
rawset(UtilModule, "AssistDirection", function(origin: Vector3, dir: Vector3, isArc: boolean?): Vector3
if State.Active and typeof(origin) == "Vector3" then
local targetPart = FindBestTarget(origin)
if targetPart then
local aimPos = ComputeBallisticAimPoint(origin, targetPart)
local delta = aimPos - origin
if delta.Magnitude > 0.01 then
return delta.Unit
end
end
end
if State.OriginalAssistDirection then
return State.OriginalAssistDirection(origin, dir, isArc)
end
return dir
end)
rawset(UtilModule, "AimPoint", function(range: number?): (Vector3, RaycastResult?)
if State.Active then
local char = LocalPlayer.Character
local head = char and char:FindFirstChild("Head")
local origin = if head and head:IsA("BasePart")
then head.Position
elseif workspace.CurrentCamera then workspace.CurrentCamera.CFrame.Position
else Vector3.zero
local targetPart = FindBestTarget(origin)
if targetPart then
return ComputeBallisticAimPoint(origin, targetPart), nil
end
end
if State.OriginalAimPoint then
return State.OriginalAimPoint(range)
end
return Vector3.zero, nil
end)
end
State.Cleanup = function()
State.Active = false
if UtilModule and not table.isfrozen(UtilModule) then
if State.OriginalAimDirection then
rawset(UtilModule, "AimDirection", State.OriginalAimDirection)
end
if State.OriginalAssistDirection then
rawset(UtilModule, "AssistDirection", State.OriginalAssistDirection)
end
if State.OriginalAimPoint then
rawset(UtilModule, "AimPoint", State.OriginalAimPoint)
end
end
end
Env.BallisticSilentAimState = State
It wouldn't load