Advertisement
brannik_111

StartGearNPC

Apr 5th, 2015
31
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 11.87 KB | None | 0 0
  1. #include "ScriptPCH.h"
  2. class StartNPC : public  CreatureScript {
  3. public:
  4.     StartNPC() : CreatureScript("Start_NPC"){}
  5.     bool OnGossipHello(Player* plr, Creature* npc){
  6.         if (plr->GetSession()->GetSecurity() >= 1){
  7.             plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_UNK_14, "GM Outfit", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 31);
  8.             plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_TAXI, "Teleport to GM Island", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 33);
  9.         }
  10.         switch (plr->getClass()){
  11.         case CLASS_DEATH_KNIGHT:{
  12.             plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Unholy", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
  13.             plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Frost", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
  14.             plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Blood", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3);
  15.             plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT_11, "Nevermind...", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 32);
  16.             plr->PlayerTalkClass->SendGossipMenu(2, npc->GetGUID());
  17.             break;
  18.         }
  19.         case CLASS_DRUID:{  
  20.             plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Balance", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4);
  21.             plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Restoration", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5);
  22.             plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Feral", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 6);
  23.             plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT_11, "Nevermind...", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 32);
  24.             plr->PlayerTalkClass->SendGossipMenu(2, npc->GetGUID());
  25.             break;
  26.         }
  27.         case CLASS_HUNTER:{
  28.             plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Beast Mastery", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 7);
  29.             plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Marksman", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 8);
  30.             plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Survival", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 9);
  31.             plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT_11, "Nevermind...", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 32);
  32.             plr->PlayerTalkClass->SendGossipMenu(2, npc->GetGUID());
  33.             break;
  34.         }
  35.         case CLASS_MAGE:{
  36.             plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Arcane", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 10);
  37.             plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Fire", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 11);
  38.             plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Frost", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 12);
  39.             plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT_11, "Nevermind...", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 32);
  40.             plr->PlayerTalkClass->SendGossipMenu(2, npc->GetGUID());
  41.             break;
  42.         }
  43.         case CLASS_PALADIN:{
  44.             plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Retribution", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 13);
  45.             plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Protection", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 14);
  46.             plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Holy", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 15);
  47.             plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT_11, "Nevermind...", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 32);
  48.             plr->PlayerTalkClass->SendGossipMenu(2, npc->GetGUID());
  49.             break;
  50.         }
  51.         case CLASS_PRIEST: {
  52.             plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Discipline", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 16);
  53.             plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Holy", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 17);
  54.             plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Shadow", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 18);
  55.             plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT_11, "Nevermind...", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 32);
  56.             plr->PlayerTalkClass->SendGossipMenu(2, npc->GetGUID());
  57.             break;
  58.         }
  59.         case CLASS_ROGUE:{
  60.             plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Assassination", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 19);
  61.             plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Combat", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 20);
  62.             plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Subtlety", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 21);
  63.             plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT_11, "Nevermind...", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 32);
  64.             plr->PlayerTalkClass->SendGossipMenu(2, npc->GetGUID());
  65.             break;
  66.         }
  67.         case CLASS_SHAMAN:{
  68.             plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Elemental", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 22);
  69.             plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Enchancement", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 23);
  70.             plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Restoration", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 24);
  71.             plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT_11, "Nevermind...", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 32);
  72.             plr->PlayerTalkClass->SendGossipMenu(2, npc->GetGUID());
  73.             break;
  74.         }
  75.         case CLASS_WARLOCK:{
  76.             plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Affliction", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 25);
  77.             plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Demonology", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 26);
  78.             plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Destruction", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 27);
  79.             plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT_11, "Nevermind...", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 32);
  80.             plr->PlayerTalkClass->SendGossipMenu(2, npc->GetGUID());
  81.             break;
  82.         }
  83.         case CLASS_WARRIOR:{
  84.             plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Arms", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 28);
  85.             plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Protection", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 29);
  86.             plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Fury", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 30);
  87.             plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT_11, "Nevermind...", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 32);
  88.             plr->PlayerTalkClass->SendGossipMenu(2, npc->GetGUID());
  89.             break;
  90.         }
  91.         }
  92.         return true;
  93.     }
  94.  
  95.     bool OnGossipSelect(Player* plr, Creature* npc, uint32 /*sender*/, uint32 uiAction){
  96.         plr->PlayerTalkClass->ClearMenus();
  97.         if (!plr){
  98.             return false;
  99.         }
  100.        
  101.         // 29 itema za vseki case + talanti
  102.        
  103.         switch (uiAction){
  104.         case GOSSIP_ACTION_INFO_DEF + 1: // unholy dk
  105.             //plr->AddItem(11111, 1);  11111 - item
  106.             plr->GetSession()->SendAreaTriggerMessage("UH DK in Developement!!!");
  107.             plr->PlayerTalkClass->SendCloseGossip();
  108.             break;
  109.        
  110.         case GOSSIP_ACTION_INFO_DEF + 2: // frost dk
  111.             plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
  112.             plr->PlayerTalkClass->SendCloseGossip();
  113.             break;
  114.        
  115.         case GOSSIP_ACTION_INFO_DEF + 3: // blood dk
  116.             plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
  117.             plr->PlayerTalkClass->SendCloseGossip();
  118.             break;
  119.        
  120.         case GOSSIP_ACTION_INFO_DEF + 4: // balance druid
  121.             plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
  122.             plr->PlayerTalkClass->SendCloseGossip();
  123.             break;
  124.        
  125.         case GOSSIP_ACTION_INFO_DEF + 5: // restoration druid
  126.             plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
  127.             plr->PlayerTalkClass->SendCloseGossip();
  128.             break;
  129.        
  130.         case GOSSIP_ACTION_INFO_DEF + 6: // feral druid
  131.             plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
  132.             plr->PlayerTalkClass->SendCloseGossip();
  133.             break;
  134.        
  135.         case GOSSIP_ACTION_INFO_DEF + 7: // BM hunter
  136.             plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
  137.             plr->PlayerTalkClass->SendCloseGossip();
  138.             break;
  139.        
  140.         case GOSSIP_ACTION_INFO_DEF + 8: // MM hunter
  141.             plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
  142.             plr->PlayerTalkClass->SendCloseGossip();
  143.             break;
  144.        
  145.         case GOSSIP_ACTION_INFO_DEF + 9: // Survaival hunter
  146.             plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
  147.             plr->PlayerTalkClass->SendCloseGossip();
  148.             break;
  149.        
  150.         case GOSSIP_ACTION_INFO_DEF + 10: // Arcane mage
  151.             plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
  152.             plr->PlayerTalkClass->SendCloseGossip();
  153.             break;
  154.        
  155.         case GOSSIP_ACTION_INFO_DEF + 11: // fire mage
  156.             plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
  157.             plr->PlayerTalkClass->SendCloseGossip();
  158.             break;
  159.        
  160.         case GOSSIP_ACTION_INFO_DEF + 12: // frost mage
  161.             plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
  162.             plr->PlayerTalkClass->SendCloseGossip();
  163.             break;
  164.        
  165.         case GOSSIP_ACTION_INFO_DEF + 13: // retribution paladin
  166.             plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
  167.             plr->PlayerTalkClass->SendCloseGossip();
  168.             break;
  169.        
  170.         case GOSSIP_ACTION_INFO_DEF + 14: // protection paladin
  171.             plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
  172.             plr->PlayerTalkClass->SendCloseGossip();
  173.             break;
  174.        
  175.         case GOSSIP_ACTION_INFO_DEF + 15: // holy paladin
  176.             plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
  177.             plr->PlayerTalkClass->SendCloseGossip();
  178.             break;
  179.        
  180.         case GOSSIP_ACTION_INFO_DEF + 16: // disc priest
  181.             plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
  182.             plr->PlayerTalkClass->SendCloseGossip();
  183.             break;
  184.        
  185.         case GOSSIP_ACTION_INFO_DEF + 17: // holy priest
  186.             plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
  187.             plr->PlayerTalkClass->SendCloseGossip();
  188.             break;
  189.        
  190.         case GOSSIP_ACTION_INFO_DEF + 18: // shadow priest
  191.             plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
  192.             plr->PlayerTalkClass->SendCloseGossip();
  193.             break;
  194.        
  195.         case GOSSIP_ACTION_INFO_DEF + 19: // assasination rogue
  196.             plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
  197.             plr->PlayerTalkClass->SendCloseGossip();
  198.             break;
  199.        
  200.         case GOSSIP_ACTION_INFO_DEF + 20: // combat rogue
  201.             plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
  202.             plr->PlayerTalkClass->SendCloseGossip();
  203.             break;
  204.        
  205.         case GOSSIP_ACTION_INFO_DEF + 21: // subtlety rogue
  206.             plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
  207.             plr->PlayerTalkClass->SendCloseGossip();
  208.             break;
  209.        
  210.         case GOSSIP_ACTION_INFO_DEF + 22: // elemental shaman
  211.             plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
  212.             plr->PlayerTalkClass->SendCloseGossip();
  213.             break;
  214.        
  215.         case GOSSIP_ACTION_INFO_DEF + 23: // enchancement shaman
  216.             plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
  217.             plr->PlayerTalkClass->SendCloseGossip();
  218.             break;
  219.        
  220.         case GOSSIP_ACTION_INFO_DEF + 24: // restoration shaman
  221.             plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
  222.             plr->PlayerTalkClass->SendCloseGossip();
  223.             break;
  224.        
  225.         case GOSSIP_ACTION_INFO_DEF + 25: // affliction warlock
  226.             plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
  227.             plr->PlayerTalkClass->SendCloseGossip();
  228.             break;
  229.        
  230.         case GOSSIP_ACTION_INFO_DEF + 26: // demonology warlock
  231.             plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
  232.             plr->PlayerTalkClass->SendCloseGossip();
  233.             break;
  234.        
  235.         case GOSSIP_ACTION_INFO_DEF + 27: // destruction warlock
  236.             plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
  237.             plr->PlayerTalkClass->SendCloseGossip();
  238.             break;
  239.        
  240.         case GOSSIP_ACTION_INFO_DEF + 28: // arms warrior
  241.             plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
  242.             plr->PlayerTalkClass->SendCloseGossip();
  243.             break;
  244.        
  245.         case GOSSIP_ACTION_INFO_DEF + 29: // protection warriror
  246.             plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
  247.             plr->PlayerTalkClass->SendCloseGossip();
  248.             break;
  249.        
  250.         case GOSSIP_ACTION_INFO_DEF + 30: // fury warrior
  251.             plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
  252.             plr->PlayerTalkClass->SendCloseGossip();
  253.             break;
  254.        
  255.         case GOSSIP_ACTION_INFO_DEF + 31: // gm outfit
  256.             plr->AddItem(2586, 1);
  257.             plr->AddItem(11508, 1);
  258.             plr->AddItem(12064, 1);
  259.             plr->PlayerTalkClass->SendCloseGossip();
  260.             break;
  261.        
  262.         case GOSSIP_ACTION_INFO_DEF + 32: // close menu
  263.             plr->GetSession()->SendAreaTriggerMessage("Cya soon");
  264.             plr->PlayerTalkClass->SendCloseGossip();
  265.             break;
  266.        
  267.         case GOSSIP_ACTION_INFO_DEF + 33: // teleport to gm island
  268.             plr->PlayerTalkClass->SendCloseGossip();
  269.             plr->TeleportTo(1, 16247, 16305, 44, 0);
  270.             break;
  271.         }
  272.         return true;
  273.     }
  274. };
  275. // script name - Start_NPC
  276. void AddSC_StartNPC(){
  277.     new StartNPC();
  278. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement