SetCompleteHook(0xE9,0x004DA3A1,&CheckTickCount2);
void CheckTickCount2();
DWORD LimitFPS;
static DWORD FPS;
_declspec(naked) void CheckTickCount2()
{
static DWORD CheckTickCountAddress1 = 0x004DA3F0;
FPS = gProtect.m_MainInfo.LimitFPS;
_asm
{
Mov Ecx,Dword Ptr Ss:[Ebp-0x6C]
Mov CountModifier,Ecx
Mov Edx,Dword Ptr Ss:[Ebp-0x74]
Mov DelayModifier,Edx
Mov Ecx,Dword Ptr Ss:[Ebp-0x178]
Mov HasteModifier,Ecx
Mov Edx,Dword Ptr Ds:[MAIN_VIEWPORT_STRUCT]
Mov Ecx,Dword Ptr Ds:[Edx+0x214]
Mov SpeedModifier1,Ecx
Mov Edx,Dword Ptr Ds:[MAIN_VIEWPORT_STRUCT]
Mov Ecx,Dword Ptr Ds:[Edx+0x218]
Mov SpeedModifier2,Ecx
Mov Edx,Dword Ptr Ds:[MAIN_VIEWPORT_STRUCT]
Mov Ecx,Dword Ptr Ds:[Edx+0x31A]
Mov ModelModifier1,Ecx
Mov Edx,Dword Ptr Ds:[MAIN_VIEWPORT_STRUCT]
Mov Ecx,Dword Ptr Ds:[Edx+0x394]
Mov ModelModifier2,Ecx
Mov Edx,Dword Ptr Ds:[MAIN_VIEWPORT_STRUCT]
Mov Ecx,Dword Ptr Ds:[Edx+0x398]
Mov ModelModifier3,Ecx
Mov Eax,MainTickCount
Sub Eax,Dword Ptr Ss:[Ebp-0x74]
Mov Dword Ptr Ss:[Ebp-0x68],Eax
Cmp Dword Ptr Ss:[Ebp-0x68],0x28
Jge CONTINUE
Mov Ecx,FPS
Sub Ecx,Dword Ptr Ss:[Ebp-0x68]
Mov Dword Ptr Ss:[Ebp-0x18C],Ecx
Mov Edx,Dword Ptr Ss:[Ebp-0x18C]
Mov SleepModifier,Edx
NEXT:
Push 1
Call Dword Ptr Ds:[Sleep]
Call Dword Ptr Ds:[GetTickCount]
Sub Eax,Dword Ptr Ss:[Ebp-0x074]
Cmp Eax,Dword Ptr Ss:[Ebp-0x18C]
Jl NEXT
Mov Eax,MainTickCount
Cmp SyncTickCount,Eax
Jnz HACK
Mov Ecx,Dword Ptr Ss:[Ebp-0x6C]
Cmp CountModifier,Ecx
Jnz HACK
Mov Edx,Dword Ptr Ss:[Ebp-0x74]
Cmp DelayModifier,Edx
Jnz HACK
Mov Ecx,Dword Ptr Ss:[Ebp-0x178]
Cmp HasteModifier,Ecx
Jnz HACK
Mov Edx,Dword Ptr Ss:[Ebp-0x18C]
Cmp SleepModifier,Edx
Jnz HACK
Mov Ecx,Dword Ptr Ds:[0x07BC4F04]
Mov Edx,Dword Ptr Ds:[Ecx+0x214]
Cmp SpeedModifier1,Edx
Jnz HACK
Mov Ecx,Dword Ptr Ds:[0x07BC4F04]
Mov Edx,Dword Ptr Ds:[Ecx+0x218]
Cmp SpeedModifier2,Edx
Jnz HACK
Mov Ecx,Dword Ptr Ds:[0x07BC4F04]
Mov Edx,Dword Ptr Ds:[Ecx+0x31A]
Cmp ModelModifier1,Edx
Jnz HACK
Mov Ecx,Dword Ptr Ds:[0x07BC4F04]
Mov Edx,Dword Ptr Ds:[Ecx+0x394]
Cmp ModelModifier2,Edx
Jnz HACK
Mov Ecx,Dword Ptr Ds:[0x07BC4F04]
Mov Edx,Dword Ptr Ds:[Ecx+0x398]
Cmp ModelModifier3,Edx
Jnz HACK
Add Eax,Dword Ptr Ss:[Ebp-0x18C]
Mov MainTickCount,Eax
Mov Dword Ptr Ss:[Ebp-0x68],0x28
CONTINUE:
Mov Ecx,Dword Ptr Ss:[Ebp-0x178]
Add Ecx,Dword Ptr Ss:[Ebp-0x68]
Mov Dword Ptr Ss:[Ebp-0x6C],Ecx
Jmp [CheckTickCountAddress1]
HACK:
Push 0
Call Dword Ptr Ds:[ExitProcess]
}
}
No se donde más este el codigo necesario para el limite de FPS, pero hasta donde se, eso es todo, corrijanme si me equivoco.