static auto bInterpolateAnimations = *(intptr_t*)(Utils::PatternScan( "client_panorama.dll", "80 BF ? ? ? ? ? 0F 84 ? ? ? ? 83 BF ? ? ? ? ? 74 7C" ) + 2);
// выбрасываем 2 не нужные кости
// далее используем эту матрицу для аима
matrix3x4_t bone_cache[126];
CBaseEntity* player = GetRagebotTarget();
if(!player)
return;
DWORD AnimFixTarget = (DWORD)player;
*(DWORD*)(AnimFixTarget + 0xA24) = 0;
*(DWORD*)(AnimFixTarget + 0xA30) = g_GlobalVars->framecount;
*(DWORD*)(AnimFixTarget + 0xF0) &= ~8;
*(DWORD*)(AnimFixTarget + bInterpolateAnimations) = false;
player->InvalidateBoneCache();
player->SetupBones(bone_cache, 126, BONE_USED_BY_ANYTHING, g_GlobalVars->curtime);
// готово, наша матрица костей идеально синхронизированна с сервером, никакие десинки не проблема