콘텐츠로 건너뛰기
작동 중

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