rendered paste body/* 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);
}