
kullanım
/big_notice_guild2 bla bla bla
Kod:
cmd.cpp
{ "big_notice_guild2", do_big_notice2, 0, POS_DEAD, GM_PLAYER },
ACMD(do_big_notice2);
cmd_gm.cpp
ACMD(do_big_notice2)
{
if (!*argument)
{
ch->ChatPacket(CHAT_TYPE_INFO, "Kullanım: /b <mesaj>");
return;
}
CGuild* pGuild = ch->GetGuild();
if (!pGuild)
{
ch->ChatPacket(CHAT_TYPE_INFO, "Bu komutu kullanmak icin bir loncaya uye olmalısın.");
return;
}
// Sadece lonca lideri kullanabilsin
if (pGuild->GetMasterPID() != ch->GetPlayerID())
{
ch->ChatPacket(CHAT_TYPE_INFO, "Sadece lonca lideri /b komutunu kullanabilir.");
return;
}
char buf[512 + 1];
snprintf(buf, sizeof(buf), "[%s] %s", ch->GetName(), argument);
// DESC_MANAGER üzerinden bağlı tüm oyuncuları tara
const DESC_MANAGER::DESC_SET& descSet = DESC_MANAGER::instance().GetClientSet();
for (auto it = descSet.begin(); it != descSet.end(); ++it)
{
LPDESC d = *it;
if (!d)
continue;
LPCHARACTER pkMember = d->GetCharacter();
if (!pkMember)
continue;
// Aynı loncada mı kontrol et
if (pkMember->GetGuild() == pGuild)
{
pkMember->ChatPacket(CHAT_TYPE_BIG_NOTICE, "%s", buf);
}
}
ch->ChatPacket(CHAT_TYPE_INFO, "Lonca bildirisi tum uyelere gonderildi.");
}


