/* CREATED BY GASTRICPENGUIN. Yes, i finally did upload this to pastebin now. */ #include "StdAfx.h" #include "Setup.h" class SCRIPT_DECL TeleportNPC : public GossipScript { public: ADD_GOSSIP_FACTORY_FUNCTION(TeleportNPC); void GossipHello(Creature * pCreature, Player * Plr, bool AutoSend) { GossipMenu *Menu; objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 1, Plr); Menu->AddItem(5, "Set Bindpoint Here", 98); Menu->AddItem(0, "Secret Islands", 1); if(AutoSend) Menu->SendTo(Plr); } void GossipSelectOption(Creature* pCreature, Player* Plr, uint32 Id, uint32 IntId) { GossipMenu * Menu; switch(IntId) { case 0: // Return to start GossipHello(pCreature, Plr, true); break; case 98: // BINDER Plr->GetSession()->SendInnkeeperBind(pCreature); break; case 1: // Secret Islands if(Plr->getLevel() < 1) { pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Ye need more experience!" ); Plr->Gossip_Complete(); }else{ objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 1, Plr); Menu->AddItem(5, "Shopping Center", 2); Menu->AddItem(5, "Weapons Rig", 3); Menu->AddItem(5, "Town", 4); Menu->AddItem(0, "[Back]", 99); Menu->SendTo(Plr); } break; //////////////// // Town Menu //////// case 2: //Point 1 { Plr->EventTeleport(1, -11316, -4714, 13); }break; case 3: //Point 2 Rig { Plr->EventTeleport(1, -11670, -4732, 26); }break; case 4: //Point 3 { Plr->EventTeleport(1, -11877, -4628, 8); }break; case 99: //main menu { objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 1, Plr); Menu->AddItem(5, "Set Bindpoint Here", 98); Menu->AddItem(0, "Secret Islands", 1); Menu->SendTo(Plr); } } } }; void SetupCustom_Teleporters(ScriptMgr * mgr) { /* Teleporter List */ mgr->register_gossip_script(30002, &TeleportNPC::Create); }