跳至內容
可用

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