sapphire dev
-
Автор темы
- #1
Для лохусоф делаю самый полезный гаед с выбором использования функции указанной в названии:
C++:
void invalidate_bone_cache()
{
static auto invalidate_bone_cache_call = pattern::find(m_client_dll, XOR("E8 ? ? ? ? 43 3B 5D F4 7C CF 8B 75 FC 8B 7D 08")).relative().as<void(__thiscall*)(void*)>();
static auto byte_10D5C0E0 = *(bool*)(pattern::find(m_client_dll, XOR("80 3D ? ? ? ? ? 74 16 A1 ? ? ? ? 48 C7 81")) + 0x2);
const bool backup_byte = byte_10D5C0E0;
byte_10D5C0E0 = true;
invalidate_bone_cache_call(this);
byte_10D5C0E0 = backup_byte;
}
C++:
void invalidate_bone_cache()
{
static auto ptr_ModelBoneCounter = *(int*)(pattern::find(m_client_dll, XOR("A1 ? ? ? ? 48 C7 81 ? ? ? ? ? ? ? ?")) + 0x2);
static auto offset_flLastBoneSetupTime = *(uintptr_t*)(pattern::find(m_client_dll, XOR("C7 87 ? ? ? ? ? ? ? ? 89 87 ? ? ? ? 8B 8F")) + 0x2);
static auto offset_iMostRecentModelBoneCounter = *(uintptr_t*)(pattern::find(m_client_dll, XOR("89 87 ? ? ? ? 8B 8F ? ? ? ? 85 C9 74 10")) + 0x2);
*(float*)(uintptr_t(this) + offset_flLastBoneSetupTime) = -FLT_MAX;
*(int*)(uintptr_t(this) + offset_iMostRecentModelBoneCounter) = (ptr_ModelBoneCounter - 1);
}
Последнее редактирование: