Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- <--------------------------------------------------------------------------->
- - Developer(s): Ghostcrawler336
- - Complete: %0
- - ScriptName: 'Multi Vendor'
- - Comment: N/A
- <--------------------------------------------------------------------------->
- */
- class npc_mounts : public CreatureScript
- {
- public:
- npc_mounts() : CreatureScript("npc_mounts") { }
- uint32 GetTotalKill(Player* player)
- {
- QueryResult result = CharacterDatabase.PQuery("SELECT totalKills FROM characters WHERE guid = %u", player->GetGUID());
- if (result)
- {
- Field* field = result->Fetch();
- if (field)
- return field[0].GetUInt32();
- }
- return NULL;
- }
- bool OnGossipHello(Player* player, Creature* creature)
- {
- if (player->getFaction == ALLIANCE) {
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, "Menu #1", GOSSIP_SENDER_MAIN, 1);
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, "Menu #2", GOSSIP_SENDER_MAIN, 2);
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, "Menu #3", GOSSIP_SENDER_MAIN, 3);
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Nevermind", GOSSIP_SENDER_MAIN, 99);
- player->SEND_GOSSIP_MENU(1, creature->GetGUID());
- } else
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, "Menu #1", GOSSIP_SENDER_MAIN, 4);
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, "Menu #2", GOSSIP_SENDER_MAIN, 5);
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, "Menu #3", GOSSIP_SENDER_MAIN, 6);
- return true;
- }
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /* sender */, uint32 actions)
- {
- player->PlayerTalkClass->ClearMenus();
- WorldSession * PGS = player->GetSession();
- switch (actions)
- {
- case 1: // Alliance vendor 1
- if (GetTotalKill(player) >= 100)
- PGS->SendListInventory(creature->GetGUID(), 70001);
- else
- player->PlayerTalkClass->SendGossipMenu(10, creature->GetGUID());
- break;
- case 2: // Alliance vendor 2
- if (GetTotalKill(player) >= 300)
- PGS->SendListInventory(creature->GetGUID(), 70001);
- else
- player->PlayerTalkClass->SendGossipMenu(10, creature->GetGUID());
- break;
- case 3: // Alliance vendor 3
- if (GetTotalKill(player) >= 500)
- PGS->SendListInventory(creature->GetGUID(), 70001);
- else
- player->PlayerTalkClass->SendGossipMenu(10, creature->GetGUID());
- break;
- case 4: // Horde Vendor 1
- if (GetTotalKill(player) >= 100)
- PGS->SendListInventory(creature->GetGUID(), 70001);
- else
- player->PlayerTalkClass->SendGossipMenu(10, creature->GetGUID());
- break;
- case 5: // Horde Vendor 2
- if (GetTotalKill(player) >= 300)
- PGS->SendListInventory(creature->GetGUID(), 70001);
- else
- player->PlayerTalkClass->SendGossipMenu(10, creature->GetGUID());
- break;
- case 6: // Horde Vendor 3
- if (GetTotalKill(player) >= 500)
- PGS->SendListInventory(creature->GetGUID(), 70001);
- else
- player->PlayerTalkClass->SendGossipMenu(10, creature->GetGUID());
- break;
- case 99:
- player->CLOSE_GOSSIP_MENU();
- break;
- }
- return true;
- }
- };
- void AddSC_npc_mounts()
- {
- new npc_mounts;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement