HI guys this was an old script we used for an old private server i was gm on hope u like it
--- src/bindings/ScriptDev2/ScriptMgr.cpp 2007-05-23 12:28:26.000000000 +0000
+++ src/bindings/ScriptDev2/ScriptMgr.cpp 2007-05-23 12:57:04.444259000 +0000
@@ -79,6 +79,8 @@
extern void AddSC_item_test();
// -- NPC --
+extern void AddSC_teleport_npc_1();
+extern void AddSC_teleport_npc_2();
// -- Servers --
extern void AddSC_battlemaster();
@@ -393,6 +394,8 @@
AddSC_item_test();
// -- NPC --
+ AddSC_teleport_npc_1();
+ AddSC_teleport_npc_2();
// -- Servers --
AddSC_battlemaster();
--- src/bindings/ScriptDev2/Makefile.am 2007-05-23 13:04:10.000000000 +0000
+++ src/bindings/ScriptDev2/Makefile.am 2007-05-23 13:05:25.034259000 +0000
@@ -40,6 +40,8 @@
scripts/creature/sc_miner.cpp \
scripts/creature/sc_shade_of_taerar.cpp \
scripts/custom/sc_custom_example.cpp \
+scripts/custom/sc_teleport_npc_1.cpp \
+scripts/custom/sc_teleport_npc_2.cpp \
scripts/custom/sc_test.cpp \
scripts/go/sc_go_teleporter.cpp \
scripts/guard/sc_guard_ai.h \
--- src/bindings/ScriptDev2/scripts/custom/sc_teleport_npc_2.cpp 2007-05-23 14:14:28.904259000 +0000
+++ src/bindings/ScriptDev2/scripts/custom/sc_teleport_npc_2.cpp 2007-05-23 14:14:25.314259000 +0000
@@ -0,0 +1,381 @@
+#include "../sc_defines.h"
+bool GossipHello_teleport_npc_2(Player *player, Creature *_Creature)
+
+{
+player->ADD_GOSSIP_ITEM( 7, "Tirisfal Prime (25g,lvl 1-84)", GOSSIP_SENDER_MAIN, 1201);
+player->ADD_GOSSIP_ITEM( 7, "Shattrath (5 g,lvl 1-84)", GOSSIP_SENDER_MAIN, 1202);
+player->ADD_GOSSIP_ITEM( 7, "Darnassus (50 s,lvl 1-84)", GOSSIP_SENDER_MAIN, 1203);
+player->ADD_GOSSIP_ITEM( 7, "Exodar (50 s,lvl 1-84)", GOSSIP_SENDER_MAIN, 1204);
+player->ADD_GOSSIP_ITEM( 7, "Ironforge (50 s,lvl 1-84)", GOSSIP_SENDER_MAIN, 1205);
+player->ADD_GOSSIP_ITEM( 7, "Stormwind (50 s,lvl 1-84)", GOSSIP_SENDER_MAIN, 1206);
+player->ADD_GOSSIP_ITEM( 7, "Orgrimmar (50 s,lvl 1-84)", GOSSIP_SENDER_MAIN, 1207);
+player->ADD_GOSSIP_ITEM( 7, "Silvermoon (50 s,lvl 1-84)", GOSSIP_SENDER_MAIN, 120;
+player->ADD_GOSSIP_ITEM( 7, "Thunder Bluff (50 s,lvl 1-84)", GOSSIP_SENDER_MAIN, 1209);
+player->ADD_GOSSIP_ITEM( 7, "Undercity (50 s,lvl 1-84)", GOSSIP_SENDER_MAIN, 1210);
+player->ADD_GOSSIP_ITEM( 7, "Gurubashi Arena (free)", GOSSIP_SENDER_MAIN, 1211);
+
+player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetGUID());
+
+return true;
+
+}
+
+void SendDefaultMenu_teleport_npc_2(Player *player, Creature *_Creature, uint32 action)
+{
+
+// Teleport to Tirisfal Prime
+if (action == 1201)
+{
+ if ((player->getLevel() >= 60) && (player->getLevel() <= 84))
+ {
+ if (player->GetMoney() >= 250000)
+ {
+ player->Say("Off I go to Tirisfal Prime!",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ player->ModifyMoney(-250000);
+ player->TeleportTo(0, 2500.0f, 2131.0f, 33.0f, 0.0f);
+ }
+ else
+ {
+ player->Say("I must have at least 25 gold to enter Tirisfal Prime.",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+ }
+ else
+ {
+ player->Say("I must be between level 60 and 84 to enter Tirisfal Prime.",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+}
+
+// Teleport to Shattrath
+if (action == 1202)
+{
+ if ((player->getLevel() >= 5 && (player->getLevel() <= 84))
+ {
+ if (player->GetMoney() >= 50000)
+ {
+ player->Say("Off I go to Shattrath city!",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ player->ModifyMoney(-50000);
+ player->TeleportTo(530, -1846.85f, 5396.64f, -12.4282f, 0.0f);
+ }
+ else
+ {
+ player->Say("I must have at least 5 gold to enter Shattrath.",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+ }
+ else
+ {
+ player->Say("I must be between level 58 and 84 to enter Shattrath.",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+}
+
+// Teleport to Darnassus
+if (action == 1203)
+{
+ if (player->GetTeam() == ALLIANCE)
+ {
+ if (player->getLevel() <= 84)
+ {
+ if (player->GetMoney() >= 5000)
+ {
+ player->Say("Off I go to Darnassus.",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ player->ModifyMoney(-5000);
+ player->TeleportTo(1, 9947.52f, 2482.73f, 1316.21f, 0.0f);
+ }
+ else
+ {
+ player->Say("I need 50 silver to teleport there.",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+ }
+ else
+ {
+ player->Say("I must be level 84 or lower to teleport there.",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+ }
+ else
+ {
+ player->Say("I can't enter alliance areas...",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+
+}
+
+// Teleport to Exodar
+if (action == 1204)
+{
+ if (player->GetTeam() == ALLIANCE)
+ {
+ if (player->getLevel() <= 84)
+ {
+ if (player->GetMoney() >= 5000)
+ {
+ player->Say("Off I go to the Exodar.",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ player->ModifyMoney(-5000);
+ player->TeleportTo(530, -4073.03f, -12020.4f, -1.47f, 0.0f);
+ }
+ else
+ {
+ player->Say("I need 50 silver to teleport there.",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+ }
+ else
+ {
+ player->Say("I must be level 84 or lower to teleport there.",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+ }
+ else
+ {
+ player->Say("I can't enter alliance areas...",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+}
+
+// Teleport to Ironforge
+if (action == 1205)
+{
+ if (player->GetTeam() == ALLIANCE)
+ {
+ if (player->getLevel() <= 84)
+ {
+ if (player->GetMoney() >= 5000)
+ {
+ player->Say("Off I go to Ironforge.",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ player->ModifyMoney(-5000);
+ player->TeleportTo(0, -5032.0f, -819.0f, 495.0f, 0.0f);
+ }
+ else
+ {
+ player->Say("I need 50 silver to teleport there.",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+ }
+ else
+ {
+ player->Say("I must be level 84 or lower to teleport there.",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+ }
+ else
+ {
+ player->Say("I can't enter alliance areas...",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+}
+
+// Teleport to Stormwind
+if (action == 1206)
+{
+ if (player->GetTeam() == ALLIANCE)
+ {
+ if (player->getLevel() <= 84)
+ {
+ if (player->GetMoney() >= 5000)
+ {
+ player->Say("Off I go to Stormwind.",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ player->ModifyMoney(-5000);
+ player->TeleportTo(0, -8960.14f, 516.266f, 96.3568f, 0.0f);
+ }
+ else
+ {
+ player->Say("I need 50 silver to teleport there.",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+ }
+ else
+ {
+ player->Say("I must be level 84 or lower to teleport there.",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+ }
+ else
+ {
+ player->Say("I can't enter alliance areas...",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+}
+
+// Teleport to Orgrimmar
+if (action == 1207)
+{
+ if (player->GetTeam() == HORDE)
+ {
+ if (player->getLevel() <= 84)
+ {
+ if (player->GetMoney() >= 5000)
+ {
+ player->Say("Off I go to Orgrimmar.",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ player->ModifyMoney(-5000);
+ player->TeleportTo(1, 1552.5f, -4420.66f, 8.94802f, 0.0f);
+ }
+ else
+ {
+ player->Say("I need 50 silver to teleport there.",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+ }
+ }
+ else
+ {
+ player->Say("I must be level 84 or lower to teleport there.",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+ }
+ else
+ {
+ player->Say("I can't enter horde areas...",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+}
+
+// Teleport to Silvermoon
+if (action == 120
+{
+ if (player->GetTeam() == HORDE)
+ {
+ if (player->getLevel() <= 84)
+ {
+ if (player->GetMoney() >= 5000)
+ {
+ player->Say("Off I go to Silvermoon City.",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ player->ModifyMoney(-5000);
+ player->TeleportTo(530, 9338.74f, -7277.27f, 13.7895f, 0.0f);
+ }
+ else
+ {
+ player->Say("I need 50 silver to teleport there.",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+ }
+ else
+ {
+ player->Say("I must be level 84 or lower to teleport there.",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+ }
+ else
+ {
+ player->Say("I can't enter horde areas...",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+}
+
+// Teleport to Thunder Bluff
+if (action == 1209)
+{
+ if (player->GetTeam() == HORDE)
+ {
+ if (player->getLevel() <= 84)
+ {
+ if (player->GetMoney() >= 5000)
+ {
+ player->Say("Off I go to Thunder Bluff.",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ player->ModifyMoney(-5000);
+ player->TeleportTo(1, -1391.0f, 140.0f, 22.478f, 0.0f);
+ }
+ else
+ {
+ player->Say("I need 50 silver to teleport there.",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+ }
+ else
+ {
+ player->Say("I must be level 84 or lower to teleport there.",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+ }
+ else
+ {
+ player->Say("I can't enter horde areas...",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+}
+
+// Teleport to Undercity
+if (action == 1210)
+{
+ if (player->GetTeam() == HORDE)
+ {
+ if (player->getLevel() <= 84)
+ {
+ if (player->GetMoney() >= 5000)
+ {
+ player->Say("Off I go to Undercity.",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ player->ModifyMoney(-5000);
+ player->TeleportTo(0, 1819.71f, 238.79f, 60.5321f, 0.0f);
+ }
+ else
+ {
+ player->Say("I need 50 silver to teleport there.",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+ }
+ else
+ {
+ player->Say("I must be level 84 or lower to teleport there.",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+ }
+ else
+ {
+ player->Say("I can't enter horde areas...",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+}
+
+// Teleport to Gurubashi Arena
+if (action == 1211)
+{
+ player->CLOSE_GOSSIP_MENU();
+ player->Say("Off I go to the Gurubashi Arena!",LANG_UNIVERSAL);
+ player->TeleportTo(0, -13155.2314f, 340.1806f, 49.7404f, 4.15f);
+}
+
+}
+
+bool GossipSelect_teleport_npc_2(Player *player, Creature *_Creature, uint32 sender, uint32 action )
+
+{
+// Main menu
+if (sender == GOSSIP_SENDER_MAIN)
+SendDefaultMenu_teleport_npc_2(player, _Creature, action);
+
+return true;
+
+}
+
+void AddSC_teleport_npc_2()
+
+{
+
+Script *newscript;
+
+newscript = new Script;
+newscript->Name="teleport_npc_2";
+newscript->pGossipHello = &GossipHello_teleport_npc_2;
+newscript->pGossipSelect = &GossipSelect_teleport_npc_2;
+newscript->pItemHello = NULL;
+newscript->pGOHello = NULL;
+newscript->pAreaTrigger = NULL;
+newscript->pItemQuestAccept = NULL;
+newscript->pGOQuestAccept = NULL;
+newscript->pGOChooseReward = NULL;
+
+m_scripts[nrscripts++] = newscript;
+
+}
\ No newline at end of file
--- src/bindings/ScriptDev2/scripts/custom/sc_teleport_npc_1.cpp 2007-05-23 14:14:28.904259000 +0000
+++ src/bindings/ScriptDev2/scripts/custom/sc_teleport_npc_1.cpp 2007-05-23 14:14:25.314259000 +0000
@@ -0,0 +1,360 @@
+#include "../sc_defines.h"
+bool GossipHello_teleport_npc_1(Player *player, Creature *_Creature)
+
+{
+player->ADD_GOSSIP_ITEM( 7, "Alentus (20000 gold)", GOSSIP_SENDER_MAIN, 1212);
+player->ADD_GOSSIP_ITEM( 7, "Hyjal (2000 gold)", GOSSIP_SENDER_MAIN, 1200);
+player->ADD_GOSSIP_ITEM( 7, "Tirisfal Prime (250 gold)", GOSSIP_SENDER_MAIN, 1201);
+player->ADD_GOSSIP_ITEM( 7, "Shattrath (500 gold)", GOSSIP_SENDER_MAIN, 1202);
+player->ADD_GOSSIP_ITEM( 7, "Darnassus (5 gold)", GOSSIP_SENDER_MAIN, 1203);
+player->ADD_GOSSIP_ITEM( 7, "Exodar (5 gold)", GOSSIP_SENDER_MAIN, 1204);
+player->ADD_GOSSIP_ITEM( 7, "Ironforge (5 gold)", GOSSIP_SENDER_MAIN, 1205);
+player->ADD_GOSSIP_ITEM( 7, "Stormwind (5 gold)", GOSSIP_SENDER_MAIN, 1206);
+player->ADD_GOSSIP_ITEM( 7, "Orgrimmar (5 gold)", GOSSIP_SENDER_MAIN, 1207);
+player->ADD_GOSSIP_ITEM( 7, "Silvermoon (5 gold)", GOSSIP_SENDER_MAIN, 120;
+player->ADD_GOSSIP_ITEM( 7, "Thunder Bluff (5 gold)", GOSSIP_SENDER_MAIN, 1209);
+player->ADD_GOSSIP_ITEM( 7, "Undercity (5 gold)", GOSSIP_SENDER_MAIN, 1210);
+player->ADD_GOSSIP_ITEM( 7, "Gurubashi Arena (free)", GOSSIP_SENDER_MAIN, 1211);
+
+player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetGUID());
+
+return true;
+
+}
+
+void SendDefaultMenu_teleport_npc_1(Player *player, Creature *_Creature, uint32 action)
+{
+
+// Teleport to Alentus
+if (action == 1212)
+{
+ if (player->getLevel() >= 175)
+ {
+ if (player->GetMoney() >= 200000000)
+ {
+ player->Say("Off I go to Alentus!",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ player->ModifyMoney(-200000000);
+ player->TeleportTo(0, -4730.4931f, 579.1478f, 408.0016f, 1.9714f);
+ }
+ else
+ {
+ player->Say("I must have at least 20 000 gold to enter Alentus.",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+ }
+ else
+ {
+ player->Say("I must be at least level 175 to enter Alentus.",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+}
+
+// Teleport to Hyjal
+if (action == 1200)
+{
+ if (player->getLevel() >= 85)
+ {
+ if (player->GetMoney() >= 20000000)
+ {
+ player->Say("Off I go to Hyjal!",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ player->ModifyMoney(-20000000);
+ player->TeleportTo(1, 4609.85f, -3866.36f, 944.18f, 1.139f);
+ }
+ else
+ {
+ player->Say("I must have at least 2000 gold to enter Hyjal.",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+ }
+ else
+ {
+ player->Say("I must be at least level 85 to enter Hyjal.",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+}
+
+// Teleport to Tirisfal Prime
+if (action == 1201)
+{
+ if (player->getLevel() >= 60)
+ {
+ if (player->GetMoney() >= 2500000)
+ {
+ player->Say("Off I go to Tirisfal Prime!",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ player->ModifyMoney(-2500000);
+ player->TeleportTo(0, 2500.0f, 2131.0f, 33.0f, 0.0f);
+ }
+ else
+ {
+ player->Say("I must have at least 250 gold to enter Tirisfal Prime.",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+ }
+ else
+ {
+ player->Say("I must be at least level 60 to enter Tirisfal Prime.",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+}
+
+// Teleport to Shattrath
+if (action == 1202)
+{
+ if (player->getLevel() >= 5
+ {
+ if (player->GetMoney() >= 5000000)
+ {
+ player->Say("Off I go to Shattrath city!",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ player->ModifyMoney(-5000000);
+ player->TeleportTo(530, -1846.85f, 5396.64f, -12.4282f, 0.0f);
+ }
+ else
+ {
+ player->Say("I must have at least 500 gold to enter Shattrath.",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+ }
+ else
+ {
+ player->Say("I must be at least level 58 to enter Shattrath.",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+}
+
+// Teleport to Darnassus
+if (action == 1203)
+{
+ if (player->GetTeam() == ALLIANCE)
+ {
+ if (player->GetMoney() >= 50000)
+ {
+ player->CLOSE_GOSSIP_MENU();
+ player->ModifyMoney(-50000);
+ player->TeleportTo(1, 9947.52f, 2482.73f, 1316.21f, 0.0f);
+ }
+ else
+ {
+ player->Say("I need 5 gold to teleport there.",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+ }
+ else
+ {
+ player->Say("I cannot enter alliance areas...",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+}
+
+// Teleport to Exodar
+if (action == 1204)
+{
+ if (player->GetTeam() == ALLIANCE)
+ {
+ if (player->GetMoney() >= 50000)
+ {
+ player->CLOSE_GOSSIP_MENU();
+ player->ModifyMoney(-50000);
+ player->TeleportTo(530, -4073.03f, -12020.4f, -1.47f, 0.0f);
+ }
+ else
+ {
+ player->Say("I need 5 gold to teleport there.",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+ }
+ else
+ {
+ player->Say("I cannot enter alliance areas...",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+}
+
+// Teleport to Ironforge
+if (action == 1205)
+{
+ if (player->GetTeam() == ALLIANCE)
+ {
+ if (player->GetMoney() >= 50000)
+ {
+ player->CLOSE_GOSSIP_MENU();
+ player->ModifyMoney(-50000);
+ player->TeleportTo(0, -5032.0f, -819.0f, 495.0f, 0.0f);
+ }
+ else
+ {
+ player->Say("I need 5 gold to teleport there.",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+ }
+ else
+ {
+ player->Say("I cannot enter alliance areas...",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+}
+
+// Teleport to Stormwind
+if (action == 1206)
+{
+ if (player->GetTeam() == ALLIANCE)
+ {
+ if (player->GetMoney() >= 50000)
+ {
+ player->CLOSE_GOSSIP_MENU();
+ player->ModifyMoney(-50000);
+ player->TeleportTo(0, -8960.14f, 516.266f, 96.3568f, 0.0f);
+ }
+ else
+ {
+ player->Say("I need 5 gold to teleport there.",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+ }
+ else
+ {
+ player->Say("I cannot enter alliance areas...",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+}
+
+// Teleport to Orgrimmar
+if (action == 1207)
+{
+ if (player->GetTeam() == HORDE)
+ {
+ if (player->GetMoney() >= 50000)
+ {
+ player->CLOSE_GOSSIP_MENU();
+ player->ModifyMoney(-50000);
+ player->TeleportTo(1, 1552.5f, -4420.66f, 8.94802f, 0.0f);
+ }
+ else
+ {
+ player->Say("I need 5 gold to teleport there.",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+ }
+ else
+ {
+ player->Say("I cannot enter horde areas...",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+}
+
+// Teleport to Silvermoon
+if (action == 120
+{
+ if (player->GetTeam() == HORDE)
+ {
+ if (player->GetMoney() >= 50000)
+ {
+ player->CLOSE_GOSSIP_MENU();
+ player->ModifyMoney(-50000);
+ player->TeleportTo(530, 9338.74f, -7277.27f, 13.7895f, 0.0f);
+ }
+ else
+ {
+ player->Say("I need 5 gold to teleport there.",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+ }
+ else
+ {
+ player->Say("I cannot enter horde areas...",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+}
+
+// Teleport to Thunder Bluff
+if (action == 1209)
+{
+ if (player->GetTeam() == HORDE)
+ {
+ if (player->GetMoney() >= 50000)
+ {
+ player->CLOSE_GOSSIP_MENU();
+ player->ModifyMoney(-50000);
+ player->TeleportTo(1, -1391.0f, 140.0f, 22.478f, 0.0f);
+ }
+ else
+ {
+ player->Say("I need 5 gold to teleport there.",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+ }
+ else
+ {
+ player->Say("I cannot enter horde areas...",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+}
+
+// Teleport to Undercity
+if (action == 1210)
+{
+ if (player->GetTeam() == HORDE)
+ {
+ if (player->GetMoney() >= 50000)
+ {
+ player->CLOSE_GOSSIP_MENU();
+ player->ModifyMoney(-50000);
+ player->TeleportTo(0, 1819.71f, 238.79f, 60.5321f, 0.0f);
+ }
+ else
+ {
+ player->Say("I need 5 gold to teleport there.",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+ }
+ else
+ {
+ player->Say("I cannot enter horde areas...",LANG_UNIVERSAL);
+ player->CLOSE_GOSSIP_MENU();
+ }
+}
+
+// Teleport to Gurubashi Arena
+if (action == 1211)
+{
+ player->CLOSE_GOSSIP_MENU();
+ player->Say("Off I go to the Gurubashi Arena!",LANG_UNIVERSAL);
+ player->TeleportTo(0, -13155.2314f, 340.1806f, 49.7404f, 4.15f);
+}
+
+}
+
+bool GossipSelect_teleport_npc_1(Player *player, Creature *_Creature, uint32 sender, uint32 action )
+
+{
+// Main menu
+if (sender == GOSSIP_SENDER_MAIN)
+SendDefaultMenu_teleport_npc_1(player, _Creature, action);
+
+return true;
+
+}
+
+void AddSC_teleport_npc_1()
+
+{
+
+Script *newscript;
+
+newscript = new Script;
+newscript->Name="teleport_npc_1";
+newscript->pGossipHello = &GossipHello_teleport_npc_1;
+newscript->pGossipSelect = &GossipSelect_teleport_npc_1;
+newscript->pItemHello = NULL;
+newscript->pGOHello = NULL;
+newscript->pAreaTrigger = NULL;
+newscript->pItemQuestAccept = NULL;
+newscript->pGOQuestAccept = NULL;
+newscript->pGOChooseReward = NULL;
+
+m_scripts[nrscripts++] = newscript;
+
+}