Fix CP Hack

10/11/2020 06:32 lnwnuyhodd#1
Description: merit point to cp point function
File : S04_MyWork03.cpp
Function : void MyWork::ProcessForData( int tUserIndex, int tSort, BYTE tData[MAX_BROADCAST_DATA_SIZE] )
Line : Mabye 1077 or find case 235
By : DOS

Old Code :
Code:
	case 235 : //[공덕치]->[기여도]
		CopyMemory( &tValue, &tData[0], 4 );
		if( tValue < 1 )
		{
			mUSER[tUserIndex].Quit(__FILE__, __FUNCTION__, __LINE__);
			               
			return;
		}
		if( mUSER[tUserIndex].mAvatarInfo.aTeacherPoint < ( tValue * 20000 ) )
		{
			mUSER[tUserIndex].Quit(__FILE__, __FUNCTION__, __LINE__);
			               
			return;
		}
		if (mUSER[tUserIndex].mAvatarInfo.aLevel1 < 50) {
			mUSER[tUserIndex].Quit ();
			return ;
		}
		mUSER[tUserIndex].mAvatarInfo.aKillOtherTribe += tValue;
		mAVATAR_OBJECT[tUserIndex].mDATA.aKillOtherTribe += tValue;
		mUSER[tUserIndex].mAvatarInfo.aTeacherPoint -= ( tValue * 20000 );
		mTRANSFER.B_PROCESS_DATA_RECV( 0, tSort, &tData[0] );
		mUSER[tUserIndex].Send( TRUE, (char *) &mTRANSFER.mOriginal[0], mTRANSFER.mOriginalSize );
New Code:
Code:
	case 235 : //[공덕치]->[기여도]
		CopyMemory( &tValue, &tData[0], 4 );
		if( tValue < 1 )
		{
			mUSER[tUserIndex].Quit(__FILE__, __FUNCTION__, __LINE__);
			               
			return;
		}
		if( mUSER[tUserIndex].mAvatarInfo.aTeacherPoint < ( tValue * 20000 ) )
		{
			mUSER[tUserIndex].Quit(__FILE__, __FUNCTION__, __LINE__);
			               
			return;
		}
		if (mUSER[tUserIndex].mAvatarInfo.aLevel1 < 50) {
			mUSER[tUserIndex].Quit ();
			return ;
		}
		
		// Protect CP Hack > Merit Point to CP
		mUSER[tUserIndex].mAvatarInfo.aTeacherPoint -= ( tValue * 20000 );
		if( mUSER[tUserIndex].mAvatarInfo.aTeacherPoint < 0 )
		{
			// ban -> mPLAYUSER_COM.U_BLOCK_USER_FOR_ZONE_1_SEND( 999, mUSER[tUserIndex].uUserIndex );
			mUSER[tUserIndex].Quit(__FILE__, __FUNCTION__, __LINE__);
			return;
		}
		// Protect CP Hack > Merit Point to CP
		
		mUSER[tUserIndex].mAvatarInfo.aKillOtherTribe += tValue;
		mAVATAR_OBJECT[tUserIndex].mDATA.aKillOtherTribe += tValue;
		mTRANSFER.B_PROCESS_DATA_RECV( 0, tSort, &tData[0] );
		mUSER[tUserIndex].Send( TRUE, (char *) &mTRANSFER.mOriginal[0], mTRANSFER.mOriginalSize );