Guten Tag Epvp,
folgenden Befehl habe ich in der Source gefunden
ON_TEXTCMDFUNC( TextCmd_ExpUpStop, "ExpUpStop", "eus", "", "", TCM_SERVER, AUTH_DEVELOPER, "" )
und habe ihn zu diesem abgeändert
ON_TEXTCMDFUNC( TextCmd_ExpUpStop, "ExpUpStop", "eus", "", "", TCM_SERVER, AUTH_GENERAL, "" )
zudem habe ich in der WndField den eintrag bearbeitet das nun nach benutzten vom Befehl oben in der EXP Leiste Exp geblockt steht.
Allerdings funktioniert der befehl nur beim Admin Account einwandfrei und als User bekommt man weiterhin EXP..... Ich weiß nicht wo ich noch weiter suchen soll.
in der Func.... .cpp schauts so aus:
ON_TEXTCMDFUNC( TextCmd_ExpUpStop, "ExpUpStop", "eus", "", "", TCM_SERVER, AUTH_GENERAL, "" )
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
und in der WndField so:
EXPINTEGER nExpResult = pMover->GetExp1() * (EXPINTEGER)10000 / pMover->GetMaxExp1();
float fExp = (float)nExpResult / 100.0f;
if( pMover->IsMode( MODE_EXPUP_STOP ) )
{
nCharEXP = sprintf( cbufExp, "Exp block%" );
}
else
{
if( fExp >= 99.99f )
nCharEXP = sprintf( cbufExp, "99.99%%" ); // sprintfÇÔ¼ö ³»ºÎ¿¡¼* ¹Ý¿Ã¸²µÇ¾Î 100.00À¸·Î Ç¥½ÃµÇ´Â °ÍÀ» ¸·±Â À§Çؼ*
else
nCharEXP = sprintf( cbufExp, "%.2f%%", fExp );
}
Jemand eine Idee warum es als Admin funktioniert und als User nicht ?
Liebe grüße
IceSharx
folgenden Befehl habe ich in der Source gefunden
ON_TEXTCMDFUNC( TextCmd_ExpUpStop, "ExpUpStop", "eus", "", "", TCM_SERVER, AUTH_DEVELOPER, "" )
und habe ihn zu diesem abgeändert
ON_TEXTCMDFUNC( TextCmd_ExpUpStop, "ExpUpStop", "eus", "", "", TCM_SERVER, AUTH_GENERAL, "" )
zudem habe ich in der WndField den eintrag bearbeitet das nun nach benutzten vom Befehl oben in der EXP Leiste Exp geblockt steht.
Allerdings funktioniert der befehl nur beim Admin Account einwandfrei und als User bekommt man weiterhin EXP..... Ich weiß nicht wo ich noch weiter suchen soll.
in der Func.... .cpp schauts so aus:
ON_TEXTCMDFUNC( TextCmd_ExpUpStop, "ExpUpStop", "eus", "", "", TCM_SERVER, AUTH_GENERAL, "" )
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
und in der WndField so:
EXPINTEGER nExpResult = pMover->GetExp1() * (EXPINTEGER)10000 / pMover->GetMaxExp1();
float fExp = (float)nExpResult / 100.0f;
if( pMover->IsMode( MODE_EXPUP_STOP ) )
{
nCharEXP = sprintf( cbufExp, "Exp block%" );
}
else
{
if( fExp >= 99.99f )
nCharEXP = sprintf( cbufExp, "99.99%%" ); // sprintfÇÔ¼ö ³»ºÎ¿¡¼* ¹Ý¿Ã¸²µÇ¾Î 100.00À¸·Î Ç¥½ÃµÇ´Â °ÍÀ» ¸·±Â À§Çؼ*
else
nCharEXP = sprintf( cbufExp, "%.2f%%", fExp );
}
Jemand eine Idee warum es als Admin funktioniert und als User nicht ?
Liebe grüße
IceSharx