[MaNGOS] Custom Teleporter Script

Results 1 to 10 of 10
  1. #1
    Sorcerer Supreme 1337Equillbrium is offline
    Member +Rank
    Dec 2007 Join Date
    LocalhostLocation
    465Posts

    [MaNGOS] Custom Teleporter Script

    Here is an MaNGOS Custom Teleporter Script!

    Teleporter Script:

    --- 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, 1208);
    +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() >= 58) && (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 == 1208)
    +{
    + 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, 1208);
    +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() >= 58)
    + {
    + 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 == 1208)
    +{
    + 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;
    +
    +}


    The Script was used on my Old MaNGOS Server 2.3.2 ;)
    Well.. I dont make Private Server's Anymore.. I only Help Other!

    So Enjoy the Script, and Msg/PM or Comment if Needed!
    From 1337Equillbrium!


  2. #2
    Elite Member plnt8 is offline
    Member +Rank
    Dec 2007 Join Date
    Under You Bed =PLocation
    199Posts

    Re: [MaNGOS] Custom Teleporter Script

    wow nice ive only ever seen a few mangoS teleporter npc scripts =PP (too bad i use ascent lol)

  3. #3
    ~ PAWN Coder -Beginner- ~ Retro4life is offline
    Grand MasterRank
    Mar 2007 Join Date
    825Posts

    Re: [MaNGOS] Custom Teleporter Script

    Yea, make one for ascent buddy, but well.. if i get MaNGOS then this will be used :)
    ~ Good!

  4. #4
    Elite Member plnt8 is offline
    Member +Rank
    Dec 2007 Join Date
    Under You Bed =PLocation
    199Posts

    Re: [MaNGOS] Custom Teleporter Script

    Quote Originally Posted by Retro4life View Post
    Yea, make one for ascent buddy, but well.. if i get MaNGOS then this will be used :)
    ~ Good!
    there are THOUSANDS of ascent teleporter scripts

  5. #5
    Sorcerer Supreme 1337Equillbrium is offline
    Member +Rank
    Dec 2007 Join Date
    LocalhostLocation
    465Posts

    Re: [MaNGOS] Custom Teleporter Script

    Retro4life, im working on an Ascent Script :)
    So check the Threads, when im done with it ^^

  6. #6
    Member McFluzz is offline
    MemberRank
    Nov 2007 Join Date
    54Posts

    Re: [MaNGOS] Custom Teleporter Script

    well.. this certainly beats my Teleporter Quest NPC :D

  7. #7
    Newbie claudiotasis is offline
    MemberRank
    Mar 2008 Join Date
    1Posts

    Re: [MaNGOS] Custom Teleporter Script

    sorry for asking this.. but i'm a complete noob.
    can you tell me what to do whit the script?? how do i add it to database?? what programs do i need??
    thanks m8.. i wanted to add this to my server, so baddly..:harhar:

  8. #8
    Newbie ceoffuture is offline
    MemberRank
    Mar 2008 Join Date
    1Posts

    Re: [MaNGOS] Custom Teleporter Script

    Quote Originally Posted by claudiotasis View Post
    sorry for asking this.. but i'm a complete noob.
    can you tell me what to do whit the script?? how do i add it to database?? what programs do i need??
    thanks m8.. i wanted to add this to my server, so baddly..:harhar:
    well i use mango too
    where will i put these script to make it work ty

  9. #9
    Grand Master Juggalo90 is offline
    Grand MasterRank
    May 2007 Join Date
    MinnesotaLocation
    940Posts

    Re: [MaNGOS] Custom Teleporter Script

    learn how to use code tags...

    and u need to compile it...
    VC++ 2008
    wiki.ascentemu.com

  10. #10
    Newbie cowman1 is offline
    MemberRank
    Nov 2008 Join Date
    1Posts

    Re: [MaNGOS] Custom Teleporter Script

    i made an acocunt just to ask this IM A SUPER FREAKIN NEWB just made my server
    ware do i put thise code? /beg
    please dont be like Juggalo90 and say L2 CODE just please tell me!! :D :D :D :D
    because i really want a custom npc but i havent the slightest clue ware to put that code!! ><


    THANKS IN ADVANCE!!!



Advertisement