跳转到内容
可用

OPEN SOURCE: Aftermath silent aim

CLclarkdevlinorg1 次浏览Universal2026年7月26日
分享
OPEN SOURCE: Aftermath silent aim

脚本代码

Lua
-- https://robloxscripts.com/script/aftermath-full-anti-cheat-bypass
loadstring(game:HttpGet("https://robloxscripts.com/raw/aftermath-full-anti-cheat-bypass"))()

local TargetPart = "Head"

local ReplicatedFirst = cloneref(game:GetService("ReplicatedFirst"))
local ReplicatedStorage = cloneref(game:GetService("ReplicatedStorage"))
local UserInputService = cloneref(game:GetService("UserInputService"))
local Players = cloneref(game:GetService("Players"))

local CustomMeshCharacter = require(ReplicatedFirst:WaitForChild("GunSystemPlugins"):WaitForChild("CustomMeshCharacter"))
local ConfigService = require(ReplicatedStorage:WaitForChild("CustomCharacter"):WaitForChild("ConfigService"))
local GunInventory = require(ReplicatedStorage:WaitForChild("GunSystem"):WaitForChild("GunLibrary"):WaitForChild("GunInventory"))

local LocalPlayer = Players.LocalPlayer
local CurrentCamera = workspace.CurrentCamera

local StateOffsets = {
    ["Normal"] = 4.75,
    ["Crouch"] = 3.5,
    ["Prone"] = 1.75,
    ["Sit"] = 2 -- Idfk cant even shoot while sitting
}

local PlayerState = LocalPlayer:WaitForChild("CharData"):WaitForChild("PlayerState")

local IsDead = function(Player: Player)
    return Player:GetAttribute("Dead") or Player:GetAttribute("StartLoading") ~= nil
end

local IsInSquad = function(Player: Player)
    local Squad = Player:GetAttribute("SquadName")

    if Squad == nil then
        return false
    end

    return Squad == LocalPlayer:GetAttribute("SquadName")
end

local GetClosestPlayer = function()
    local MouseLocation = UserInputService:GetMouseLocation()
    local ClosestPlayer, Distance = nil, math.huge

    for _,Data in CustomMeshCharacter:GetCharacters() do
        local Player = Data.Player

        if Player == LocalPlayer or IsDead(Player) or IsInSquad(Player) then
            continue
        end

        local Char = Data.WorldModel
        local AimPart = Char:FindFirstChild(TargetPart)

        if not AimPart then
            continue
        end

        local ScreenPos, OnScreen = CurrentCamera:WorldToViewportPoint(AimPart.Position)

        if not OnScreen then
            continue
        end

        local Dist = (Vector2.new(ScreenPos.X, ScreenPos.Y) - MouseLocation).Magnitude

        if Distance < Dist then
            continue
        end

        Distance = Dist
        ClosestPlayer = {
            Player = Data.Player,
            WorldModel = Data.WorldModel,
            TargetPart = AimPart,
            Character = Data.Character,
        }
    end

    return ClosestPlayer
end

local DefaultBulletSpeed = ConfigService.server():get("sv_default_bullet_speed")
local LocalInventory = GunInventory.new(LocalPlayer)

local BulletSpeed = DefaultBulletSpeed
local OnSelectedChanged = function(Data)
    local EquippedWeaponData = Data.WeaponData
    if not EquippedWeaponData then
        return
    end

    local Stats = EquippedWeaponData.Stats
    local BulletSettings = Stats.BulletSettings
    BulletSpeed = BulletSettings.BulletSpeed and BulletSettings.BulletSpeed.Value or DefaultBulletSpeed
end

if LocalInventory.WeaponData then
    OnSelectedChanged(LocalInventory)
end
LocalInventory.SelectedChanged:Connect(OnSelectedChanged)

local BulletGravity = ConfigService.server():get("sv_default_bullet_gravity") or 0
local PredictPosition = function(LocalPos, TargetPos, TargetVelocity)
    local TimeToHit = (LocalPos - TargetPos).Magnitude / BulletSpeed
    local Predicted = TargetPos + (TargetVelocity * TimeToHit)

    TimeToHit = (LocalPos - Predicted).Magnitude / BulletSpeed

    return Predicted + Vector3.yAxis * (BulletGravity * TimeToHit ^ 2), Predicted
end

local Offsets = {
    CFrame = { 32, 38, 39, 40, 44 },
    LookVector = { 33, 34, 45, 46 },
    Position = { 49, 50, 51, 56, 16 },
    Spread = 22,
    Pitch = 36,
    Yaw = 37,
    BulletId = 48,
    Multipliers = 54,
    Multipliers2 = 55,
    Timestamps = { 31, 4, 8 },
}

local BulletHoleOffsets = {
    RaycastResult = 3,
    ClientTick = 8,
    Position = { 9, 10 }
}

local GetSpread = function(BulletId, Spread)
    local Rand = Random.new(BulletId)
    return Vector3.new(
        Rand:NextNumber() - Rand:NextNumber(),
        Rand:NextNumber() - Rand:NextNumber(),
        Rand:NextNumber() - Rand:NextNumber()
    ) / Spread
end

local OldCreate; OldCreate = hookfunction(getrenv().buffer.create, newcclosure(function(Size)
    if Size ~= 300 then
        return OldCreate(Size)
    end

    local Stack = debug.getstack(3)[1]

    if type(Stack[BulletHoleOffsets.RaycastResult]) == "table" and Stack[BulletHoleOffsets.RaycastResult].Resimulation then
        -- bullet_hole
        return OldCreate(Size)
    end

    local PredictedCFrame = CFrame.lookAt(Vector3.zero, Stack[Offsets.LookVector[1]])
    local CameraOffset = Vector3.yAxis * (StateOffsets[PlayerState.Value] or 4.75)
    local Origin = Stack[Offsets.Position[1]] + CameraOffset

    local Closest = GetClosestPlayer()
    if Closest then
        local RootPart = Closest.Character:FindFirstChild("Part")
        local CharVelocity = Closest.Player:FindFirstChild("CharData"):FindFirstChild("Velocity")
        local Car = Closest.Player:FindFirstChild("Car")

        local TargetVelocity = Vector3.zero
        local Vehicle = Car and Car.Value

        if Vehicle then
            TargetVelocity = Vehicle:FindFirstChild("Chassis").AssemblyLinearVelocity
        elseif RootPart then
            TargetVelocity = RootPart.AssemblyLinearVelocity
        elseif CharVelocity then
            TargetVelocity = CharVelocity.Value
        else
            TargetVelocity = Vector3.zero
        end

        local TargetPos = PredictPosition(Origin, Closest.TargetPart.Position, TargetVelocity)

        PredictedCFrame = CFrame.lookAt(Origin, TargetPos)
    end

    -- No spread
    local Spread = GetSpread(Stack[Offsets.BulletId] + 1, Stack[Offsets.Spread])
    PredictedCFrame = CFrame.lookAt(Vector3.zero, PredictedCFrame.LookVector - Spread)

    local Pitch, Yaw, _ = PredictedCFrame:ToOrientation()

    Stack[Offsets.Pitch] = Pitch
    Stack[Offsets.Yaw] = Yaw

    for _,Index in Offsets.CFrame do
        Stack[Index] = PredictedCFrame.Rotation
    end

    for _,Index in Offsets.LookVector do
        Stack[Index] = PredictedCFrame.LookVector
    end

    debug.setstack(3, 1, Stack)

    return OldCreate(Size)
end, "create"))

描述

Made on game version 267 any future versions most likely have new offsets. I will not be updating this script with new ones if they changed

评论 (0)

登录以参与讨论

  • 成为第一个评论的人。

常见问题

如何使用 OPEN SOURCE: Aftermath silent aim 脚本?
复制上方的脚本代码,打开你的 Roblox 执行器,粘贴代码,然后在游戏中点击执行。脚本运行后功能会立即激活。
OPEN SOURCE: Aftermath silent aim 脚本免费吗?
是的。此脚本免费复制和使用。如果使用密钥系统,请通过「获取密钥」链接免费解锁。
使用 OPEN SOURCE: Aftermath silent aim 脚本安全吗?
完整源代码显示在此页面上,让你在运行前准确了解其功能。请始终使用可信的执行器,并记住使用脚本违反 Roblox 服务条款,风险自负。
哪个执行器兼容 OPEN SOURCE: Aftermath silent aim?
此脚本兼容大多数热门 Roblox 执行器。查看我们的执行器页面,为你的设备找到可信的免费或付费执行器。
OPEN SOURCE: Aftermath silent aim | BloxScripter