Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "ScriptPCH.h"
- class StartNPC : public CreatureScript {
- public:
- StartNPC() : CreatureScript("Start_NPC"){}
- bool OnGossipHello(Player* plr, Creature* npc){
- if (plr->GetSession()->GetSecurity() >= 1){
- plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_UNK_14, "GM Outfit", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 31);
- plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_TAXI, "Teleport to GM Island", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 33);
- }
- switch (plr->getClass()){
- case CLASS_DEATH_KNIGHT:{
- plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Unholy", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
- plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Frost", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
- plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Blood", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3);
- plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT_11, "Nevermind...", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 32);
- plr->PlayerTalkClass->SendGossipMenu(1, npc->GetGUID());
- break;
- }
- case CLASS_DRUID:{
- plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Balance", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4);
- plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Restoration", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5);
- plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Feral", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 6);
- plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT_11, "Nevermind...", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 32);
- plr->PlayerTalkClass->SendGossipMenu(1, npc->GetGUID());
- break;
- }
- case CLASS_HUNTER:{
- plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Beast Mastery", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 7);
- plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Marksman", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 8);
- plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Survival", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 9);
- plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT_11, "Nevermind...", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 32);
- plr->PlayerTalkClass->SendGossipMenu(1, npc->GetGUID());
- break;
- }
- case CLASS_MAGE:{
- plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Arcane", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 10);
- plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Fire", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 11);
- plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Frost", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 12);
- plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT_11, "Nevermind...", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 32);
- plr->PlayerTalkClass->SendGossipMenu(1, npc->GetGUID());
- break;
- }
- case CLASS_PALADIN:{
- plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Retribution", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 13);
- plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Protection", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 14);
- plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Holy", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 15);
- plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT_11, "Nevermind...", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 32);
- plr->PlayerTalkClass->SendGossipMenu(1, npc->GetGUID());
- break;
- }
- case CLASS_PRIEST: {
- plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Discipline", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 16);
- plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Holy", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 17);
- plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Shadow", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 18);
- plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT_11, "Nevermind...", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 32);
- plr->PlayerTalkClass->SendGossipMenu(1, npc->GetGUID());
- break;
- }
- case CLASS_ROGUE:{
- plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Assassination", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 19);
- plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Combat", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 20);
- plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Subtlety", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 21);
- plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT_11, "Nevermind...", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 32);
- plr->PlayerTalkClass->SendGossipMenu(1, npc->GetGUID());
- break;
- }
- case CLASS_SHAMAN:{
- plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Elemental", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 22);
- plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Enchancement", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 23);
- plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Restoration", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 24);
- plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT_11, "Nevermind...", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 32);
- plr->PlayerTalkClass->SendGossipMenu(1, npc->GetGUID());
- break;
- }
- case CLASS_WARLOCK:{
- plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Affliction", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 25);
- plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Demonology", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 26);
- plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Destruction", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 27);
- plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT_11, "Nevermind...", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 32);
- plr->PlayerTalkClass->SendGossipMenu(1, npc->GetGUID());
- break;
- }
- case CLASS_WARRIOR:{
- plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Arms", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 28);
- plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Protection", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 29);
- plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Fury", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 30);
- plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT_11, "Nevermind...", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 32);
- plr->PlayerTalkClass->SendGossipMenu(1, npc->GetGUID());
- break;
- }
- }
- return true;
- }
- bool OnGossipSelect(Player* plr, Creature* npc, uint32 /*sender*/, uint32 uiAction){
- plr->PlayerTalkClass->ClearMenus();
- if (!plr){
- return false;
- }
- // 29 itema za vseki case + talanti
- switch (uiAction){
- case GOSSIP_ACTION_INFO_DEF + 1: // unholy dk
- //plr->AddItem(11111, 1); 11111 - item
- plr->GetSession()->SendAreaTriggerMessage("UH DK in Developement!!!");
- plr->PlayerTalkClass->SendCloseGossip();
- break;
- case GOSSIP_ACTION_INFO_DEF + 2: // frost dk
- plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
- plr->PlayerTalkClass->SendCloseGossip();
- break;
- case GOSSIP_ACTION_INFO_DEF + 3: // blood dk
- plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
- plr->PlayerTalkClass->SendCloseGossip();
- break;
- case GOSSIP_ACTION_INFO_DEF + 4: // balance druid
- plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
- plr->PlayerTalkClass->SendCloseGossip();
- break;
- case GOSSIP_ACTION_INFO_DEF + 5: // restoration druid
- plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
- plr->PlayerTalkClass->SendCloseGossip();
- break;
- case GOSSIP_ACTION_INFO_DEF + 6: // feral druid
- plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
- plr->PlayerTalkClass->SendCloseGossip();
- break;
- case GOSSIP_ACTION_INFO_DEF + 7: // BM hunter
- plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
- plr->PlayerTalkClass->SendCloseGossip();
- break;
- case GOSSIP_ACTION_INFO_DEF + 8: // MM hunter
- plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
- plr->PlayerTalkClass->SendCloseGossip();
- break;
- case GOSSIP_ACTION_INFO_DEF + 9: // Survaival hunter
- plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
- plr->PlayerTalkClass->SendCloseGossip();
- break;
- case GOSSIP_ACTION_INFO_DEF + 10: // Arcane mage
- plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
- plr->PlayerTalkClass->SendCloseGossip();
- break;
- case GOSSIP_ACTION_INFO_DEF + 11: // fire mage
- plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
- plr->PlayerTalkClass->SendCloseGossip();
- break;
- case GOSSIP_ACTION_INFO_DEF + 12: // frost mage
- plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
- plr->PlayerTalkClass->SendCloseGossip();
- break;
- case GOSSIP_ACTION_INFO_DEF + 13: // retribution paladin
- plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
- plr->PlayerTalkClass->SendCloseGossip();
- break;
- case GOSSIP_ACTION_INFO_DEF + 14: // protection paladin
- plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
- plr->PlayerTalkClass->SendCloseGossip();
- break;
- case GOSSIP_ACTION_INFO_DEF + 15: // holy paladin
- plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
- plr->PlayerTalkClass->SendCloseGossip();
- break;
- case GOSSIP_ACTION_INFO_DEF + 16: // disc priest
- plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
- plr->PlayerTalkClass->SendCloseGossip();
- break;
- case GOSSIP_ACTION_INFO_DEF + 17: // holy priest
- plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
- plr->PlayerTalkClass->SendCloseGossip();
- break;
- case GOSSIP_ACTION_INFO_DEF + 18: // shadow priest
- plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
- plr->PlayerTalkClass->SendCloseGossip();
- break;
- case GOSSIP_ACTION_INFO_DEF + 19: // assasination rogue
- plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
- plr->PlayerTalkClass->SendCloseGossip();
- break;
- case GOSSIP_ACTION_INFO_DEF + 20: // combat rogue
- plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
- plr->PlayerTalkClass->SendCloseGossip();
- break;
- case GOSSIP_ACTION_INFO_DEF + 21: // subtlety rogue
- plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
- plr->PlayerTalkClass->SendCloseGossip();
- break;
- case GOSSIP_ACTION_INFO_DEF + 22: // elemental shaman
- plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
- plr->PlayerTalkClass->SendCloseGossip();
- break;
- case GOSSIP_ACTION_INFO_DEF + 23: // enchancement shaman
- plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
- plr->PlayerTalkClass->SendCloseGossip();
- break;
- case GOSSIP_ACTION_INFO_DEF + 24: // restoration shaman
- plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
- plr->PlayerTalkClass->SendCloseGossip();
- break;
- case GOSSIP_ACTION_INFO_DEF + 25: // affliction warlock
- plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
- plr->PlayerTalkClass->SendCloseGossip();
- break;
- case GOSSIP_ACTION_INFO_DEF + 26: // demonology warlock
- plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
- plr->PlayerTalkClass->SendCloseGossip();
- break;
- case GOSSIP_ACTION_INFO_DEF + 27: // destruction warlock
- plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
- plr->PlayerTalkClass->SendCloseGossip();
- break;
- case GOSSIP_ACTION_INFO_DEF + 28: // arms warrior
- plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
- plr->PlayerTalkClass->SendCloseGossip();
- break;
- case GOSSIP_ACTION_INFO_DEF + 29: // protection warriror
- plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
- plr->PlayerTalkClass->SendCloseGossip();
- break;
- case GOSSIP_ACTION_INFO_DEF + 30: // fury warrior
- plr->GetSession()->SendAreaTriggerMessage("In Developement!!!");
- plr->PlayerTalkClass->SendCloseGossip();
- break;
- case GOSSIP_ACTION_INFO_DEF + 31: // gm outfit
- plr->AddItem(2586, 1);
- plr->AddItem(11508, 1);
- plr->AddItem(12064, 1);
- plr->PlayerTalkClass->SendCloseGossip();
- break;
- case GOSSIP_ACTION_INFO_DEF + 32: // close menu
- plr->GetSession()->SendAreaTriggerMessage("Cya soon");
- plr->PlayerTalkClass->SendCloseGossip();
- break;
- case GOSSIP_ACTION_INFO_DEF + 33: // teleport to gm island
- plr->PlayerTalkClass->SendCloseGossip();
- plr->TeleportTo(1, 16247, 16305, 44, 0);
- break;
- }
- return true;
- }
- };
- // script name - Start_NPC
- void AddSC_StartNPC(){
- new StartNPC();
- }
Add Comment
Please, Sign In to add comment