kusanagy

Multi-Vendor Example C++

Nov 8th, 2019
397
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.87 KB | None | 0 0
  1. /*
  2. <--------------------------------------------------------------------------->
  3. - Developer(s): Ghostcrawler336
  4. - Complete: %0
  5. - ScriptName: 'Multi Vendor'
  6. - Comment: N/A
  7. <--------------------------------------------------------------------------->
  8. */
  9. class starter_gear : public CreatureScript
  10. {
  11. public:
  12.     starter_gear() : CreatureScript("starter_gear") { }
  13.  
  14.         bool OnGossipHello(Player* player, Creature* creature)
  15.                
  16.         {
  17.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, "Main Set", GOSSIP_SENDER_MAIN, 1);
  18.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, "Off Set", GOSSIP_SENDER_MAIN, 2);
  19.                                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, "Weapons", GOSSIP_SENDER_MAIN, 3);
  20.                                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, "Gems", GOSSIP_SENDER_MAIN, 4);
  21.                                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, "Glyphs", GOSSIP_SENDER_MAIN, 5);
  22.                                 player->SEND_GOSSIP_MENU(1, creature->GetGUID());
  23.                 return true;  
  24.         }
  25.  
  26.        
  27.         bool OnGossipSelect(Player* player, Creature* creature, uint32 /* sender */, uint32 actions)
  28.                 {
  29.                         player->PlayerTalkClass->ClearMenus();
  30.              WorldSession * PGS = player->GetSession();
  31.                         switch(actions)
  32.                 {
  33.                         case 1:
  34.                                 PGS->SendListInventory(creature->GetGUID(), 500120);
  35.                         break;
  36.  
  37.                         case 2:
  38.                                 PGS->SendListInventory(creature->GetGUID(), 500120);
  39.                         break;
  40.  
  41.                         case 3:
  42.                                 PGS->SendListInventory(creature->GetGUID(), 500120);
  43.                         break;
  44.  
  45.                         case 4:
  46.                                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, "Meta", GOSSIP_SENDER_MAIN, 10);
  47.                                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, "Red", GOSSIP_SENDER_MAIN, 11);
  48.                                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, "Blue", GOSSIP_SENDER_MAIN, 12);
  49.                                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, "Yellow", GOSSIP_SENDER_MAIN, 13);
  50.                                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, "Green", GOSSIP_SENDER_MAIN, 14);
  51.                                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, "Purple", GOSSIP_SENDER_MAIN, 15);
  52.                                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, "Orange", GOSSIP_SENDER_MAIN, 16);
  53.                         break;
  54.                        
  55.                         case 5:
  56.                                 if (player->getClass() == CLASS_WARRIOR)
  57.                                   PGS->SendListInventory(creature->GetGUID(), 500111);
  58.                                 else if (CLASS_PALADIN)
  59.                                   PGS->SendListInventory(creature->GetGUID(), 500068);
  60.                                 else if (CLASS_DEATH_KNIGHT)
  61.                                    PGS->SendListInventory(creature->GetGUID(), 500026);
  62.                                 else if (CLASS_DRUID)
  63.                                    PGS->SendListInventory(creature->GetGUID(), 500027);
  64.                                 else if (CLASS_HUNTER)
  65.                                         PGS->SendListInventory(creature->GetGUID(), 500046);
  66.                                 else if (CLASS_MAGE)
  67.                                         PGS->SendListInventory(creature->GetGUID(), 500057);
  68.                                 else if (CLASS_ROGUE)
  69.                                         PGS->SendListInventory(creature->GetGUID(), 500095);
  70.                                 else if (CLASS_SHAMAN)
  71.                                         PGS->SendListInventory(creature->GetGUID(), 500097);
  72.                                 else if (CLASS_WARLOCK)
  73.                                         PGS->SendListInventory(creature->GetGUID(), 500110);
  74.                                 else if (CLASS_PRIEST)
  75.                                         PGS->SendListInventory(creature->GetGUID(), 500113);
  76.                                 break;
  77.  
  78.                         case 10: // Meta gems
  79.                                 {
  80.                                          PGS->SendListInventory(creature->GetGUID(), 200030);
  81.                                 }break;
  82.  
  83.                         case 11: // Red gems
  84.                                 {
  85.                                          PGS->SendListInventory(creature->GetGUID(), 500111);
  86.                                 }break;
  87.  
  88.                         case 12: // Blue gems
  89.                                 {
  90.                                          PGS->SendListInventory(creature->GetGUID(), 500111);
  91.                                 }break;
  92.  
  93.                         case 13: // Yellow gems
  94.                                 {
  95.                                          PGS->SendListInventory(creature->GetGUID(), 500111);
  96.                                 }break;
  97.  
  98.                         case 14: // Green gems
  99.                                 {
  100.                                     PGS->SendListInventory(creature->GetGUID(), 500111);
  101.                                 }break;
  102.  
  103.                         case 15: // Purple gems
  104.                                 {
  105.                                          PGS->SendListInventory(creature->GetGUID(), 500111);
  106.                                 }break;
  107.  
  108.                         case 16: // Orange gems
  109.                                 {
  110.                                          PGS->SendListInventory(creature->GetGUID(), 500111);
  111.                                 }break;
  112.  
  113.  
  114.  
  115.                 }
  116.                
  117.                 }
  118. };
  119.  
  120. void AddSC_starter_gear()
  121. {
  122.     new starter_gear;
  123. }
Advertisement
Add Comment
Please, Sign In to add comment