Advertisement
Faded

Trinitycore Global Chat

Jul 28th, 2013
870
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.12 KB | None | 0 0
  1. /*
  2.      _____           ____              
  3.     |   __|_____ _ _|    \ ___ _ _ ___
  4.     |   __|     | | |  |  | -_| | |_ -|
  5.     |_____|_|_|_|___|____/|___|\_/|___|
  6.               -[EmuDevs.com]-
  7. --------------------------------------------------------
  8. -±-  Released under the GNU General Public License.  -±-
  9. -±- (C) Nomsoftware, 2011-2013. All rights reserved. -±-
  10. --------------------------------------------------------
  11. ························································
  12. · Title: Global Chat                                  ·
  13. · Description: A x-faction global chat w/ class color  ·
  14. · Scripted by: Faded                                  ·
  15. ························································
  16.  
  17. */
  18.  
  19. #include "ScriptPCH.h"
  20. #include "Chat.h"
  21.  
  22. #define CUSTOM_ORANGE       "|cff873600"
  23. #define CUSTOM_RED          "|cffA40000"
  24. #define CUSTOM_BLUE         "|cff00479E"
  25. #define CUSTOM_GREEN        "|cff065600"
  26. #define CUSTOM_CYAN         "|cff005853"
  27. #define CUSTOM_WHITE        "|cffffffff"
  28. const char* CLASS_COLOR;
  29. const char* FACTION_COLOR;
  30. const char* FACTION_TXT;
  31.  
  32. class global_chat : public CommandScript
  33. {
  34.     public: global_chat() : CommandScript("global_chat"){}
  35.  
  36.         static bool HandleWorldChatCommand(ChatHandler* eChat, const char* msg)
  37.         {
  38.             if (!*msg)
  39.                 return false;
  40.             Player * player = eChat->GetSession()->GetPlayer();
  41.             char message[1024];
  42.  
  43.             switch (player->getClass())
  44.             {
  45.                 case CLASS_WARRIOR:
  46.                     CLASS_COLOR = "|cffc79c6e";
  47.                     break;
  48.  
  49.                 case CLASS_PALADIN:
  50.                     CLASS_COLOR = "|cfff58cBa";
  51.                     break;
  52.  
  53.                 case CLASS_HUNTER:
  54.                     CLASS_COLOR = "|cffabd473";
  55.                     break;
  56.  
  57.                 case CLASS_ROGUE:
  58.                     CLASS_COLOR = "|cfffff569";
  59.                     break;
  60.  
  61.                 case CLASS_PRIEST:
  62.                     CLASS_COLOR = "|cffffffff";
  63.                     break;
  64.  
  65.                 case CLASS_DEATH_KNIGHT:
  66.                     CLASS_COLOR = "|cffc41F3b";
  67.                     break;
  68.  
  69.                 case CLASS_SHAMAN:
  70.                     CLASS_COLOR = "|cff0070de";
  71.                     break;
  72.  
  73.                 case CLASS_MAGE:
  74.                     CLASS_COLOR = "|cff69ccf0";
  75.                     break;
  76.  
  77.                 case CLASS_WARLOCK:
  78.                     CLASS_COLOR = "|cff9482c9";
  79.                     break;
  80.  
  81.                 case CLASS_DRUID:
  82.                     CLASS_COLOR = "|cffff7d0a";
  83.                     break;
  84.             }
  85.  
  86.             switch (player->GetTeam())
  87.             {
  88.                 case ALLIANCE:
  89.                     FACTION_COLOR = "|cff0070de";
  90.                     FACTION_TXT = "A";
  91.  
  92.                     break;
  93.                 case HORDE:
  94.                     FACTION_COLOR = "|cffc41F3b";
  95.                     FACTION_TXT = "H";
  96.                     break;
  97.             }
  98.  
  99.             switch(player->GetSession()->GetSecurity())
  100.             {
  101.                 case SEC_PLAYER:
  102.                     snprintf(message, 1024, "(Chat)-[%s%s|r]-[%sPlayer|r] %s%s|r: %s%s|r", FACTION_COLOR, FACTION_TXT, CUSTOM_WHITE, CLASS_COLOR, player->GetName().c_str(), CUSTOM_WHITE, msg);
  103.                     sWorld->SendGlobalText(message, NULL);
  104.                 break;
  105.  
  106.                 case SEC_MODERATOR:
  107.                     snprintf(message, 1024, "(Chat)-[%s%s|r]-[%sMod|r] %s%s|r: %s%s|r", FACTION_COLOR, FACTION_TXT, CUSTOM_BLUE, CLASS_COLOR, player->GetName().c_str(), CUSTOM_CYAN, msg);
  108.                     sWorld->SendGlobalText(message, NULL);
  109.                 break;
  110.  
  111.                 case SEC_GAMEMASTER:
  112.                     snprintf(message, 1024, "(Chat)-[%s%s|r]-[%sGM|r] %s%s|r: %s%s|r", FACTION_COLOR, FACTION_TXT, CUSTOM_GREEN, CLASS_COLOR, player->GetName().c_str(), CUSTOM_GREEN, msg);
  113.                     sWorld->SendGlobalText(message, NULL);
  114.                 break;
  115.  
  116.                 case SEC_ADMINISTRATOR:
  117.                     snprintf(message, 1024, "(Chat)-[%s%s|r]-[%sDev|r] %s%s|r: %s%s|r", FACTION_COLOR, FACTION_TXT, CUSTOM_ORANGE, CLASS_COLOR, player->GetName().c_str(), CUSTOM_ORANGE, msg);
  118.                     sWorld->SendGlobalText(message, NULL);
  119.                 break;
  120.  
  121.                 case SEC_CONSOLE:
  122.                     snprintf(message, 1024, "(Chat)-[%s%s|r]-[%sAdmin|r] %s%s|r: %s%s|r", FACTION_COLOR, FACTION_TXT, CUSTOM_RED, CLASS_COLOR, player->GetName().c_str(), CUSTOM_RED, msg);
  123.                     sWorld->SendGlobalText(message, NULL);
  124.                 break;
  125.             }
  126.             return true;
  127.         }
  128.  
  129.         ChatCommand * GetCommands() const
  130.         {
  131.             static ChatCommand HandleWorldChatCommandTable[] =
  132.             {
  133.                     { "global", SEC_PLAYER, true, &HandleWorldChatCommand, "", NULL},
  134.                     { NULL, 0, false, NULL, "", NULL}
  135.             };
  136.             return HandleWorldChatCommandTable;
  137.         }
  138. };
  139.  
  140. void AddSC_global_chat()
  141. {
  142.     new global_chat();
  143. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement