Dobrý deň
Tak a máme tu ďalšiu vecičku. Mnoho mojích hráčov sa sťažovalo, že majú combat a nemôžu ho zastaviť, a koho by bavilo stále riešiť niečo také pri väčšom počte hráčov? Mna určite nie, preto som pripravil takúto vecičku, snáď sa niekomu zíde. Je to určené pre TrinityCore2 10137+ (Malo by to fungovať aj na starších revkach).
• Ochrana proti používaniu v Dueloch
• Ochrana proti používaniu v Battlegroundoch
• Ochrana proti používaniu v Arénach
• Ochrana proti používaniu v Instanciách
• Ochrana proti "používaniu" po smrti
Language.h
LANG_YOU_IN_DUEL = 66,
Chat.cpp
{ "stop", SEC_PLAYER, false, &ChatHandler::HandleStopCommand, "", NULL },
Chat.h
bool HandleStopCommand(const char* args);
Level0.cpp
bool ChatHandler::HandleStopCommand(const char* /*args*/)
{
Player *chr = m_session->GetPlayer();
// Zakaz Pouzivania v arenach & battlegroundoch
if (chr->InArena())
{
SendSysMessage(LANG_YOU_IN_ARENA_BG);
SetSentErrorMessage(true);
return false;
}
// Zakaz Pouzivania v instanciach
if (chr->GetMap()->Instanceable())
{
SendSysMessage(LANG_YOU_IN_INSTANCE);
SetSentErrorMessage(true);
return false;
}
// Death
if (chr->isDead())
{
SendSysMessage(LANG_YOU_ARE_DEAD);
SetSentErrorMessage(true);
return false;
}
// Duel
if (chr->duel)
{
SendSysMessage(LANG_YOU_IN_DUEL);
SetSentErrorMessage(true);
return false;
}
// Combat
chr->CombatStop();
return true;
}
Database
INSERT INTO `command` VALUES ('stop', '0', 'Combat Stop');
INSERT INTO `trinity_string` VALUES ('66', 'Cannot do that in Duel.', null, null, null, null, null, null, null, null);
Prípadné chyby & vylepšenia si rád vypočujem