Request /Buff Command
ON_TEXTCMDFUNC( TextCmd_buff, "buff", "buff", "buff", "buff", TCM_SERVER, AUTH_ADMINISTRATOR , "" )
BOOL TextCmd_buff ( CScanner& scanner )
{
#ifdef __WORLDSERVER
CUser* pUser = (CUser*)scanner.dwValue;
if( IsValidObj( pUser ) )
{
pUser->DoBuff(SI_ASS_CHEER_HEAPUP, 15, pUser);
pUser->DoBuff(SI_ASS_CHEER_QUICKSTEP, 15, pUser);
pUser->DoBuff(SI_ASS_HEAL_PATIENCE, 15, pUser);
pUser->DoBuff(SI_ASS_CHEER_CATSREFLEX, 15, pUser);
pUser->DoBuff(SI_ASS_CHEER_CANNONBALL, 15, pUser);
pUser->DoBuff(SI_ASS_CHEER_MENTALSIGN, 15, pUser);
pUser->DoBuff(SI_ASS_CHEER_BEEFUP, 15, pUser);
pUser->DoBuff(SI_ASS_CHEER_ACCURACY, 10, pUser);
pUser->DoBuff(SI_ASS_CHEER_HASTE, 15, pUser);
pUser->AddText("Successfully buffed!");
}
else
{
pUser->AddText( "Something went terrible wrong!" );
}
#endif
return TRUE;
}
DoBuff fehlt noch in der Ctrl.cpp/.hQuote:
Code:ON_TEXTCMDFUNC( TextCmd_buff, "buff", "buff", "buff", "buff", TCM_SERVER, AUTH_ADMINISTRATOR , "" )Code:BOOL TextCmd_buff ( CScanner& scanner ) { #ifdef __WORLDSERVER CUser* pUser = (CUser*)scanner.dwValue; if( IsValidObj( pUser ) ) { pUser->DoBuff(SI_ASS_CHEER_HEAPUP, 15, pUser); pUser->DoBuff(SI_ASS_CHEER_QUICKSTEP, 15, pUser); pUser->DoBuff(SI_ASS_HEAL_PATIENCE, 15, pUser); pUser->DoBuff(SI_ASS_CHEER_CATSREFLEX, 15, pUser); pUser->DoBuff(SI_ASS_CHEER_CANNONBALL, 15, pUser); pUser->DoBuff(SI_ASS_CHEER_MENTALSIGN, 15, pUser); pUser->DoBuff(SI_ASS_CHEER_BEEFUP, 15, pUser); pUser->DoBuff(SI_ASS_CHEER_ACCURACY, 10, pUser); pUser->DoBuff(SI_ASS_CHEER_HASTE, 15, pUser); pUser->AddText("Successfully buffed!"); } else { pUser->AddText( "Something went terrible wrong!" ); } #endif return TRUE; }
BOOL TextCmd_BuffPlayer( CScanner& scanner )
{
#ifdef __WORLDSERVER
CUser* pUser = (CUser*)scanner.dwValue;
if( GetTickCount() - pUser->GetLastBuffTick() <= SEC( 10 ) ){
pUser->AddText( "Du kannst dich nur alle 10 Sekunden buffen!" );
return TRUE;
}
pUser->SetLastBuffTick( GetTickCount() );
// Assist Buffs
pUser->DoActiveSkill( 20, 20, pUser );
pUser->DoActiveSkill( 46, 20, pUser );
pUser->DoActiveSkill( 49, 20, pUser );
pUser->DoActiveSkill( 50, 20, pUser );
pUser->DoActiveSkill( 52, 20, pUser );
pUser->DoActiveSkill( 53, 20, pUser );
pUser->DoActiveSkill( 114, 20, pUser );
pUser->DoActiveSkill( 115, 20, pUser );
pUser->DoActiveSkill( 116, 20, pUser );
#endif // __WORLDSERVER
return TRUE;
}
ON_TEXTCMDFUNC( TextCmd_BuffPlayer, "Buff", "buff", "±Ó¼Ó¸»", "±Ó", TCM_SERVER, AUTH_GENERAL , "±Ó¼Ó¸» [/¸í·É ¾ÆÀ̵𠳻¿ë]" )
DWORD CUser::GetLastBuffTick()
{
return m_dwBuffTick;
}
DWORD CUser::SetLastBuffTick( DWORD Tick )
{
m_dwBuffTick = Tick;
return TRUE;
}
DWORD m_dwBuffTick;
DWORD GetLastBuffTick();
DWORD SetLastBuffTick( DWORD Tick );
#ifdef __NEW_ITEM_VARUNA
void CUser::AddActivateBarunaPet( DWORD dwItemId, DWORD dwBarunaPetID, BOOL bActivate )
{
if( IsDelete() ) return;
m_Snapshot.cb++;
m_Snapshot.ar << GetId();
m_Snapshot.ar << SNAPSHOTTYPE_ADDBARUNAPET;
m_Snapshot.ar << dwItemId << dwBarunaPetID <<bActivate;
}
#endif// __NEW_ITEM_VARUNA
Where i can add this in source?Quote:
Code:ON_TEXTCMDFUNC( TextCmd_buff, "buff", "buff", "buff", "buff", TCM_SERVER, AUTH_ADMINISTRATOR , "" )Code:BOOL TextCmd_buff ( CScanner& scanner ) { #ifdef __WORLDSERVER CUser* pUser = (CUser*)scanner.dwValue; if( IsValidObj( pUser ) ) { pUser->DoBuff(SI_ASS_CHEER_HEAPUP, 15, pUser); pUser->DoBuff(SI_ASS_CHEER_QUICKSTEP, 15, pUser); pUser->DoBuff(SI_ASS_HEAL_PATIENCE, 15, pUser); pUser->DoBuff(SI_ASS_CHEER_CATSREFLEX, 15, pUser); pUser->DoBuff(SI_ASS_CHEER_CANNONBALL, 15, pUser); pUser->DoBuff(SI_ASS_CHEER_MENTALSIGN, 15, pUser); pUser->DoBuff(SI_ASS_CHEER_BEEFUP, 15, pUser); pUser->DoBuff(SI_ASS_CHEER_ACCURACY, 10, pUser); pUser->DoBuff(SI_ASS_CHEER_HASTE, 15, pUser); pUser->AddText("Successfully buffed!"); } else { pUser->AddText( "Something went terrible wrong!" ); } #endif return TRUE; }
The "else" part would lead the server to crash if the object is not valid.Quote:
Code:ON_TEXTCMDFUNC( TextCmd_buff, "buff", "buff", "buff", "buff", TCM_SERVER, AUTH_ADMINISTRATOR , "" )Code:BOOL TextCmd_buff ( CScanner& scanner ) { #ifdef __WORLDSERVER CUser* pUser = (CUser*)scanner.dwValue; if( IsValidObj( pUser ) ) { pUser->DoBuff(SI_ASS_CHEER_HEAPUP, 15, pUser); pUser->DoBuff(SI_ASS_CHEER_QUICKSTEP, 15, pUser); pUser->DoBuff(SI_ASS_HEAL_PATIENCE, 15, pUser); pUser->DoBuff(SI_ASS_CHEER_CATSREFLEX, 15, pUser); pUser->DoBuff(SI_ASS_CHEER_CANNONBALL, 15, pUser); pUser->DoBuff(SI_ASS_CHEER_MENTALSIGN, 15, pUser); pUser->DoBuff(SI_ASS_CHEER_BEEFUP, 15, pUser); pUser->DoBuff(SI_ASS_CHEER_ACCURACY, 10, pUser); pUser->DoBuff(SI_ASS_CHEER_HASTE, 15, pUser); pUser->AddText("Successfully buffed!"); } else { pUser->AddText( "Something went terrible wrong!" ); } #endif return TRUE; }