Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- <--------------------------------------------------------------------------->
- - Developer(s): Made by ?? Edited by - CastleDEV
- - Complete: 100%
- - ScriptName: 'World_Chat'
- <--------------------------------------------------------------------------->
- */
- #include "ScriptPCH.h"
- #include "Chat.h"
- #define FACTION_SPECIFIC 0
- std::string GetNameLink(Player* player)
- {
- std::string name = player->GetName();
- std::string color;
- switch(player->getClass())
- {
- case CLASS_DEATH_KNIGHT:
- color = "|cffC41F3B|TInterface\\icons\\Spell_Deathknight_ClassIcon:15|t";
- break;
- case CLASS_DRUID:
- color = "|cffFF7D0A|TInterface\\icons\\ABILITY_DRUID_DEMORALIZINGROAR:15|t";
- break;
- case CLASS_HUNTER:
- color = "|cffABD473|TInterface\\icons\\Ability_Hunter_LockAndLoad:15|t";
- break;
- case CLASS_MAGE:
- color = "|cff69CCF0|TInterface\\icons\\Spell_MageArmor:15|t";
- break;
- case CLASS_PALADIN:
- color = "|cffF58CBA|TInterface\\icons\\Spell_Magic_MageArmor:15|t";
- break;
- case CLASS_PRIEST:
- color = "|cffFFFFFF|TInterface\\icons\\Spell_Holy_SearingLightPriest:15|t";
- break;
- case CLASS_ROGUE:
- color = "|cffFFF569|TInterface\\icons\\Ability_Rogue_Ambush:15|t";
- break;
- case CLASS_SHAMAN:
- color = "|cff0070DE|TInterface\\icons\\Spell_Shaman_StaticShock:15|t";
- break;
- case CLASS_WARLOCK:
- color = "|cff9482C9|TInterface\\icons\\Ability_Warlock_DemonicPower:15|t";
- break;
- case CLASS_WARRIOR:
- color = "|cffC79C6E|TInterface\\icons\\Ability_Warrior_OffensiveStance:15|t";
- break;
- }
- return "|Hplayer:"+name+"|h|cffFFFFFF["+color+name+"|cffFFFFFF]|h|r";
- }
- class World_Chat : public CommandScript
- {
- public:
- World_Chat() : CommandScript("World_Chat"){}
- ChatCommand * GetCommands() const
- {
- static ChatCommand WorldChatCommandTable[] =
- {
- {"chat", rbac::RBAC_PERM_COMMAND_WORLD_CHAT, true, &HandleWorldChatCommand, "", NULL},
- {NULL, 0, false, NULL, "", NULL}
- };
- return WorldChatCommandTable;
- }
- static bool HandleWorldChatCommand(ChatHandler * handler, const char * args)
- {
- if (!handler->GetSession()->GetPlayer()->CanSpeak())
- return false;
- std::string temp = args;
- if (!args || temp.find_first_not_of(' ') == std::string::npos)
- return false;
- std::string msg = "";
- Player * player = handler->GetSession()->GetPlayer();
- switch(player->GetSession()->GetSecurity())
- {
- // Player
- case SEC_PLAYER:
- if (player->GetTeam() == ALLIANCE)
- {
- msg += "|cffFF0000[Server Name]|TInterface\\icons\\Inv_Misc_Tournaments_banner_Human:15|t ";
- msg += GetNameLink(player);
- msg += " |cfffaeb00";
- }
- else
- {
- msg += "|cffFF0000[Server Name]|TInterface\\icons\\Inv_Misc_Tournaments_banner_Orc:15|t ";
- msg += GetNameLink(player);
- msg += " |cfffaeb00";
- }
- break;
- // VIP
- case SEC_VIP:
- if (player->GetTeam() == ALLIANCE)
- {
- msg += "|cffFF0000[Server Name]|TInterface\\icons\\INV_Misc_Token_ArgentDawn3:15|t |cffFFFF00[V.I.P]|TInterface\\icons\\Inv_Misc_Tournaments_banner_Human:15|t ";
- msg += GetNameLink(player);
- msg += " |cfffaeb00";
- }
- else
- {
- msg += "|cffFF0000[Server Name]|TInterface\\icons\\INV_Misc_Token_ArgentDawn3:15|t |cffFFFF00[V.I.P]|TInterface\\icons\\Inv_Misc_Tournaments_banner_Orc:15|t ";
- msg += GetNameLink(player);
- msg += " |cfffaeb00";
- }
- break;
- // Trial GM
- case SEC_GAMEMASTER:
- msg += "|cffFF0000[Server Name]|TInterface\\icons\\Mail_GMIcon:15|t |cffFF8C00[Trial GM] ";
- msg += GetNameLink(player);
- msg += " |cfffaeb00";
- break;
- // GM
- case SEC_EVENTM:
- msg += "|cffFF0000[Server Name]|TInterface\\icons\\Mail_GMIcon:15|t |cffFF8C00[GM] ";
- msg += GetNameLink(player);
- msg += " |cfffaeb00";
- break;
- // Admin
- case SEC_HEADGM:
- msg += "|cffFF0000[Server Name]|TInterface\\icons\\Mail_GMIcon:15|t |cffFFA500[Admin] ";
- msg += GetNameLink(player);
- msg += " |cfffaeb00";
- break;
- // Developer
- case SEC_DEVELOPER:
- msg += "|cffFF0000[Server Name]|TInterface\\icons\\Mail_GMIcon:15|t |cffFFA500[Developer] ";
- msg += GetNameLink(player);
- msg += " |cfffaeb00";
- break;
- // Co-Owner
- case SEC_ADMINISTRATOR:
- msg += "|cffFF0000[Server Name]|TInterface\\icons\\Mail_GMIcon:15|t |cffFF0000[Co-Owner] ";
- msg += GetNameLink(player);
- msg += " |cfffaeb00";
- break;
- // Owner
- case SEC_OWNER:
- msg += "|cffFF0000[Server Name]|TInterface\\icons\\Mail_GMIcon:15|t |cffFF0000[Owner] ";
- msg += GetNameLink(player);
- msg += " |cfffaeb00";
- break;
- }
- msg += args;
- if (FACTION_SPECIFIC)
- {
- SessionMap sessions = sWorld->GetAllSessions();
- for (SessionMap::iterator itr = sessions.begin(); itr != sessions.end(); ++itr)
- if (Player* plr = itr->second->GetPlayer())
- if (plr->GetTeam() == player->GetTeam())
- sWorld->SendServerMessage(SERVER_MSG_STRING, msg.c_str(), plr);
- }
- else
- sWorld->SendServerMessage(SERVER_MSG_STRING, msg.c_str(), 0);
- return true;
- }
- };
- void AddSC_World_Chat()
- {
- new World_Chat;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement