Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Вопрос Hitbox'ы не работают после обновы

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
9 Сен 2025
Сообщения
18
Реакции
0
После обновы кс2 крашит на строчке 20, помогите пж завтра реверсить буду щас не могу
Base.cs:
Expand Collapse Copy
public static void RenderHitboxes(Entity Entity, uint Color)
{
    if (Entity.Pawn == IntPtr.Zero) return;

    nint GameSceneNode = Memo.Read<nint>(Entity.Pawn + C_BaseEntity.m_pGameSceneNode);
    if (GameSceneNode == 0) return;

    nint BoneMatrixAddress = Memo.Read<nint>(GameSceneNode + CSkeletonInstance.m_modelState + 128);
    if (BoneMatrixAddress == 0) return;

    byte[] BoneBuffer = Memo.ReadBytes(BoneMatrixAddress, (uint)(BonesCount * BoneSize));
    if (BoneBuffer == null || BoneBuffer.Length == 0) return;

    ReadOnlySpan<BoneNative> Bones = MemoryMarshal.Cast<byte, BoneNative>(BoneBuffer);

    nint Model = Memo.Read<nint>(GameSceneNode + 0x1D0);
    if (Model == 0) return;
    nint ModelDeref = Memo.Read<nint>(Model);
    if (ModelDeref == 0) return;
    nint Meshes = Memo.Read<nint>(ModelDeref + 0x78);
    if (Meshes == 0) return;
    nint MeshesDeref = Memo.Read<nint>(Meshes);
    if (MeshesDeref == 0) return;
    nint HitboxSet = Memo.Read<nint>(MeshesDeref + 0x150);
    if (HitboxSet == 0) return;

    int HitboxCount = Memo.Read<int>(HitboxSet + 0x28);
    nint HitboxArray = Memo.Read<nint>(HitboxSet + 0x30);

    if (HitboxArray == 0 || HitboxCount <= 0 || HitboxCount > 100) return;

    for (int I = 0; I < HitboxCount; I++)
    {
        nint HitboxPtr = HitboxArray + (I * 0x70);
        nint NamePtr = Memo.Read<nint>(HitboxPtr);
        string Name = MemoryStringReader.ReadUtf8String(NamePtr);
        int BoneIdx = GetBoneIndexByName(Name);

        if (BoneIdx == -1 || BoneIdx >= BonesCount) continue;

        Vector3 Mins = Memo.Read<Vector3>(HitboxPtr + 0x18);
        Vector3 Maxs = Memo.Read<Vector3>(HitboxPtr + 0x24);
        float Radius = Memo.Read<float>(HitboxPtr + 0x30);

        DrawCapsule(Mins, Maxs, Radius, Bones[BoneIdx].Rotation, Bones[BoneIdx].Position, Color);
    }
}
 
РЕАЛЬНО??? КЛЯНИСЬ

 
РЕАЛЬНО??? КЛЯНИСЬ

в CRenderMesh оффсет на HitboxSets теперь 0x150 -> MeshesDeref + 0x150 бл буду
 
Назад
Сверху Снизу