Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define MULTIPLAYER_BACKUP 150
- void SetViewAnglesSilent( Vector& vecViewAngles )
- {
- // 521EEF91 0387 544C0000 ADD EAX,DWORD PTR DS:[EDI+4C54] ; EDI: CLientState (EnginePointer)
- int iCurrentSequenceNumber = g_pEngineClient->GetCommandNumber( ); // Don't forgett cmdnr + 1
- // Input Pointer is: DWORD dwInput = Client.dll + OFFSET_INPUT;
- DWORD dwUserCMD = g_Memory.Read< DWORD >( g_pBaseEntityList->GetLocalEntity( )->GetInput( ) );
- dwUserCMD += ( iCurrentSequenceNumber % MULTIPLAYER_BACKUP ) * 0x64;
- // Store the old ViewAngles
- Vector vecOldViewAngles;
- // Store the command number in UserCMD
- int iUserCMDSequenceNumber = 0;
- // Disable packet sending
- //
- // 521EEED9 8B3D 14846552 MOV EDI,DWORD PTR DS:[52658414]
- // 521EEEDF 8AF9 MOV BH,CL
- // 521EEEE1 F3:0F1145 F8 MOVSS DWORD PTR SS:[EBP-8],XMM0
- // 521EEEE6 83BF E8000000 02 CMP DWORD PTR DS:[EDI+E8],2
- // 521EEEED 0F8C 78030000 JL engine.521EF26B
- // 521EEEF3 E8 F8F11200 CALL engine.5231E0F0
- // 521EEEF8 84C0 TEST AL,AL
- // 521EEEFA 0F84 6B030000 JE engine.521EF26B
- // 521EEF00 8B0D 08776552 MOV ECX,DWORD PTR DS:[52657708] ; engine.52716EE8
- // 521EEF06 B3 01 MOV BL,1 ; bSendPackets = true
- //
- // WriteProcessMemory at Engine.dll + Offset, Buffer is a BYTE (0 or 1)
- g_pEngineClient->SetPacketSending( false );
- while( iUserCMDSequenceNumber != iCurrentSequenceNumber )
- {
- g_pEngineClient->GetViewAngles( vecOldViewAngles ); // ClientState + 0x4CB8
- iUserCMDSequenceNumber = g_Memory.Read< int >( dwUserCMD + 0x4 );
- }
- for( int i = 0; i < 20; i++ )
- g_Memory.Write< Vector >( dwUserCMD + 0xC, vecViewAngles ); // Write ViewAngles into the UserCMD
- g_pEngineClient->SetViewAngles( vecOldViewAngles ); // ClientState(EnginePointer) + 0x4CB8
- Sleep( 6 );
- g_pEngineClient->SetPacketSending( true );
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement