Zum Inhalt springen
Funktioniert

OPEN SOURCE: Aftermath silent aim

CLclarkdevlinorg1 AufrufeUniversal26. Juli 2026
Teilen
OPEN SOURCE: Aftermath silent aim

Script-Code

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"))

Beschreibung

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

Kommentare (0)

Melde an, um an der Unterhaltung teilzunehmen

  • Sei der Erste, der kommentiert.

Häufig gestellte Fragen

Wie verwende ich den OPEN SOURCE: Aftermath silent aim-Script?
Kopiere den obigen Code, öffne deinen Roblox-Executor, füge den Code ein und drücke Ausführen, während du im Spiel bist. Die Funktionen werden sofort aktiviert, sobald der Script läuft.
Ist der OPEN SOURCE: Aftermath silent aim-Script kostenlos?
Ja. Dieser Script ist völlig kostenlos zu kopieren und zu verwenden. Wenn er ein Schlüsselsystem nutzt, folge dem Link "Schlüssel erhalten", um ihn kostenlos freizuschalten.
Ist der OPEN SOURCE: Aftermath silent aim-Script sicher zu verwenden?
Der vollständige Quellcode wird auf dieser Seite angezeigt, damit du genau lesen kannst, was er tut, bevor du ihn ausführst. Verwende immer einen vertrauenswürdigen Executor, und denke daran, dass die Verwendung von Scripts gegen die Nutzungsbedingungen von Roblox verstößt — verwende sie auf eigene Gefahr.
Welcher Executor funktioniert mit OPEN SOURCE: Aftermath silent aim?
Dieser Script funktioniert mit den meisten beliebten Roblox-Executoren. Besuche unsere Executor-Seite, um einen vertrauenswürdigen kostenlosen oder kostenpflichtigen Executor für dein Gerät zu finden.
OPEN SOURCE: Aftermath silent aim | BloxScripter