COMMAND_HANDLER(CUser::HandleKnightsSummonCommand)
{
if (!isGM())
return false;
// Clan name
if(vargs.empty())
{
// Send description
g_pMain->SendHelpDescription(this, "Using Sample : +summonknights ClanName");
return true;
}
CKnights * pKnights;
foreach_stlmap (itr,g_pMain->m_KnightsArray)
{
if(itr->second->GetName() == vargs.front().c_str())
{
pKnights = g_pMain->GetClanPtr(itr->first);
break;
}
}
if(pKnights == nullptr)
return true;
{
foreach_stlmap(i,pKnights->m_arKnightsUser)
{
_KNIGHTS_USER *p = i->second;
if(p == nullptr)
continue;
CUser* pTUser = g_pMain->GetUserPtr(p->strUserName, TYPE_CHARACTER);
if(pTUser == nullptr
|| !pTUser->isInGame()
|| pTUser->GetName() == GetName())
continue;
pTUser->ZoneChange(GetZoneID(), m_curx, m_curz);
string helpstring = string_format("[%s] %s is teleported.",pKnights->GetName().c_str(), pTUser->GetName().c_str());
g_pMain->SendHelpDescription(this, helpstring);
}
}
return true;
}