//---------------------------------------------------------------------------- void CGuildMemberModule::quitGuild() { MODULE_AST( _GuildMemberCore ); CGuild * guild = EGS_PD_CAST<CGuild*>( _GuildMemberCore->getGuild() ); EGS_PD_AST( guild ); SM_STATIC_PARAMS_1( params,STRING_MANAGER::player ); params[0].setEIdAIAlias( _GuildMemberCore->getIngameEId(), CAIAliasTranslator::getInstance()->getAIAlias(_GuildMemberCore->getIngameEId()) ); CFameManager::getInstance().clearPlayerGuild( _GuildMemberCore->getIngameEId() ); CGuildCharProxy proxy; getProxy(proxy); proxy.cancelAFK(); clearOnlineGuildProperties(); guild->deleteMember( _GuildMemberCore ); if ( guild->getMembersBegin() == guild->getMembersEnd() ) { CGuildManager::getInstance()->deleteGuild(guild->getId()); proxy.sendSystemMessage("GUILD_DESTROYED"); } else { guild->sendMessageToGuildMembers("GUILD_QUIT", params); SM_STATIC_PARAMS_1(params, STRING_MANAGER::string_id); params[0].StringId = guild->getNameId(); proxy.sendSystemMessage("GUILD_YOU_QUIT", params); } }
//---------------------------------------------------------------------------- void CGuildMemberModule::sendMessageToGuildMembers( const std::string & msg, const TVectorParamCheck & params )const { MODULE_AST( _GuildMemberCore ); CGuild * guild = MODULE_CAST<CGuild*>( _GuildMemberCore->getGuild() ); MODULE_AST( guild ); guild->sendMessageToGuildMembers( msg,params ); }