Advertisement
randy336

[Trinity] Custom Event Commands

Apr 1st, 2013
1,213
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.34 KB | None | 0 0
  1. /*
  2. <--------------------------------------------------------------------------->
  3.  - Developer(s): Ghostcrawler336
  4.  - Complete: 100%
  5.  - ScriptName: 'Custom Event Commands'
  6.  - Comment: Untested
  7. <--------------------------------------------------------------------------->
  8. */
  9.  
  10. #include "ScriptMgr.h"
  11. #include "Language.h"
  12.  
  13. enum
  14. {
  15.     Event_Token = 1000,   // Define your event token here!
  16.     ROOT = 39258, // Event Master Rooting spell
  17.  
  18.     // Spells
  19.     event_spell = 6343,
  20.     event_spell_1 = 12282,
  21.     event_spell_2 = 12286,
  22.     event_spell_3 = 12697,
  23.     event_spell_4 = 23695
  24. };
  25.  
  26. class emcommands : public CommandScript
  27. {
  28. public:
  29.     emcommands() : CommandScript("emcommands") { }
  30.  
  31.     ChatCommand* GetCommands() const
  32.     {
  33.         static ChatCommand emCommandTable[] =
  34.  
  35.         {
  36.         { "reward",   SEC_MODERATOR,  true, &HandleEventReward,         "", NULL },
  37.         { "reward1",      SEC_MODERATOR,  true, &HandleEventReward1,         "", NULL },
  38.         { "reward2",      SEC_MODERATOR,  true, &HandleEventReward2,         "", NULL },
  39.         { "freeze",   SEC_MODERATOR,  true, &Handlefreeze,         "", NULL },
  40.         { "unfreeze",     SEC_MODERATOR,  true, &Handleunfreeze,         "", NULL },
  41.         { "port",     SEC_MODERATOR,  true, &Handleport,         "", NULL },
  42.         { "learn",    SEC_MODERATOR,  true, &Handlelearn,         "", NULL },
  43.         { "unlearn",      SEC_MODERATOR,  true, &Handleunlearn,         "", NULL },
  44.         { NULL,             0,                     false, NULL,          "", NULL }
  45.         };
  46.         static ChatCommand commandTable[] =
  47.         {
  48.             { "em",     SEC_MODERATOR,   true, NULL,      "",  emCommandTable},
  49.            { NULL,             0,                  false, NULL,                               "", NULL }
  50.         };
  51.         return commandTable;
  52.     }
  53. static bool HandleEventReward(ChatHandler* handler, const char* args) // Gives one event token!
  54.     {  
  55.                Player* pPlayer = handler->GetSession()->GetPlayer();
  56.                Player* plTarget = pPlayer->GetSelectedPlayer();
  57.                plTarget->AddItem(Event_Token, 2);
  58.                handler->PSendSysMessage("|cffB400B4Congratulations you have won yourself one event token!");
  59.                return true;
  60.     }
  61. static bool HandleEventReward1(ChatHandler * handler, const char * args) // Gives two event tokens!
  62.     {          Player* pPlayer = handler->GetSession()->GetPlayer();
  63.                Player* plTarget = pPlayer->GetSelectedPlayer();
  64.                plTarget->AddItem(Event_Token, 2);
  65.               handler->PSendSysMessage("|cffB400B4Congratulations you have won yourself two event token!");
  66.               return true;      
  67.     }
  68. static bool HandleEventReward2(ChatHandler* handler, const char* args) // Gives three event tokens!
  69.     {
  70.                Player* pPlayer = handler->GetSession()->GetPlayer();
  71.                Player* plTarget = pPlayer->GetSelectedPlayer();
  72.                plTarget->AddItem(Event_Token, 3);
  73.                handler->PSendSysMessage("|cffB400B4Congratulations you have won yourself three event token!");
  74.                return true;
  75.     }
  76. static bool Handlefreeze(ChatHandler* handler, const char* args) // Handles the custom root command!
  77.     {
  78.                Player* pPlayer = handler->GetSession()->GetPlayer();
  79.                Player* plTarget = pPlayer->GetSelectedPlayer();
  80.                plTarget->CastSpell(pPlayer, ROOT, true);
  81.                handler->PSendSysMessage("|cffB400B4You have been frozen to make this event easier to handle!");
  82.                return true;
  83.     }
  84. static bool Handleunfreeze(ChatHandler* handler, const char* args) // Unaura the root spell!
  85.     {
  86.                Player* pPlayer = handler->GetSession()->GetPlayer();
  87.                Player* plTarget = pPlayer->GetSelectedPlayer();
  88.                plTarget->RemoveAura(ROOT);
  89.                handler->PSendSysMessage("|cffB400B4You're now unfrozen!");
  90.             return true;
  91.     }
  92. static bool Handleport(ChatHandler* handler, const char* args) // Teleports the selected player to stormwind or org based on faction
  93.     {
  94.                Player* pPlayer = handler->GetSession()->GetPlayer();
  95.                Player* plTarget = pPlayer->GetSelectedPlayer();
  96.                 if (plTarget->GetTeam() == ALLIANCE)
  97.                plTarget->TeleportTo(0, -8830.568359f, 624.444458f, 93.904198f, 3.853514f);
  98.                 else
  99.                plTarget->TeleportTo(1, 1598.709106f, -4397.028809f, 8.542884f, 3.697618f);     
  100.                 return true;
  101.     }
  102. static bool Handlelearn(ChatHandler* handler, const char* args) // Event Masters can use this command to learn per set spells inside the script. :)
  103.     {
  104.                Player* pPlayer = handler->GetSession()->GetPlayer();  
  105.                pPlayer->learnSpell(event_spell, true),
  106.                pPlayer->learnSpell(event_spell_1, true),
  107.                pPlayer->learnSpell(event_spell_2, true),
  108.                pPlayer->learnSpell(event_spell_3, true),
  109.                pPlayer->learnSpell(event_spell_4, true);
  110.                 return true;
  111.     }
  112. static bool Handleunlearn(ChatHandler* handler, const char* args) // Unlearn custom spells added.
  113.    {
  114.                Player* pPlayer = handler->GetSession()->GetPlayer();
  115.                pPlayer->removeSpell(event_spell, true),
  116.                pPlayer->removeSpell(event_spell_1, true),
  117.                pPlayer->removeSpell(event_spell_2, true),
  118.                pPlayer->removeSpell(event_spell_3, true),
  119.                pPlayer->removeSpell(event_spell_4, true);
  120.                pPlayer->removeSpell(event_spell, true);
  121.                 return true;
  122.     }
  123. };
  124. void AddSC_emcommands()
  125. {
  126.     new emcommands();
  127. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement