Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "Bag.h"
- #include "Common.h"
- #include "Config.h"
- #include "Creature.h"
- #include "DatabaseEnv.h"
- #include "DBCStructure.h"
- #include "Define.h"
- #include "Field.h"
- #include "GameEventMgr.h"
- #include "GossipDef.h"
- #include "Item.h"
- #include "ItemTemplate.h"
- #include "Language.h"
- #include "Log.h"
- #include "Player.h"
- #include "ObjectGuid.h"
- #include "ObjectMgr.h"
- #include "QueryResult.h"
- #include "ScriptedCreature.h"
- #include "ScriptedGossip.h"
- #include "ScriptMgr.h"
- #include "SharedDefines.h"
- #include "Transaction.h"
- #include "WorldSession.h"
- #include "Define.h"
- #include "GossipDef.h"
- #include "Item.h"
- #include "Player.h"
- #include "ScriptedGossip.h"
- #include "ScriptMgr.h"
- #include "Spell.h"
- #include "ScriptMgr.h"
- #include "ScriptedCreature.h"
- #include "GameEventMgr.h"
- #include "Player.h"
- #include "WorldSession.h"
- #include <sstream>
- #include <string>
- //====== Defined Locations =======
- // Mall Currently: River's Heart
- #define MallX 5505.55f
- #define MallY 4748.57f
- #define MallZ -194.433f
- #define MallO 2.5689f
- #define MallM 571
- // PvP Currently: Dire Maul
- #define PvPX -3761.47f
- #define PvPY 1137.59f
- #define PvPZ 131.099f
- #define PvPO 4.7281f
- #define PvPM 1
- class Teleporter : public CreatureScript
- {
- public:
- Teleporter() : CreatureScript("Teleporter")
- {
- }
- bool OnGossipHello(Player* player, Creature* creature)
- {
- //AddGossipItemFor(Player* player, uint32 icon, std::string const& text, uint32 sender, uint32 action);
- if (player->IsInCombat())
- {
- creature->Whisper("You're in combat.", LANG_UNIVERSAL, player);
- return true;
- }
- AddGossipItemFor(player, 1, "|TInterface/ICONS/achievement_zone_westfall_01:35:35:-23:0|t Moonbrook", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
- AddGossipItemFor(player, 1, "|TInterface/ICONS/achievement_zone_sholazar_01:35:35:-23:0|t [Mall] River's Heart", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3);
- AddGossipItemFor(player, 1, "|TInterface/ICONS/achievement_arena_2v2_7:35:35:-23:0|t [PvP] Dire Maul Arena", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4);
- AddGossipItemFor(player, 1, "Nevermind ..", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
- player->PlayerTalkClass->SendGossipMenu(1, creature->GetGUID());
- return true;
- }
- bool OnGossipSelect(Player * player, Creature * creature, uint32 Sender, uint32 action)
- {
- player->PlayerTalkClass->ClearMenus();
- if (player->IsInCombat())
- {
- creature->Whisper("You're in combat.", LANG_UNIVERSAL, player);
- return true;
- }
- if(Sender == GOSSIP_SENDER_MAIN)
- switch (action)
- {
- case GOSSIP_ACTION_INFO_DEF +1:
- break;
- case GOSSIP_ACTION_INFO_DEF + 2:
- player->TeleportTo(0, -10936.608398f, 1424.476196f, 42.965355f, 2.962100f);
- creature->Whisper("You've been teleported to Moonbrook.", LANG_UNIVERSAL, player);
- break;
- case GOSSIP_ACTION_INFO_DEF + 3:
- player->TeleportTo(MallM, MallX, MallY, MallZ, MallO);
- creature->Whisper("You've been teleported to the Mall.", LANG_UNIVERSAL, player);
- break;
- case GOSSIP_ACTION_INFO_DEF + 4:
- player->TeleportTo(PvPM, PvPX, PvPY, PvPZ, PvPO);
- creature->Whisper("You've been teleported to the PvP Arena.", LANG_UNIVERSAL, player);
- break;
- }
- player->PlayerTalkClass->SendCloseGossip();
- return true;
- }
- };
- void AddSC_Teleporter()
- {
- new Teleporter();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement