Начинающий
Начинающий
- Статус
- Оффлайн
- Регистрация
- 9 Сен 2025
- Сообщения
- 18
- Реакции
- 0
После обновы кс2 крашит на строчке 20, помогите пж завтра реверсить буду щас не могу
Base.cs:
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);
}
}