-
Автор темы
- #1
Заменяем сигнатуру
New signature for weapon data : 55 8B EC 81 EC ? ? ? ? 53 8B D9 56 57 8D 8B ? ? ? ? 85 C9 75 04 33 FF EB 2F
Это исправление для external classid
Это исправление осталось как и есть.
Pss: Packstan
IWeaponSystem
GetCollideable
New signature for weapon data : 55 8B EC 81 EC ? ? ? ? 53 8B D9 56 57 8D 8B ? ? ? ? 85 C9 75 04 33 FF EB 2F
Это исправление для external classid
Код:
int GetClassID()
{
DWORD dwIClientNetworkable = pDriver->Read<DWORD>((DWORD)this + 0x8);
DWORD dwGetClientClass = pDriver->Read<DWORD>((DWORD)dwIClientNetworkable + 2 * 0x4);
DWORD dwpGetClientClass = pDriver->Read<DWORD>((DWORD)dwGetClientClass + 0x1);
int classid = pDriver->Read<int>((DWORD)dwpGetClientClass + 0x14); //classid
return classid;
}
Pss: Packstan
Код:
bool TraceToExitalt(Vector& end, C_Trace& tr, Vector start, Vector vEnd, C_Trace* trace)
{
typedef bool(__fastcall* TraceToExitFn)(Vector&, C_Trace&, float, float, float, float, float, float, C_Trace*);
static TraceToExitFn TraceToExit = (TraceToExitFn)Utils::FindSignature("client_panorama.dll", "55 8B EC 83 EC 30 F3 0F 10 75");
if (!TraceToExit)
return false;
Код:
Code:
void boneCache()
{
static DWORD addr = (DWORD)Utils::PatternScan(GetModuleHandleA("client_panorama.dll"), "80 3D ? ? ? ? ? 74 16 A1 ? ? ? ? 48 C7 81");
*(int*)((uintptr_t)this + 0xA30) = g_GlobalVars->framecount;
*(int*)((uintptr_t)this + 0xA28) = 0;
unsigned long g_iModelBoneCounter = **(unsigned long**)(addr + 10);
*(unsigned int*)((DWORD)this + 0x2924) = 0xFF7FFFFF;
*(unsigned int*)((DWORD)this + 0x2690) = (g_iModelBoneCounter - 1);
}
Код:
Code: 8B 35 ? ? ? ? FF 10 0F B7 C0 + 2 }
Код:
Code:
[LIST=1]
[*] ICollideable* GetCollideable()
[*] {
[*] return (ICollideable*)((DWORD)this + 0x318);
[*] }
[/LIST]
}
Последнее редактирование: