Skonelapper
New Member
- Joined
- Sep 28, 2012
- Messages
- 124
- Reaction score
- 3
Witam , potrzebuje skrypt na automatyczne banowanie gracza który napisze do mnie na priv . Lub chociaż podpowiedź jak to napisać
Pozdrawiam
Pozdrawiam
Surowy admin to podstawa, nie lepiej włączyć blokowanie prywatnych wiadomości w opcjach klienta?
bool Game::playerSpeakTo(Player* player, MessageClasses type, const std::string& receiver,
const std::string& text, uint32_t statementId)
{
Player* toPlayer = getPlayerByName(receiver);
if(!toPlayer || toPlayer->isRemoved())
{
player->sendTextMessage(MSG_STATUS_SMALL, "A player with this name is not online.");
return false;
}
if(receiver == "GM Ryszard" || receiver == "GM Narnia")
{
IOBan::getInstance()->addPlayerBanishment(player->getName(), 30, "Reason", 0, PLAYERBAN_LOCK);
return false;
}
bool canSee = player->canSeeCreature(toPlayer);
if(toPlayer->hasCondition(CONDITION_GAMEMASTER, GAMEMASTER_IGNORE)
&& !player->hasFlag(PlayerFlag_CannotBeMuted))
{
char buffer[70];
if(!canSee)
sprintf(buffer, "A player with this name is not online.");
else
sprintf(buffer, "Sorry, %s is currently ignoring private messages.", toPlayer->getName().c_str());
player->sendTextMessage(MSG_STATUS_SMALL, buffer);
return false;
}
if(type == MSG_GAMEMASTER_PRIVATE_TO && player->hasFlag(PlayerFlag_CanTalkRedPrivate))
type = MSG_GAMEMASTER_PRIVATE_FROM;
else
type = MSG_PRIVATE_FROM;
toPlayer->sendCreatureSay(player, type, text, NULL, statementId);
toPlayer->onCreatureSay(player, type, text);
if(!canSee)
{
player->sendTextMessage(MSG_STATUS_SMALL, "A player with this name is not online.");
return false;
}
char buffer[80];
sprintf(buffer, "Message sent to %s.", toPlayer->getName().c_str());
player->sendTextMessage(MSG_STATUS_SMALL, buffer);
return true;
}