*Sigh* Another WarpNPC :P menu

User Tag List

Results 1 to 4 of 4
  1. #1
    Le Froid's Avatar Contributor
    Reputation
    172
    Join Date
    Mar 2007
    Posts
    1,327
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    *Sigh* Another WarpNPC :P

    I wanted to make (another) warp npc, with one custom area and an easier layout as some warp npc's can be confusing.
    Here is source
    Code:
    #include "StdAfx.h"
    #include "Setup.h"
    
    
    class SCRIPT_DECL Warper : public GossipScript
    {
    public:
        void GossipHello(Object * pObject, Player* Plr, bool AutoSend);
        void GossipSelectOption(Object * pObject, Player* Plr, uint32 Id, uint32 IntId, const char * Code);
        void GossipEnd(Object * pObject, Player* Plr);
        void Destroy()
        {
            delete this;
        }
    };
    void Warper::GossipHello(Object * pObject, Player* Plr, bool AutoSend)
        {
            GossipMenu *Menu;
            objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
            Menu->AddItem(0, "[Main Cities]", 1);
            Menu->AddItem(0, "[Instances]", 12);
            Menu->AddItem(0, "[Outland Locations]", 42);
            Menu->AddItem(5, "Shopping Mall", 50);
            Menu->AddItem(5, "Remove Ressurection Sickness", 51);
            Menu->AddItem(0, "Who is the creator of this?", 52);
             if(AutoSend)
                Menu->SendTo(Plr);
        }
    
    void Warper::GossipSelectOption(Object * pObject, Player* Plr, uint32 Id, uint32 IntId, const char * Code)
        {
        Creature * pCreature = (pObject->GetTypeId()==TYPEID_UNIT)?((Creature*)pObject):NULL;
        if(pCreature==NULL)
            return;
    
            GossipMenu * Menu;
            switch(IntId)
            {
                case 0: // Back
                         GossipHello(pObject, Plr, true);
                break;
                
                case 1: // Main Cities
                {
                     objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
                     Menu->AddItem(0, "[Horde Cities]", 2);
                     Menu->AddItem(0, "[Alliance Cities]", 7);
                     Menu->AddItem(0, "[Back]", 0);
                     Menu->SendTo(Plr);
                }
                break;
                
                case 2: // Horde Cities
                {
                     objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
                     Menu->AddItem(5, "Silvermoon", 3);
                     Menu->AddItem(5, "Orgrimmar", 4);
                     Menu->AddItem(5, "Thunder Bluff", 5);
                     Menu->AddItem(5, "Undercity", 6);
                     Menu->AddItem(0, "[Back]", 0);
                     Menu->SendTo(Plr);
                 }
                 break;
                 
                 case 3: //Silvermoon
                 {
                    Plr->EventTeleport(530, 9400.486328, -7278.376953, 14.206780);
    
                }
                break;
                
                case 4: //Orgrimmar
                {
                     Plr->EventTeleport(1, 1371.068970, -4370.801758, 26.052483);
                }
                break;
                
                case 5: //TB
                {
                     Plr->EventTeleport(1, -1304.569946, 205.285004, 68.681396);
                }
                break;
                
                case 6: //UC
                {
                     Plr->EventTeleport(0, 2050.203125, 285.650604, 56.994549);
                }
                break;
    
                 
                 case 7: //Alliance Cities
                 {
                      objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
                      Menu->AddItem(5, "The Exodar", 8);
                      Menu->AddItem(5, "Stormwind", 9);
                      Menu->AddItem(5, "Ironforge", 10);
                      Menu->AddItem(5, "Darnassus", 11);
                      Menu->AddItem(0, "[Back]", 0);
                      Menu->SendTo(Plr);
                    }
                    break;
                    
                    case 8: //Exodar
                {
                    Plr->EventTeleport(530, -4072.202393, -12014.337891, -1.277277);
                }
                break;
    
            case 9: //Stormwind
                {
                    Plr->EventTeleport(0, -9100.480469, 406.950745, 92.594185);
                }
                break;
    
            case 10: //Ironforge
                {
                    Plr->EventTeleport(0, -5028.265137, -825.976563, 495.301575);
                }
                break;
    
            case 11: //Darnassus
                {
                    Plr->EventTeleport(1, 9985.907227, 1971.155640, 1326.815674);
                }
                break;
                
            case 12: //Instances
              {
                     objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
                     Menu->AddItem(0, "[Azeroth Instances]", 13);
                     Menu->AddItem(0, "[Outland Instances]", 14);
                     Menu->SendTo(Plr);
                     }
                     break;
                     
                     
                     case 13: // Azeroth Instances
                     {
                          objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
                          Menu->AddItem(5, "Shadowfang Keep", 15);
                             Menu->AddItem(5, "Scarlet Monastery", 16);
                          Menu->AddItem(5, "Zul'Farrak", 17);
                          Menu->AddItem(5, "Stratholme", 18);
                          Menu->AddItem(5, "Scholomance", 19);
                          Menu->AddItem(5, "Blackrock Spire", 20);
                          Menu->AddItem(5, "Onyxia's Lair", 21);
                          Menu->AddItem(5, "Molten Core", 22);
                          Menu->AddItem(5, "Zul'Gurub", 23);
                          Menu->AddItem(5, "Karazhan", 24);
                          Menu->AddItem(5, "Ahn'Qirai 20", 25);
                          Menu->AddItem(5, "Ahn'Qirai 40", 26);
                             Menu->AddItem(5, "Naxxramas", 27);
                          Menu->AddItem(5, "Caverns of Time", 28);
                          Menu->AddItem(0, "[Back]", 0);
                            Menu->SendTo(Plr);
                    }
                    break;
                     
                     case 14: //Outland Instances
                     {
                          objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
                          Menu->AddItem(5, "Hellfire Ramparts", 29);
                          Menu->AddItem(5, "The Blood Furnace", 30);
                          Menu->AddItem(5, "The Shattered Halls", 31);
                          Menu->AddItem(5, "The Underbog", 32);
                          Menu->AddItem(5, "The Slave Pens", 33);
                          Menu->AddItem(5, "The Steamvault", 34);
                             Menu->AddItem(5, "Mana-Tombs", 35);
                          Menu->AddItem(5, "Auchenai Crypts", 36);
                          Menu->AddItem(5, "Sethekk Halls", 37);
                          Menu->AddItem(5, "Shadow Labyrinth", 38);
                          Menu->AddItem(5, "The Mechanar", 39);
                          Menu->AddItem(5, "The Botanica", 40);
                          Menu->AddItem(5, "The Arcatraz", 41);
                          Menu->AddItem(0, "[Back]", 0);
                          Menu->SendTo(Plr);
                    }
                     break;
                    
                    case 15: // Shadowfang Keep
                 {
                                 Plr->EventTeleport(0, -234.495087, 1561.946411, 76.892143);
                 }
                 break;
            case 16: // Scarlet Monastery
                 {
                                 Plr->EventTeleport(0, 2870.442627, -819.985229, 160.331085);
                 }
                 break;
            case 17: // Zul'Farrak
                 {
                                 Plr->EventTeleport(1, -6797.278809, -2903.917969, 9.953360);
                 }
                 break;
            case 18: // Zul'Gurub
                 {
                                 Plr->EventTeleport(0, -11919.073242, -1202.459374, 92.298744);
                 }
                 break;
            case 19: // Ahn'Qirai 20
                 {
                                 Plr->EventTeleport(1, -8394.730469, 1485.658447, 21.038563);
                 }
                 break;
            case 20: // Ahn'Qirai 40
                 {
                                 Plr->EventTeleport(1, -8247.316406, 1970.156860, 129.071472);
                }
                 break;
            case 21: // Molten Core
                 {
                  
                  Plr->EventTeleport(409, 1089.6, -470.19, -106.41);
                 }
                 break;
            case 22: // Onyxia
                     {
                        
                         Plr->EventTeleport(249, 30.0, -64.0, -5.0);
                     }
                     break;
            case 23: // Naxxramas
                     {
                         
                         Plr->EventTeleport(533, 3006.06, -3436.72, 293.891);
                     }
                     break;
            case 24: //Scholomance
                    { 
                        Plr->EventTeleport(0, 1267.468628, -2556.651367, 94.127983);
                    }
                    break;
            case 25: //Stratholme
                    { 
                        Plr->EventTeleport(0, 3359.111572, -3380.8444238, 144.781860);
                    }break;
                            case 26: // Black Rock Spire
                    { 
                        Plr->EventTeleport(0, -7527.129883, -1224.997437, 285.733002);
                    }break;
                case 27: // Kharazan
                    { 
                        
                        Plr->EventTeleport(532, -11087.3, -1977.47, 49.6135);
    
                    }break;
                case 28: // Caverns of Time
                    { 
                        Plr->EventTeleport(1, -8519.718750, -4297.542480, -208.441376);
                    }break;
                    
                    case 29: // Hellfire Ramparts
                    { 
                        Plr->EventTeleport(530, -360.670990, 3071.899902, -15.097700);
                    }break;
            case 30: // The Blood Furnace
                    { 
                        Plr->EventTeleport(530, -303.506012, 3164.820068, 31.742500);
                    }break;
            case 31: // The Shattered Halls
                    { 
                        Plr->EventTeleport(530, -311.083527, 3083.291748, -3.745923);
                    }break;
            case 32: // The Underbog
                    { 
                        Plr->EventTeleport(530, 777.088989, 6763.450195, -72.062561);
                    }break;
            case 33: // The Slave Pens
                    { 
                        Plr->EventTeleport(530, 719.507996, 6999.339844, -73.074303);
                    }break;
            case 34: // The Steamvault
                    { 
                        Plr->EventTeleport(530, 816.590027, 6934.669922, -80.544601);
                    }break;
            case 35: // Mana-Tombs
                    { 
                        Plr->EventTeleport(530, -3079.810059, 4943.040039, -101.046997);
                    }break;
            case 36: // Auchenai Crypts
                    { 
                        Plr->EventTeleport(530, -3361.959961, 5225.770020, -101.047997);
                    }break;
            case 37: // Sethekk Halls
                    { 
                        Plr->EventTeleport(530, -3362.219971, 4660.410156, -101.049004 );
                    }break;
            case 38: // Shadow Labyrinth
                    { 
                        Plr->EventTeleport(530, -3645.060059, 4943.620117, -101.047997);
                    }break;
            case 39: // The Mechanar
                    { 
                        Plr->EventTeleport(530, 2862.409912, 1546.089966, 252.158691);
                    }break;
            case 40: // The Botanica
                    { 
                        Plr->EventTeleport(530, 3413.649902, 1483.319946, 182.837997);
                    }break;
            case 41: // The Arcatraz
                    { 
                        Plr->EventTeleport(530, 3311.598145, 1332.745117, 505.557251);
                    }break;
                    
                    case 42: // Outland Locations
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
                    Menu->AddItem(5, "Hellfire Peninsula", 43);
                    Menu->AddItem(5, "Zangarmarsh", 44);
                    Menu->AddItem(5, "Nagrand", 45);
                    Menu->AddItem(5, "Blades Edge Mountains", 46);
                    Menu->AddItem(5, "Netherstorm", 47);
                    Menu->AddItem(5, "Terokkar Forest", 48);
                    Menu->AddItem(5, "Shadowmoon Valley", 49);
                    Menu->AddItem(0, "[Back]", 0);
                    Menu->SendTo(Plr);
                    }
                break;
                
                case 43: //Hellfire Peninsula
                {
                    Plr->EventTeleport(530, -248.160004, 922.348999, 84.379799);
                }
                break;
    
            case 44: //Zangermarsh
                {
                    Plr->EventTeleport(530, -225.863632, 5405.927246, 22.346397);
                }
                break;
    
            case 45: //Nagrand
                {
                    Plr->EventTeleport(530, -468.232330, 8418.666016, 28.031298);
    
                }
                break;
    
            case 46: //Blades Edge Mountains
                {
                    Plr->EventTeleport(530, 1471.672852, 6828.047852, 107.759239);
    
                }
                break;
    
            case 47: //Netherstorm
                {
                    Plr->EventTeleport(530, 3396.123779, 4182.208008, 137.097992);
    
                }
                break;
    
            case 48: //Terokkar Forest
                {
                    Plr->EventTeleport(530, -1202.426636, 5313.692871, 33.774723);
    
                }
                break;
    
            case 49: //Shadowmoon Valley
                {
                    Plr->EventTeleport(530, -2859.522461, 3182.34773, 10.008426);
    
                }
                break;
                
            case 50: //Mall
                     {
                           Plr->EventTeleport(1, 16222.6, 16265.9, 15);
                         }
                         break;
                         
            case 51: //Res Sickness
                {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
                    Plr->addSpell(15007);            // learn res sickness
                    Plr->removeSpell(15007,0,0,0);        // un learn res sickness
                    pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "I removed your Resurrection Sickness. Next time don't die." );
                    Menu->AddItem(0, "[Back]", 0);
                    Menu->SendTo(Plr);
            }
                    break;
    
            
            case 52: //ME :P
            {
                 pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Le Froid of mmowned made this, of course!" );
                 }
                 break;
                 
                 }
        }
    
    void Warper::GossipEnd(Object * pObject, Player* Plr)
    {
        GossipScript::GossipEnd(pObject, Plr);
    }
    
    void SetupWarper(ScriptMgr * mgr)
    {
        GossipScript * gs = (GossipScript*) new Warper();
        
        mgr->register_gossip_script(65002, gs);          // WarpNPC's ID
    }

    If there is something similar, I haven't tried out that many warp NPCs


    When you make the NPC set its flags to 0 for gossip script.

    Please don't ask for a compiled version(if you care about this )

    I am not compiling because of stuff like mall and NPC's ID

    I put notes over everything so you can easily edit malls coords and stuff.

    Don't take out last part either

    *Sigh* Another WarpNPC :P
  2. #2
    ~SaiLyn~'s Avatar Contributor
    Reputation
    280
    Join Date
    Aug 2007
    Posts
    546
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Le Froid View Post
    I wanted to make (another) warp npc, with one custom area and an easier layout as some warp npc's can be confusing.
    Here is source
    Code:
    #include "StdAfx.h"
    #include "Setup.h"
     
     
    class SCRIPT_DECL Warper : public GossipScript
    {
    public:
        void GossipHello(Object * pObject, Player* Plr, bool AutoSend);
        void GossipSelectOption(Object * pObject, Player* Plr, uint32 Id, uint32 IntId, const char * Code);
        void GossipEnd(Object * pObject, Player* Plr);
        void Destroy()
        {
            delete this;
        }
    };
    void Warper::GossipHello(Object * pObject, Player* Plr, bool AutoSend)
        {
            GossipMenu *Menu;
            objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
            Menu->AddItem(0, "[Main Cities]", 1);
            Menu->AddItem(0, "[Instances]", 12);
            Menu->AddItem(0, "[Outland Locations]", 42);
            Menu->AddItem(5, "Shopping Mall", 50);
            Menu->AddItem(5, "Remove Ressurection Sickness", 51);
            Menu->AddItem(0, "Who is the creator of this?", 52);
             if(AutoSend)
                Menu->SendTo(Plr);
        }
     
    void Warper::GossipSelectOption(Object * pObject, Player* Plr, uint32 Id, uint32 IntId, const char * Code)
        {
        Creature * pCreature = (pObject->GetTypeId()==TYPEID_UNIT)?((Creature*)pObject):NULL;
        if(pCreature==NULL)
            return;
     
            GossipMenu * Menu;
            switch(IntId)
            {
                case 0: // Back
                         GossipHello(pObject, Plr, true);
                break;
     
                case 1: // Main Cities
                {
                     objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
                     Menu->AddItem(0, "[Horde Cities]", 2);
                     Menu->AddItem(0, "[Alliance Cities]", 7);
                     Menu->AddItem(0, "[Back]", 0);
                     Menu->SendTo(Plr);
                }
                break;
     
                case 2: // Horde Cities
                {
                     objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
                     Menu->AddItem(5, "Silvermoon", 3);
                     Menu->AddItem(5, "Orgrimmar", 4);
                     Menu->AddItem(5, "Thunder Bluff", 5);
                     Menu->AddItem(5, "Undercity", 6);
                     Menu->AddItem(0, "[Back]", 0);
                     Menu->SendTo(Plr);
                 }
                 break;
     
                 case 3: //Silvermoon
                 {
                    Plr->EventTeleport(530, 9400.486328, -7278.376953, 14.206780);
     
                }
                break;
     
                case 4: //Orgrimmar
                {
                     Plr->EventTeleport(1, 1371.068970, -4370.801758, 26.052483);
                }
                break;
     
                case 5: //TB
                {
                     Plr->EventTeleport(1, -1304.569946, 205.285004, 68.681396);
                }
                break;
     
                case 6: //UC
                {
                     Plr->EventTeleport(0, 2050.203125, 285.650604, 56.994549);
                }
                break;
     
     
                 case 7: //Alliance Cities
                 {
                      objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
                      Menu->AddItem(5, "The Exodar", 8);
                      Menu->AddItem(5, "Stormwind", 9);
                      Menu->AddItem(5, "Ironforge", 10);
                      Menu->AddItem(5, "Darnassus", 11);
                      Menu->AddItem(0, "[Back]", 0);
                      Menu->SendTo(Plr);
                    }
                    break;
     
                    case 8: //Exodar
                {
                    Plr->EventTeleport(530, -4072.202393, -12014.337891, -1.277277);
                }
                break;
     
            case 9: //Stormwind
                {
                    Plr->EventTeleport(0, -9100.480469, 406.950745, 92.594185);
                }
                break;
     
            case 10: //Ironforge
                {
                    Plr->EventTeleport(0, -5028.265137, -825.976563, 495.301575);
                }
                break;
     
            case 11: //Darnassus
                {
                    Plr->EventTeleport(1, 9985.907227, 1971.155640, 1326.815674);
                }
                break;
     
            case 12: //Instances
              {
                     objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
                     Menu->AddItem(0, "[Azeroth Instances]", 13);
                     Menu->AddItem(0, "[Outland Instances]", 14);
                     Menu->SendTo(Plr);
                     }
                     break;
     
     
                     case 13: // Azeroth Instances
                     {
                          objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
                          Menu->AddItem(5, "Shadowfang Keep", 15);
                             Menu->AddItem(5, "Scarlet Monastery", 16);
                          Menu->AddItem(5, "Zul'Farrak", 17);
                          Menu->AddItem(5, "Stratholme", 18);
                          Menu->AddItem(5, "Scholomance", 19);
                          Menu->AddItem(5, "Blackrock Spire", 20);
                          Menu->AddItem(5, "Onyxia's Lair", 21);
                          Menu->AddItem(5, "Molten Core", 22);
                          Menu->AddItem(5, "Zul'Gurub", 23);
                          Menu->AddItem(5, "Karazhan", 24);
                          Menu->AddItem(5, "Ahn'Qirai 20", 25);
                          Menu->AddItem(5, "Ahn'Qirai 40", 26);
                             Menu->AddItem(5, "Naxxramas", 27);
                          Menu->AddItem(5, "Caverns of Time", 28);
                          Menu->AddItem(0, "[Back]", 0);
                            Menu->SendTo(Plr);
                    }
                    break;
     
                     case 14: //Outland Instances
                     {
                          objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
                          Menu->AddItem(5, "Hellfire Ramparts", 29);
                          Menu->AddItem(5, "The Blood Furnace", 30);
                          Menu->AddItem(5, "The Shattered Halls", 31);
                          Menu->AddItem(5, "The Underbog", 32);
                          Menu->AddItem(5, "The Slave Pens", 33);
                          Menu->AddItem(5, "The Steamvault", 34);
                             Menu->AddItem(5, "Mana-Tombs", 35);
                          Menu->AddItem(5, "Auchenai Crypts", 36);
                          Menu->AddItem(5, "Sethekk Halls", 37);
                          Menu->AddItem(5, "Shadow Labyrinth", 38);
                          Menu->AddItem(5, "The Mechanar", 39);
                          Menu->AddItem(5, "The Botanica", 40);
                          Menu->AddItem(5, "The Arcatraz", 41);
                          Menu->AddItem(0, "[Back]", 0);
                          Menu->SendTo(Plr);
                    }
                     break;
     
                    case 15: // Shadowfang Keep
                 {
                                 Plr->EventTeleport(0, -234.495087, 1561.946411, 76.892143);
                 }
                 break;
            case 16: // Scarlet Monastery
                 {
                                 Plr->EventTeleport(0, 2870.442627, -819.985229, 160.331085);
                 }
                 break;
            case 17: // Zul'Farrak
                 {
                                 Plr->EventTeleport(1, -6797.278809, -2903.917969, 9.953360);
                 }
                 break;
            case 18: // Zul'Gurub
                 {
                                 Plr->EventTeleport(0, -11919.073242, -1202.459374, 92.298744);
                 }
                 break;
            case 19: // Ahn'Qirai 20
                 {
                                 Plr->EventTeleport(1, -8394.730469, 1485.658447, 21.038563);
                 }
                 break;
            case 20: // Ahn'Qirai 40
                 {
                                 Plr->EventTeleport(1, -8247.316406, 1970.156860, 129.071472);
                }
                 break;
            case 21: // Molten Core
                 {
     
                  Plr->EventTeleport(409, 1089.6, -470.19, -106.41);
                 }
                 break;
            case 22: // Onyxia
                     {
     
                         Plr->EventTeleport(249, 30.0, -64.0, -5.0);
                     }
                     break;
            case 23: // Naxxramas
                     {
     
                         Plr->EventTeleport(533, 3006.06, -3436.72, 293.891);
                     }
                     break;
            case 24: //Scholomance
                    { 
                        Plr->EventTeleport(0, 1267.468628, -2556.651367, 94.127983);
                    }
                    break;
            case 25: //Stratholme
                    { 
                        Plr->EventTeleport(0, 3359.111572, -3380.8444238, 144.781860);
                    }break;
                            case 26: // Black Rock Spire
                    { 
                        Plr->EventTeleport(0, -7527.129883, -1224.997437, 285.733002);
                    }break;
                case 27: // Kharazan
                    { 
     
                        Plr->EventTeleport(532, -11087.3, -1977.47, 49.6135);
     
                    }break;
                case 28: // Caverns of Time
                    { 
                        Plr->EventTeleport(1, -8519.718750, -4297.542480, -208.441376);
                    }break;
     
                    case 29: // Hellfire Ramparts
                    { 
                        Plr->EventTeleport(530, -360.670990, 3071.899902, -15.097700);
                    }break;
            case 30: // The Blood Furnace
                    { 
                        Plr->EventTeleport(530, -303.506012, 3164.820068, 31.742500);
                    }break;
            case 31: // The Shattered Halls
                    { 
                        Plr->EventTeleport(530, -311.083527, 3083.291748, -3.745923);
                    }break;
            case 32: // The Underbog
                    { 
                        Plr->EventTeleport(530, 777.088989, 6763.450195, -72.062561);
                    }break;
            case 33: // The Slave Pens
                    { 
                        Plr->EventTeleport(530, 719.507996, 6999.339844, -73.074303);
                    }break;
            case 34: // The Steamvault
                    { 
                        Plr->EventTeleport(530, 816.590027, 6934.669922, -80.544601);
                    }break;
            case 35: // Mana-Tombs
                    { 
                        Plr->EventTeleport(530, -3079.810059, 4943.040039, -101.046997);
                    }break;
            case 36: // Auchenai Crypts
                    { 
                        Plr->EventTeleport(530, -3361.959961, 5225.770020, -101.047997);
                    }break;
            case 37: // Sethekk Halls
                    { 
                        Plr->EventTeleport(530, -3362.219971, 4660.410156, -101.049004 );
                    }break;
            case 38: // Shadow Labyrinth
                    { 
                        Plr->EventTeleport(530, -3645.060059, 4943.620117, -101.047997);
                    }break;
            case 39: // The Mechanar
                    { 
                        Plr->EventTeleport(530, 2862.409912, 1546.089966, 252.158691);
                    }break;
            case 40: // The Botanica
                    { 
                        Plr->EventTeleport(530, 3413.649902, 1483.319946, 182.837997);
                    }break;
            case 41: // The Arcatraz
                    { 
                        Plr->EventTeleport(530, 3311.598145, 1332.745117, 505.557251);
                    }break;
     
                    case 42: // Outland Locations
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
                    Menu->AddItem(5, "Hellfire Peninsula", 43);
                    Menu->AddItem(5, "Zangarmarsh", 44);
                    Menu->AddItem(5, "Nagrand", 45);
                    Menu->AddItem(5, "Blades Edge Mountains", 46);
                    Menu->AddItem(5, "Netherstorm", 47);
                    Menu->AddItem(5, "Terokkar Forest", 48);
                    Menu->AddItem(5, "Shadowmoon Valley", 49);
                    Menu->AddItem(0, "[Back]", 0);
                    Menu->SendTo(Plr);
                    }
                break;
     
                case 43: //Hellfire Peninsula
                {
                    Plr->EventTeleport(530, -248.160004, 922.348999, 84.379799);
                }
                break;
     
            case 44: //Zangermarsh
                {
                    Plr->EventTeleport(530, -225.863632, 5405.927246, 22.346397);
                }
                break;
     
            case 45: //Nagrand
                {
                    Plr->EventTeleport(530, -468.232330, 8418.666016, 28.031298);
     
                }
                break;
     
            case 46: //Blades Edge Mountains
                {
                    Plr->EventTeleport(530, 1471.672852, 6828.047852, 107.759239);
     
                }
                break;
     
            case 47: //Netherstorm
                {
                    Plr->EventTeleport(530, 3396.123779, 4182.208008, 137.097992);
     
                }
                break;
     
            case 48: //Terokkar Forest
                {
                    Plr->EventTeleport(530, -1202.426636, 5313.692871, 33.774723);
     
                }
                break;
     
            case 49: //Shadowmoon Valley
                {
                    Plr->EventTeleport(530, -2859.522461, 3182.34773, 10.008426);
     
                }
                break;
     
            case 50: //Mall
                     {
                           Plr->EventTeleport(1, 16222.6, 16265.9, 15);
                         }
                         break;
     
            case 51: //Res Sickness
                {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
                    Plr->addSpell(15007);            // learn res sickness
                    Plr->removeSpell(15007,0,0,0);        // un learn res sickness
                    pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "I removed your Resurrection Sickness. Next time don't die." );
                    Menu->AddItem(0, "[Back]", 0);
                    Menu->SendTo(Plr);
            }
                    break;
     
     
            case 52: //ME :P
            {
                 pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "Le Froid of mmowned made this, of course!" );
                 }
                 break;
     
                 }
        }
     
    void Warper::GossipEnd(Object * pObject, Player* Plr)
    {
        GossipScript::GossipEnd(pObject, Plr);
    }
     
    void SetupWarper(ScriptMgr * mgr)
    {
        GossipScript * gs = (GossipScript*) new Warper();
     
        mgr->register_gossip_script(65002, gs);          // WarpNPC's ID
    }
    If there is something similar, I haven't tried out that many warp NPCs

    When you make the NPC set its flags to 0 for gossip script.

    Please don't ask for a compiled version(if you care about this )

    I am not compiling because of stuff like mall and NPC's ID

    I put notes over everything so you can easily edit malls coords and stuff.

    Don't take out last part either

    ^^ this is something similar to my Teleporter , except mines has an extra system built in it..

    And lol this source is the exact one from ascentemu except the last part your saying about you made it.

  3. #3
    Le Froid's Avatar Contributor
    Reputation
    172
    Join Date
    Mar 2007
    Posts
    1,327
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Ascended View Post
    ^^ this is something similar to my Teleporter , except mines has an extra system built in it..

    And lol this source is the exact one from ascentemu except the last part your saying about you made it.

    o.0 It is?
    I am not able to connect to that website :|
    (Being honest, I had no idea about that but if its an issue this can be taken down)

  4. #4
    Tom_2001's Avatar Member
    Reputation
    177
    Join Date
    Oct 2007
    Posts
    609
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Not keen on warpnpc but nice work!

Similar Threads

  1. *Sigh* Another Problem...
    By SectorSeven in forum World of Warcraft Emulator Servers
    Replies: 7
    Last Post: 01-06-2008, 09:02 PM
  2. *sigh* Exam results:
    By janzi9 in forum Community Chat
    Replies: 15
    Last Post: 05-22-2006, 06:36 PM
  3. The Great Sea Unused (another secret zone)
    By Matt in forum World of Warcraft Exploits
    Replies: 12
    Last Post: 04-23-2006, 02:11 AM
  4. and another thing
    By Lonedrow(archimonde) in forum World of Warcraft General
    Replies: 2
    Last Post: 03-24-2006, 12:34 AM
  5. Another AH Money Maker
    By Matt in forum World of Warcraft Exploits
    Replies: 7
    Last Post: 03-22-2006, 01:05 PM
All times are GMT -5. The time now is 10:30 AM. Powered by vBulletin® Version 4.2.3
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Google Authenticator verification provided by Two-Factor Authentication (Free) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search