Guest User

Untitled

a guest
May 19th, 2020
816
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 5.69 KB | None | 0 0
  1. void __cdecl FakeDuck()
  2. {
  3.   // [COLLAPSED LOCAL DECLARATIONS. PRESS KEYPAD CTRL-"+" TO EXPAND]
  4.  
  5.   v0 = g_iLocalPlayer;
  6.   m_nMaxChoke = 4 * (g_iServerType < 3) + 10;
  7.   m_bLastFakeDucked = m_bFakeDucked;
  8.   LOBYTE(v1) = EngineClient::CallVFunction(g_pEngineClient, 12);
  9.   v1();
  10.   v2 = (int (__stdcall *)(int))EntityList::GetClientEntity(v0);
  11.   m_pLocalPlayer = v2(v3);
  12.   Offsets::m_fFlags = Netvars::C_BasePlayer::m_dwFlags;
  13.   if...
  14.   m_bFakeDuck = 0;
  15.   if ( *(_BYTE *)(Offsets::m_fFlags + m_pLocalPlayer) & 1 )
  16.   {
  17.     if ( !(_BYTE)g_bDoubletap && !byte_43F4637D && !g_iAnimStateMode )
  18.     {
  19.       if ( settings::some_r8_param )
  20.       {
  21.         if ( Settings::FakeDuck::Enabled )
  22.         {
  23.           Utils::IsKeybindActive(Settings::FakeDuck::Bind, Settings::FakeDuck::BindType);
  24.           if ( v6 )
  25.           {
  26.             if ( Settings::FakeDuck::Bind > 0 || Settings::FakeDuck::BindType == 2 )
  27.             {
  28.               LOBYTE(v7) = EngineClient::CallVFunction(g_pHLClient, 90);
  29.               if ( (!v7() || Settings::FakeDuck::BindType == 1 || Settings::FakeDuck::BindType == 2)
  30.                 && Globals::Tickbase::g_iTickrate == 64 )
  31.               {
  32.                 m_bFakeDuck = 1;
  33.               }
  34.             }
  35.           }
  36.         }
  37.       }
  38.     }
  39.   }
  40.   m_bFakeDucked = m_bFakeDuck;
  41.   if ( !m_bLastFakeDucked )
  42.   {
  43.     if ( !m_bFakeDuck )
  44.       return;
  45.     if ( g_pClientState->m_nChockedCmds )
  46.     {
  47.       m_bFakeDucked = 0;
  48.     }
  49.     else
  50.     {
  51.       m_pCommand = (CVerifiedUserCmd *)&Globals::g_aVerifiedCommands[8 * (Globals::Game::g_nSequence % 150)];
  52.       if ( !m_pCommand->cmd.vtable || !m_pCommand->cmd.command_number )
  53.         m_pCommand = 0;
  54.       m_pCommand->cmd.vtable->buttons |= 0x400000u;
  55.       m_pCommand = (CVerifiedUserCmd *)&Globals::g_aVerifiedCommands[8 * (Globals::Game::g_nSequence % 150)];
  56.       if ( !m_pCommand->cmd.vtable || !m_pCommand->cmd.command_number )
  57.         m_pCommand = 0;
  58.       m_pCommand->cmd.vtable->buttons &= 0xFFFFFFFB;
  59.     }
  60.     return;
  61.   }
  62.   if ( m_bFakeDuck )
  63.     goto LABEL_49;
  64.   m_pCommand = (CVerifiedUserCmd *)&Globals::g_aVerifiedCommands[8 * (Globals::Game::g_nSequence % 150)];
  65.   if ( !m_pCommand->cmd.vtable || !m_pCommand->cmd.command_number )
  66.     m_pCommand = 0;
  67.   if ( m_pCommand->cmd.vtable->buttons & 4 )
  68.     m_flAwaitedDuck = 1.0;                      // m_flAwaitedDuck = 1.0f;
  69.   else
  70.     m_flAwaitedDuck = 0.0;
  71.   v13 = g_iLocalPlayer;
  72.   LOBYTE(v14) = EngineClient::CallVFunction(g_pEngineClient, 12);
  73.   v14();
  74.   v15 = (int (__stdcall *)(int))EntityList::GetClientEntity(v13);
  75.   m_pLocalPlayer = v15(v16);
  76.   Offsets::m_flDuckAmount = Netvars::CBasePlayer::m_flDuckAmount;
  77.   if...
  78.   m_flDuckAmount = *(float *)(Offsets::m_flDuckAmount + m_pLocalPlayer);
  79.   if ( m_flAwaitedDuck == m_flDuckAmount )
  80.   {
  81.     if ( !m_bFakeDucked )
  82.       return;
  83. LABEL_49:
  84.     m_pCommand = (CVerifiedUserCmd *)&Globals::g_aVerifiedCommands[8 * (Globals::Game::g_nSequence % 150)];
  85.     if ( !m_pCommand->cmd.vtable || !m_pCommand->cmd.command_number )
  86.       m_pCommand = 0;
  87.     m_pCommand->cmd.vtable->buttons |= 0x400000u;
  88.     if ( g_pClientState->m_nChockedCmds < m_nMaxChoke >> 1 )
  89.     {
  90.       m_pCommand = (CVerifiedUserCmd *)&Globals::g_aVerifiedCommands[8 * (Globals::Game::g_nSequence % 150)];
  91.       if ( !m_pCommand->cmd.vtable || !m_pCommand->cmd.command_number )
  92.         m_pCommand = 0;
  93.       m_pCommand->cmd.vtable->buttons &= 0xFFFFFFFB;
  94.     }
  95.     else
  96.     {
  97.       m_pCommand = (CVerifiedUserCmd *)&Globals::g_aVerifiedCommands[8 * (Globals::Game::g_nSequence % 150)];
  98.       if ( !m_pCommand->cmd.vtable || !m_pCommand->cmd.command_number )
  99.         m_pCommand = 0;
  100.       m_pCommand->cmd.vtable->buttons |= 4u;
  101.     }
  102.     v32 = g_iLocalPlayer;
  103.     g_nFakeDuckNextTick = m_nMaxChoke + Globals::Tickbase::g_iTickcount - g_pClientState->m_nChockedCmds;
  104.     LOBYTE(v33) = EngineClient::CallVFunction(g_pEngineClient, 12);
  105.     v33();
  106.     v34 = (int (__stdcall *)(int))EntityList::GetClientEntity(v32);
  107.     m_pLocalPlayer = v34(v35);
  108.     Offsets::m_nTickbase = Netvars::C_BasePlayer::m_nTickbase;
  109.     if...
  110.     goto LABEL_63;
  111.   }
  112.   m_bFakeDucked = 1;
  113.   m_pCommand = (CVerifiedUserCmd *)&Globals::g_aVerifiedCommands[8 * (Globals::Game::g_nSequence % 150)];
  114.   if ( !m_pCommand->cmd.vtable || !m_pCommand->cmd.command_number )
  115.     m_pCommand = 0;
  116.   m_pCommand->cmd.vtable->buttons |= 0x400000u;
  117.   m_pCurCmd = Utils::GetUsercmd2(&Globals::Game::g_nSequence)->vtable;
  118.   if ( m_flAwaitedDuck <= m_flDuckAmount )
  119.     m_pCurCmd->buttons &= 0xFFFFFFFB;
  120.   else
  121.     m_pCurCmd->buttons |= 4u;
  122.   v22 = g_iLocalPlayer;
  123.   g_nFakeDuckNextTick = Globals::Tickbase::g_iTickcount - g_pClientState->m_nChockedCmds + 14;
  124.   LOBYTE(v23) = EngineClient::CallVFunction(g_pEngineClient, 12);
  125.   v23();
  126.   v24 = (int (__stdcall *)(int))EntityList::GetClientEntity(v22);
  127.   m_pLocalPlayer = v24(v25);
  128.   Offsets::m_nTickbase = Netvars::C_BasePlayer::m_nTickbase;
  129.   if...
  130. LABEL_63:
  131.   Globals::g_nNextTickbase = m_nMaxChoke
  132.                            + *(_DWORD *)(m_pLocalPlayer + Offsets::m_nTickbase)
  133.                            - g_pClientState->m_nChockedCmds
  134.                            + 1;
  135.   if ( g_pClientState->m_nChockedCmds < m_nMaxChoke )
  136.   {
  137.     *Globals::Game::g_pbSendPacket = 0;
  138.     Globals::FakeLag::m_bChoked = 1;
  139.   }
  140.   else
  141.   {
  142.     *Globals::Game::g_pbSendPacket = 1;
  143.     v36 = g_iLocalPlayer;
  144.     LOBYTE(v37) = EngineClient::CallVFunction(g_pEngineClient, 12);
  145.     v37();
  146.     v38 = (int (__stdcall *)(int))EntityList::GetClientEntity(v36);
  147.     m_pLocalPlayer = v38(v39);
  148.     Offsets::m_nTickbase = Netvars::C_BasePlayer::m_nTickbase;
  149.     if...
  150.     Globals::g_nNextTickbase = *(_DWORD *)(m_pLocalPlayer + Offsets::m_nTickbase) + 1;
  151.   }
  152. }
Add Comment
Please, Sign In to add comment