[LUA] Need expert help menu

User Tag List

Results 1 to 4 of 4
  1. #1
    Juve21's Avatar Member
    Reputation
    1
    Join Date
    Sep 2008
    Posts
    8
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    [LUA] Need expert help

    Okay,

    I'm trying to make my Teleporter NPC better by making it so if your a horde, you'll see a different menu then if your Ally...

    This is mainly so Alliance can't click the "Horde Mall" button and go there.

    So if there is anyway to do this without having to redo it in C++ please tell me!

    I tried so far...
    Code:
    if (plr = Horde) then
    ...
    Code:
    if (player:Horde () == true) then
    ...
    Even
    Code:
    if (Plr->GetTeam() > 0) then
    ...
    So if you know how to do this, or if you know it's impossible with LUA, please tell me and i'll +rep!!

    [LUA] Need expert help
  2. #2
    project anthrax's Avatar Contributor
    Reputation
    180
    Join Date
    Nov 2007
    Posts
    993
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    you can always use the program if your having trouble scripting you can always look for the program to make it for you or you can try this

    #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", ;
    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", 1;
    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", 2;
    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", 3;
    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", 4;
    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.03129;

    }
    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, "Mmowned Teleporter" );
    }
    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
    }
    removed by Unholy

  3. #3
    Juve21's Avatar Member
    Reputation
    1
    Join Date
    Sep 2008
    Posts
    8
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    okay, so LUA can't do that, thx

    I'll use your C++

    +rep

  4. #4
    project anthrax's Avatar Contributor
    Reputation
    180
    Join Date
    Nov 2007
    Posts
    993
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    no problem juve21
    removed by Unholy

Similar Threads

  1. [Lua] Need script help!
    By jarjarb14 in forum WoW EMU Questions & Requests
    Replies: 1
    Last Post: 02-05-2010, 03:09 AM
  2. [LUA] Need expert help
    By Juve21 in forum WoW EMU Questions & Requests
    Replies: 3
    Last Post: 10-13-2008, 02:16 AM
  3. New to LUA, need some help please.
    By C-Death in forum World of Warcraft Emulator Servers
    Replies: 1
    Last Post: 06-30-2008, 02:37 PM
  4. I need some help for an Emu Expert!
    By gr33noni in forum World of Warcraft Emulator Servers
    Replies: 3
    Last Post: 12-24-2007, 12:42 PM
  5. Dwarven Male to a wonderful Tauren Male, need some expert help :]
    By Arrn in forum WoW ME Questions and Requests
    Replies: 0
    Last Post: 09-11-2007, 07:27 AM
All times are GMT -5. The time now is 04:42 PM. 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