[Requst] Stop Exp Scroll

02/17/2018 16:28 aoyamananami#1
Hello does anyone of you have a source code for Stop exp scroll?
02/20/2018 20:14 jericho2nd#2
Try ARMA Files.
02/20/2018 21:39 - DK#3
Quote:
Originally Posted by jericho2nd View Post
Try ARMA Files.
Its work only in Illumine Fliles :) and its work fine :)

EXP STOP Command:

Define in VersionCommon Neuz and World
Code:
#define __EXP_STOP
in authorization.h
post this
Code:
#ifdef __EXP_STOP
#define MODE_EXPUP_STOP			(DWORD)0x00040000		
#endif
under this:
Code:
#define	EQUIP_DENIAL_MODE		(DWORD)0x00020000
Go in Mover.cpp
Look in int CMover::SubExperience( CMover *pDead ) for this:
Code:
#else	// __WORLDSERVER
	EXPFLOAT fExpValue	= static_cast<EXPFLOAT>( pMoverProp->nExpValue );
	float	fFxpValue	= pMoverProp->nFxpValue;
#endif	// __WORLDSERVER
and post below this, this:
Code:
#ifdef __EXP_STOP
	if (IsAuthHigher(AUTH_ADMINISTRATOR))	// 운영자 계정일때
	{
		if (IsMode(MODE_EXPUP_STOP))			// 경험치 상승 금지 상태면
			fExpValue = 0;						// 경험치값 0
	}
#endif
Then go in MoverParam.cpp and look in BOOL CMover::AddExperience( EXPINTEGER nExp, BOOL bFirstCall, BOOL bMultiPly, BOOL bMonster ) for this :
Code:
{
#ifdef __VTN_TIMELIMIT
	//	mulcom	BEGIN100315	베트남 시간 제한
	if( ::GetLanguage() == LANG_VTN )
	{
		if( IsPlayer() && m_nAccountPlayTime != -1 )
		{
			if( m_nAccountPlayTime < 0 || m_nAccountPlayTime > MIN( 300 ) )
			{
				nExp	= 0;
			}
			else if( m_nAccountPlayTime >= MIN( 180 ) && m_nAccountPlayTime <= MIN( 300 ) )
			{
				nExp	= (EXPINTEGER)( nExp * 0.5f );
			}
		}
	}
	//	mulcom	END100315	베트남 시간 제한
#endif // __VTN_TIMELIMIT
below this Code you post this:
Code:
#ifdef __EXP_STOP
	if (IsMode(MODE_EXPUP_STOP))
		nExp = 0;
#endif
then you go in FuncTextCmd.cpp
And post after this:
Code:
BOOL TextCmd_NoUndying( CScanner& scanner )
{
#ifdef __WORLDSERVER
	CUser* pUser = (CUser*)scanner.dwValue;
	pUser->m_dwMode &= (~MATCHLESS_MODE);
	pUser->m_dwMode &= (~MATCHLESS2_MODE);
	g_UserMng.AddModifyMode( pUser );
#endif
	return TRUE;
}
this:
Code:
// exp상승 금지 명령. 토글방식으로 동작.
#ifdef __EXP_STOP
BOOL TextCmd_ExpUpStop(CScanner& scanner)
{
#ifdef __WORLDSERVER
	CUser* pUser = (CUser*)scanner.dwValue;
	if (pUser->m_dwMode & MODE_EXPUP_STOP)
		pUser->m_dwMode &= (~MODE_EXPUP_STOP);
	else
		pUser->m_dwMode |= MODE_EXPUP_STOP;

	g_UserMng.AddModifyMode(pUser);
#endif // __WORLDSERVER

	return TRUE;
}
#endif
then next part in FuncTextCmd.cpp:
Looking for this:
Code:
ON_TEXTCMDFUNC( TextCmd_Teleport,              "teleport",          "te",             "텔레포트",       "텔레",    TCM_SERVER, AUTH_GAMEMASTER   , "텔레포트" )
and poste below this:
Code:
#ifdef __EXP_STOP
	ON_TEXTCMDFUNC(TextCmd_ExpUpStop, "ExpUpStop", "es", "경험치금지", "경금", TCM_SERVER, AUTH_GAMEMASTER, "")
#endif
Have fun,

Credits goes to GalaLab & Me for reawake this command :)
02/20/2018 21:42 jericho2nd#4
Quote:
Originally Posted by DK ACE View Post
Its work only in Illumine Fliles :) and its work fine :)
i have a question you know the fix in this? because i'm using your ARMA Files. [Only registered and activated users can see links. Click Here To Register...] thanks :D
02/20/2018 22:22 - DK#5
Quote:
Originally Posted by jericho2nd View Post
i have a question you know the fix in this? because i'm using your ARMA Files. [Only registered and activated users can see links. Click Here To Register...] thanks :D
I did a answer ^^
04/29/2018 22:47 nicksss03#6
Hi. How to apply the /es in game?
06/22/2021 01:35 Tamus#7
its not working the scroll., but via command its working.,