Advertisement
GK-Chubbz

x3 No Delay

May 16th, 2016
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.18 KB | None | 0 0
  1. struct MTStatusBar
  2. {
  3.     Padding(0x2C48); //exp offset
  4.     double dExp;
  5. };
  6.  
  7. MTStatusBar*(__cdecl* TSingleton_MTStatusBar_GetInstance)() = NULL;
  8.  
  9. bool x3NoDelay = false;
  10.  
  11. void(__fastcall* CUserLocal_Delay)(void* lpvEcx, void* lpvEdx, void* lpv4, void* lpv8, void* lpvC, void* lpv10, void* lpv14) = NULL; //ret 0014
  12.  
  13. void __fastcall CUserLocal_Delay_Hook(void* lpvEcx, void* lpvEdx, void* lpv4, void* lpv8, void* lpvC, void* lpv10, void* lpv14)
  14. {
  15.     if (x3NoDelay)
  16.     {
  17.         double dExpMax = 95.0, dExpLow = 5.0:
  18.         double dExp = TSingleton_MTStatusBar_GetInstance()->dExp;
  19.  
  20.         static int count = 0;
  21.        
  22.         if (dExp > dExpMax || dExpLow > dExp) // D/C bypass when you level up
  23.             return CUserLocal_DelayHook(lpvEcx, lpvEdx, lpv4, lpv8, lpvC, lpv10, lpv14);
  24.         else
  25.         {
  26.             count += 1;
  27.  
  28.             if (count < 3)
  29.                 return;
  30.         }
  31.  
  32.         count = 0;
  33.     }
  34.  
  35.     return CUserLocal_DelayHook(lpvEcx, lpvEdx, lpv4, lpv8, lpvC, lpv10, lpv14);
  36. }
  37.  
  38. void x3_NoDelay()
  39. {
  40.     *(void**)&TSingleton_MTStatusBar_GetInstance = reinterpret_cast<void*>(0x004AEDD0); //
  41.     *(void**)&CUserLocal_Delay = reinterpret_cast<void*>(0x01584A20); //
  42.  
  43.     DetourFunction(true, reinterpret_cast<void**>(&CUserLocal_Delay), &CUserLocal_Delay_Hook);
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement