Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * RedRum Scripts
- * Copyright (C) 2009 - 2010 Redrum Emulator <http://vcnwow.net/>
- *
- * Scripted by Zanukan
- * Season 8 Voting NPC
- * VOTE_NPC_ID 3400001
- */
- #include "StdAfx.h"
- #include "Setup.h"
- #define VOTE_TOKEN_ID 24245 //voting token Item ID
- #define SEASON8_NPC_ID 3400001 //voting NPC spawn ID
- #define VOTE_TOKEN_AMOUNT 10 //How many Tokens we remove from player
- class SCRIPT_DECL Season8NPC : public GossipScript
- {
- public:
- void GossipHello(Object * pObject, Player* Plr, bool AutoSend);
- void GossipSelectOption(Object * pObject, Player * pPlayer, uint32 Id, uint32 IntId, const char * Code);
- void GossipEnd(Object * pObject, Player * pPlayer);
- void Destroy()
- {
- delete this;
- }
- };
- void Season8NPC::GossipHello(Object * pObject, Player* Plr, bool AutoSend)
- {
- GossipMenu *Menu;
- objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 823920, Plr);
- Menu->AddItem(1, "|cFF800080Each Set cost 10 Voting Tokens."); // change this to your own
- Menu->AddItem(1, "|cFF800080To get tokens vote at vcnwow.net."); //change to your server website
- Menu->AddItem(1, "|cFF800080Make sure to have bag space.");
- Menu->AddItem(9, "|cFF800080What do you have to offer?", 1);
- Menu->AddItem(5, "[CLOSE WINDOW]", 500);
- if(AutoSend)
- Menu->SendTo(Plr);
- }
- void Season8NPC::GossipSelectOption(Object * pObject, Player* Plr, uint32 Id, uint32 IntId, const char * Code)
- {
- Creature * pCreature = (pObject->GetTypeId()==TYPEID_UNIT)?((Creature*)pObject):NULL;;
- if(pCreature==NULL)
- return;
- switch(IntId)
- {
- case 1:{
- GossipMenu *Menu;
- objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 823920, Plr);
- Menu->AddItem(9, "|cFF008B8BWrathful Paladin Retribution", 37);
- Menu->AddItem(9, "|cFF008B8BWrathful Paladin Holy", 38);
- Menu->AddItem(9, "|cFF008B8BWrathful Mage", 39);
- Menu->AddItem(9, "|cFF008B8BWrathful Hunter", 40);
- Menu->AddItem(9, "|cFF008B8BWrathful Druid Balance", 41);
- Menu->AddItem(9, "|cFF008B8BWrathful Druid Feral", 42);
- Menu->AddItem(9, "|cFF008B8BWrathful Resto", 43);
- Menu->AddItem(9, "|cFF008B8BWrathful Deathknight", 44);
- Menu->AddItem(9, "[ NEXT PAGE ]", 2);
- Menu->AddItem(5, "[CLOSE WINDOW]", 500);
- Menu->SendTo(Plr);
- }break;
- case 2:{
- GossipMenu *Menu;
- objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 823920, Plr);
- Menu->AddItem(9, "|cFF008B8BWrathful Warrior", 29);
- Menu->AddItem(9, "|cFF008B8BWrathful Warlock", 30);
- Menu->AddItem(9, "|cFF008B8BWrathful Shaman Elemental", 31);
- Menu->AddItem(9, "|cFF008B8BWrathful Shaman Enhancement", 32);
- Menu->AddItem(9, "|cFF008B8BWrathful Shaman Resto", 33);
- Menu->AddItem(9, "|cFF008B8BWrathful Rogue", 34);
- Menu->AddItem(9, "|cFF008B8BWrathful Priest Shadow", 35);
- Menu->AddItem(9, "|cFF008B8BWrathful Priest Healer", 36);
- Menu->AddItem(5, "[CLOSE WINDOW]", 500);
- Menu->SendTo(Plr);
- }break;
- case 29:{//Plate
- if (Plr->GetItemInterface()->GetItemCount(VOTE_TOKEN_ID) >= VOTE_TOKEN_AMOUNT)
- {
- Item* item;
- Item* item2;
- Item* item3;
- Item* item4;
- Item* item5;
- item = objmgr.CreateItem(51545, Plr);
- item2= objmgr.CreateItem(51544, Plr);
- item3= objmgr.CreateItem(51543, Plr);
- item4= objmgr.CreateItem(51542, Plr);
- item5= objmgr.CreateItem(51541, Plr);
- Plr->GetItemInterface()->AddItemToFreeSlot(item);
- Plr->GetItemInterface()->AddItemToFreeSlot(item2);
- Plr->GetItemInterface()->AddItemToFreeSlot(item3);
- Plr->GetItemInterface()->AddItemToFreeSlot(item4);
- Plr->GetItemInterface()->AddItemToFreeSlot(item5);
- Plr->GetItemInterface()->RemoveItemAmt(VOTE_TOKEN_ID, VOTE_TOKEN_AMOUNT);
- Plr->Gossip_Complete();
- }
- else
- {
- Plr->BroadcastMessage("You dont have enough InsaneWoW Voting Tokens"); // change this to whatever
- Plr->Gossip_Complete();
- }
- }break;
- case 30:{//felweave
- if (Plr->GetItemInterface()->GetItemCount(VOTE_TOKEN_ID) >= VOTE_TOKEN_AMOUNT)
- {
- Item* item;
- Item* item2;
- Item* item3;
- Item* item4;
- Item* item5;
- item = objmgr.CreateItem(51540, Plr);
- item2= objmgr.CreateItem(51539, Plr);
- item3= objmgr.CreateItem(51538, Plr);
- item4= objmgr.CreateItem(51537, Plr);
- item5= objmgr.CreateItem(51536, Plr);
- Plr->GetItemInterface()->AddItemToFreeSlot(item);
- Plr->GetItemInterface()->AddItemToFreeSlot(item2);
- Plr->GetItemInterface()->AddItemToFreeSlot(item3);
- Plr->GetItemInterface()->AddItemToFreeSlot(item4);
- Plr->GetItemInterface()->AddItemToFreeSlot(item5);
- Plr->GetItemInterface()->RemoveItemAmt(VOTE_TOKEN_ID, VOTE_TOKEN_AMOUNT);
- Plr->Gossip_Complete();
- }
- else
- {
- Plr->BroadcastMessage("You dont have enough InsaneWoW Voting Tokens");
- Plr->Gossip_Complete();
- }
- }break;
- case 31:{//Mail
- if (Plr->GetItemInterface()->GetItemCount(VOTE_TOKEN_ID) >= VOTE_TOKEN_AMOUNT)
- {
- Item* item;
- Item* item2;
- Item* item3;
- Item* item4;
- Item* item5;
- item = objmgr.CreateItem(51514, Plr);
- item2= objmgr.CreateItem(51512, Plr);
- item3= objmgr.CreateItem(51511, Plr);
- item4= objmgr.CreateItem(51510, Plr);
- item5= objmgr.CreateItem(51509, Plr);
- Plr->GetItemInterface()->AddItemToFreeSlot(item);
- Plr->GetItemInterface()->AddItemToFreeSlot(item2);
- Plr->GetItemInterface()->AddItemToFreeSlot(item3);
- Plr->GetItemInterface()->AddItemToFreeSlot(item4);
- Plr->GetItemInterface()->AddItemToFreeSlot(item5);
- Plr->GetItemInterface()->RemoveItemAmt(VOTE_TOKEN_ID, VOTE_TOKEN_AMOUNT);
- Plr->Gossip_Complete();
- }
- else
- {
- Plr->BroadcastMessage("You dont have enough InsaneWoW Voting Tokens");
- Plr->Gossip_Complete();
- }
- }break;
- case 32:{//linked
- if (Plr->GetItemInterface()->GetItemCount(VOTE_TOKEN_ID) >= VOTE_TOKEN_AMOUNT)
- {
- Item* item;
- Item* item2;
- Item* item3;
- Item* item4;
- Item* item5;
- item = objmgr.CreateItem(51508, Plr);
- item2= objmgr.CreateItem(51506, Plr);
- item3= objmgr.CreateItem(51505, Plr);
- item4= objmgr.CreateItem(51504, Plr);
- item5= objmgr.CreateItem(51503, Plr);
- Plr->GetItemInterface()->AddItemToFreeSlot(item);
- Plr->GetItemInterface()->AddItemToFreeSlot(item2);
- Plr->GetItemInterface()->AddItemToFreeSlot(item3);
- Plr->GetItemInterface()->AddItemToFreeSlot(item4);
- Plr->GetItemInterface()->AddItemToFreeSlot(item5);
- Plr->GetItemInterface()->RemoveItemAmt(VOTE_TOKEN_ID, VOTE_TOKEN_AMOUNT);
- Plr->Gossip_Complete();
- }
- else
- {
- Plr->BroadcastMessage("You dont have enough InsaneWoW Voting Tokens");
- Plr->Gossip_Complete();
- }
- }break;
- case 33:{//ringmail
- if (Plr->GetItemInterface()->GetItemCount(VOTE_TOKEN_ID) >= VOTE_TOKEN_AMOUNT)
- {
- Item* item;
- Item* item2;
- Item* item3;
- Item* item4;
- Item* item5;
- item = objmgr.CreateItem(51502, Plr);
- item2= objmgr.CreateItem(51500, Plr);
- item3= objmgr.CreateItem(51499, Plr);
- item4= objmgr.CreateItem(51498, Plr);
- item5= objmgr.CreateItem(51497, Plr);
- Plr->GetItemInterface()->AddItemToFreeSlot(item);
- Plr->GetItemInterface()->AddItemToFreeSlot(item2);
- Plr->GetItemInterface()->AddItemToFreeSlot(item3);
- Plr->GetItemInterface()->AddItemToFreeSlot(item4);
- Plr->GetItemInterface()->AddItemToFreeSlot(item5);
- Plr->GetItemInterface()->RemoveItemAmt(VOTE_TOKEN_ID, VOTE_TOKEN_AMOUNT);
- Plr->Gossip_Complete();
- }
- else
- {
- Plr->BroadcastMessage("You dont have enough InsaneWoW Voting Tokens");
- Plr->Gossip_Complete();
- }
- }break;
- case 34:{//leather
- if (Plr->GetItemInterface()->GetItemCount(VOTE_TOKEN_ID) >= VOTE_TOKEN_AMOUNT)
- {
- Item* item;
- Item* item2;
- Item* item3;
- Item* item4;
- Item* item5;
- item = objmgr.CreateItem(51496, Plr);
- item2= objmgr.CreateItem(51495, Plr);
- item3= objmgr.CreateItem(51494, Plr);
- item4= objmgr.CreateItem(51493, Plr);
- item5= objmgr.CreateItem(51492, Plr);
- Plr->GetItemInterface()->AddItemToFreeSlot(item);
- Plr->GetItemInterface()->AddItemToFreeSlot(item2);
- Plr->GetItemInterface()->AddItemToFreeSlot(item3);
- Plr->GetItemInterface()->AddItemToFreeSlot(item4);
- Plr->GetItemInterface()->AddItemToFreeSlot(item5);
- Plr->GetItemInterface()->RemoveItemAmt(VOTE_TOKEN_ID, VOTE_TOKEN_AMOUNT);
- Plr->Gossip_Complete();
- }
- else
- {
- Plr->BroadcastMessage("You dont have enough InsaneWoW Voting Tokens");
- Plr->Gossip_Complete();
- }
- }break;
- case 35:{//Satin
- if (Plr->GetItemInterface()->GetItemCount(VOTE_TOKEN_ID) >= VOTE_TOKEN_AMOUNT)
- {
- Item* item;
- Item* item2;
- Item* item3;
- Item* item4;
- Item* item5;
- item= objmgr.CreateItem(51491, Plr);
- item2= objmgr.CreateItem(51490, Plr);
- item3= objmgr.CreateItem(51489, Plr);
- item4= objmgr.CreateItem(51488, Plr);
- item5= objmgr.CreateItem(51487, Plr);
- Plr->GetItemInterface()->AddItemToFreeSlot(item);
- Plr->GetItemInterface()->AddItemToFreeSlot(item2);
- Plr->GetItemInterface()->AddItemToFreeSlot(item3);
- Plr->GetItemInterface()->AddItemToFreeSlot(item4);
- Plr->GetItemInterface()->AddItemToFreeSlot(item5);
- Plr->GetItemInterface()->RemoveItemAmt(VOTE_TOKEN_ID, VOTE_TOKEN_AMOUNT);
- Plr->Gossip_Complete();
- }
- else
- {
- Plr->BroadcastMessage("You dont have enough InsaneWoW Voting Tokens");
- Plr->Gossip_Complete();
- }
- }break;
- case 36:{//mooncloth
- if (Plr->GetItemInterface()->GetItemCount(VOTE_TOKEN_ID) >= VOTE_TOKEN_AMOUNT)
- {
- Item* item;
- Item* item2;
- Item* item3;
- Item* item4;
- Item* item5;
- item = objmgr.CreateItem(51486, Plr);
- item2= objmgr.CreateItem(51485, Plr);
- item3= objmgr.CreateItem(51484, Plr);
- item4= objmgr.CreateItem(51483, Plr);
- item5= objmgr.CreateItem(51482, Plr);
- Plr->GetItemInterface()->AddItemToFreeSlot(item);
- Plr->GetItemInterface()->AddItemToFreeSlot(item2);
- Plr->GetItemInterface()->AddItemToFreeSlot(item3);
- Plr->GetItemInterface()->AddItemToFreeSlot(item4);
- Plr->GetItemInterface()->AddItemToFreeSlot(item5);
- Plr->GetItemInterface()->RemoveItemAmt(VOTE_TOKEN_ID, VOTE_TOKEN_AMOUNT);
- Plr->Gossip_Complete();
- }
- else
- {
- Plr->BroadcastMessage("You dont have enough InsaneWoW Voting Tokens");
- Plr->Gossip_Complete();
- }
- }break;
- case 37:{ //Scaled
- if (Plr->GetItemInterface()->GetItemCount(VOTE_TOKEN_ID) >= VOTE_TOKEN_AMOUNT)
- {
- Item* item;
- Item* item2;
- Item* item3;
- Item* item4;
- Item* item5;
- item = objmgr.CreateItem(51477, Plr);
- item2 = objmgr.CreateItem(51479, Plr);
- item3 = objmgr.CreateItem(51476, Plr);
- item4 = objmgr.CreateItem(51475, Plr);
- item5 = objmgr.CreateItem(51474, Plr);
- Plr->GetItemInterface()->AddItemToFreeSlot(item);
- Plr->GetItemInterface()->AddItemToFreeSlot(item2);
- Plr->GetItemInterface()->AddItemToFreeSlot(item3);
- Plr->GetItemInterface()->AddItemToFreeSlot(item4);
- Plr->GetItemInterface()->AddItemToFreeSlot(item5);
- Plr->GetItemInterface()->RemoveItemAmt(VOTE_TOKEN_ID, VOTE_TOKEN_AMOUNT);
- Plr->Gossip_Complete();
- }
- else
- {
- Plr->BroadcastMessage("You dont have enough InsaneWoW Voting Tokens");
- Plr->Gossip_Complete();
- }
- }break;
- case 38:{ //ornamanted
- if (Plr->GetItemInterface()->GetItemCount(VOTE_TOKEN_ID) >= VOTE_TOKEN_AMOUNT)
- {
- Item* item;
- Item* item2;
- Item* item3;
- Item* item4;
- Item* item5;
- item = objmgr.CreateItem(51473, Plr);
- item2 = objmgr.CreateItem(51471, Plr);
- item3 = objmgr.CreateItem(51470, Plr);
- item4 = objmgr.CreateItem(51469, Plr);
- item5 = objmgr.CreateItem(51468, Plr);
- Plr->GetItemInterface()->AddItemToFreeSlot(item);
- Plr->GetItemInterface()->AddItemToFreeSlot(item2);
- Plr->GetItemInterface()->AddItemToFreeSlot(item3);
- Plr->GetItemInterface()->AddItemToFreeSlot(item4);
- Plr->GetItemInterface()->AddItemToFreeSlot(item5);
- Plr->GetItemInterface()->RemoveItemAmt(VOTE_TOKEN_ID, VOTE_TOKEN_AMOUNT);
- Plr->Gossip_Complete();
- }
- else
- {
- Plr->BroadcastMessage("You dont have enough InsaneWoW Voting Tokens");
- Plr->Gossip_Complete();
- }
- }break;
- case 39:{//silk
- if (Plr->GetItemInterface()->GetItemCount(VOTE_TOKEN_ID) >= VOTE_TOKEN_AMOUNT)
- {
- Item* item;
- Item* item2;
- Item* item3;
- Item* item4;
- Item* item5;
- item = objmgr.CreateItem(51467, Plr);
- item2 = objmgr.CreateItem(51466, Plr);
- item3 = objmgr.CreateItem(51465, Plr);
- item4 = objmgr.CreateItem(51464, Plr);
- item5 = objmgr.CreateItem(51463, Plr);
- Plr->GetItemInterface()->AddItemToFreeSlot(item);
- Plr->GetItemInterface()->AddItemToFreeSlot(item2);
- Plr->GetItemInterface()->AddItemToFreeSlot(item3);
- Plr->GetItemInterface()->AddItemToFreeSlot(item4);
- Plr->GetItemInterface()->AddItemToFreeSlot(item5);
- Plr->GetItemInterface()->RemoveItemAmt(VOTE_TOKEN_ID, VOTE_TOKEN_AMOUNT);
- Plr->Gossip_Complete();
- }
- else
- {
- Plr->BroadcastMessage("You dont have enough InsaneWoW Voting Tokens");
- Plr->Gossip_Complete();
- }
- }break;
- case 40:{//Chain
- if (Plr->GetItemInterface()->GetItemCount(VOTE_TOKEN_ID) >= VOTE_TOKEN_AMOUNT)
- {
- Item* item;
- Item* item2;
- Item* item3;
- Item* item4;
- Item* item5;
- item= objmgr.CreateItem(51462, Plr);
- item2= objmgr.CreateItem(51461, Plr);
- item3= objmgr.CreateItem(51460, Plr);
- item4= objmgr.CreateItem(51459, Plr);
- item5= objmgr.CreateItem(51458, Plr);
- Plr->GetItemInterface()->AddItemToFreeSlot(item);
- Plr->GetItemInterface()->AddItemToFreeSlot(item2);
- Plr->GetItemInterface()->AddItemToFreeSlot(item3);
- Plr->GetItemInterface()->AddItemToFreeSlot(item4);
- Plr->GetItemInterface()->AddItemToFreeSlot(item5);
- Plr->GetItemInterface()->RemoveItemAmt(VOTE_TOKEN_ID, VOTE_TOKEN_AMOUNT);
- Plr->Gossip_Complete();
- }
- else
- {
- Plr->BroadcastMessage("You dont have enough InsaneWoW Voting Tokens");
- Plr->Gossip_Complete();
- }
- }break;
- case 41:{//Wyrmhide
- if (Plr->GetItemInterface()->GetItemCount(VOTE_TOKEN_ID) >= VOTE_TOKEN_AMOUNT)
- {
- Item* item;
- Item* item2;
- Item* item3;
- Item* item4;
- Item* item5;
- item = objmgr.CreateItem(51438, Plr);
- item2= objmgr.CreateItem(51436, Plr);
- item3= objmgr.CreateItem(51435, Plr);
- item4= objmgr.CreateItem(51434, Plr);
- item5= objmgr.CreateItem(51433, Plr);
- Plr->GetItemInterface()->AddItemToFreeSlot(item);
- Plr->GetItemInterface()->AddItemToFreeSlot(item2);
- Plr->GetItemInterface()->AddItemToFreeSlot(item3);
- Plr->GetItemInterface()->AddItemToFreeSlot(item4);
- Plr->GetItemInterface()->AddItemToFreeSlot(item5);
- Plr->GetItemInterface()->RemoveItemAmt(VOTE_TOKEN_ID, VOTE_TOKEN_AMOUNT);
- Plr->Gossip_Complete();
- }
- else
- {
- Plr->BroadcastMessage("You dont have enough InsaneWoW Voting Tokens");
- Plr->Gossip_Complete();
- }
- }break;
- case 42:{// Dragonhide
- if (Plr->GetItemInterface()->GetItemCount(VOTE_TOKEN_ID) >= VOTE_TOKEN_AMOUNT)
- {
- Item* item;
- Item* item2;
- Item* item3;
- Item* item4;
- Item* item5;
- item = objmgr.CreateItem(51430, Plr);
- item2= objmgr.CreateItem(51428, Plr);
- item3= objmgr.CreateItem(51427, Plr);
- item4= objmgr.CreateItem(51426, Plr);
- item5= objmgr.CreateItem(51425, Plr);
- Plr->GetItemInterface()->AddItemToFreeSlot(item);
- Plr->GetItemInterface()->AddItemToFreeSlot(item2);
- Plr->GetItemInterface()->AddItemToFreeSlot(item3);
- Plr->GetItemInterface()->AddItemToFreeSlot(item4);
- Plr->GetItemInterface()->AddItemToFreeSlot(item5);
- Plr->GetItemInterface()->RemoveItemAmt(VOTE_TOKEN_ID, VOTE_TOKEN_AMOUNT);
- Plr->Gossip_Complete();
- }
- else
- {
- Plr->BroadcastMessage("You dont have enough InsaneWoW Voting Tokens");
- Plr->Gossip_Complete();
- }
- }break;
- case 43:{//Kodohide
- if (Plr->GetItemInterface()->GetItemCount(VOTE_TOKEN_ID) >= VOTE_TOKEN_AMOUNT)
- {
- Item* item;
- Item* item2;
- Item* item3;
- Item* item4;
- Item* item5;
- item = objmgr.CreateItem(51424, Plr);
- item2= objmgr.CreateItem(51422, Plr);
- item3= objmgr.CreateItem(51421, Plr);
- item4= objmgr.CreateItem(51420, Plr);
- item5= objmgr.CreateItem(51419, Plr);
- Plr->GetItemInterface()->AddItemToFreeSlot(item);
- Plr->GetItemInterface()->AddItemToFreeSlot(item2);
- Plr->GetItemInterface()->AddItemToFreeSlot(item3);
- Plr->GetItemInterface()->AddItemToFreeSlot(item4);
- Plr->GetItemInterface()->AddItemToFreeSlot(item5);
- Plr->GetItemInterface()->RemoveItemAmt(VOTE_TOKEN_ID, VOTE_TOKEN_AMOUNT);
- Plr->Gossip_Complete();
- }
- else
- {
- Plr->BroadcastMessage("You dont have enough InsaneWoW Voting Tokens");
- Plr->Gossip_Complete();
- }
- }break;
- case 44:{//Dread
- if (Plr->GetItemInterface()->GetItemCount(VOTE_TOKEN_ID) >= VOTE_TOKEN_AMOUNT)
- {
- Item* item;
- Item* item2;
- Item* item3;
- Item* item4;
- Item* item5;
- item = objmgr.CreateItem(51418, Plr);
- item2= objmgr.CreateItem(51416, Plr);
- item3= objmgr.CreateItem(51415, Plr);
- item4= objmgr.CreateItem(51414, Plr);
- item5= objmgr.CreateItem(51413, Plr);
- Plr->GetItemInterface()->AddItemToFreeSlot(item);
- Plr->GetItemInterface()->AddItemToFreeSlot(item2);
- Plr->GetItemInterface()->AddItemToFreeSlot(item3);
- Plr->GetItemInterface()->AddItemToFreeSlot(item4);
- Plr->GetItemInterface()->AddItemToFreeSlot(item5);
- Plr->GetItemInterface()->RemoveItemAmt(VOTE_TOKEN_ID, VOTE_TOKEN_AMOUNT);
- Plr->Gossip_Complete();
- }
- else
- {
- Plr->BroadcastMessage("You dont have enough InsaneWoW Voting Tokens");
- Plr->Gossip_Complete();
- }
- }break;
- case 500:
- {Plr->Gossip_Complete();}
- break;
- }
- };
- void Season8NPC::GossipEnd(Object * pObject, Player* Plr)
- {
- GossipScript::GossipEnd(pObject, Plr);
- }
- void SetupSeason8NPC(ScriptMgr * mgr)
- {
- GossipScript * SEASON8 = (GossipScript*) new Season8NPC();
- mgr->register_gossip_script(SEASON8_NPC_ID, SEASON8);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement