Creating a WarpNPC on Open Ascent menu

Shout-Out

User Tag List

Results 1 to 9 of 9
  1. #1
    controlsx2's Avatar Member
    Reputation
    16
    Join Date
    Jun 2007
    Posts
    223
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Creating a WarpNPC on Open Ascent

    I tried to make a warp NPC but i got this error

    ------ Build started: Project: GossipScripts, Configuration: Release Win32 ------
    Compiling...
    Warper.cpp
    ..srcGossipScriptsWarper.cpp(199) : error C2601: 'GlobalNPC::GossipEnd' : local function definitions are illegal
    ..srcGossipScriptsWarper.cpp(4: this line contains a '{' which has not yet been matched
    ..srcGossipScriptsWarper.cpp(204) : error C2601: 'SetupGlobalNPC' : local function definitions are illegal
    ..srcGossipScriptsWarper.cpp(4: this line contains a '{' which has not yet been matched
    ..srcGossipScriptsWarper.cpp(20 : fatal error C1075: end of file found before the left brace '{' at '..srcGossipScriptsWarper.cpp(4' was matched
    Build log was saved at "file://c:OpenAscenttrunksrcscriptsprojects2008_int_release_gossipscriptsBuildLog.htm"
    GossipScripts - 3 error(s), 0 warning(s)
    ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
    This is the end of my script

    void GlobalNPC::GossipEnd(Object * pObject, Player* Plr)
    {
    GossipScript::GossipEnd(pObject, Plr);
    }

    void SetupGlobalNPC(ScriptMgr * mgr)
    {
    GossipScript * gs = (GossipScript*) new GlobalNPC();
    mgr->register_gossip_script(150099)
    }
    i dont know what { the error is talking about
    Last edited by controlsx2; 05-24-2008 at 01:23 PM.

    Creating a WarpNPC on Open Ascent
  2. #2
    TheSpidey's Avatar Elite User
    Reputation
    365
    Join Date
    Jan 2008
    Posts
    2,200
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    You forgot a } somewhere. Post full source (Use pastebin if you can)

  3. #3
    controlsx2's Avatar Member
    Reputation
    16
    Join Date
    Jun 2007
    Posts
    223
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I know code isnt finished. I just added in the development lines so t owuld compile tidy. This is my first time with C++/Ascent source so i decided i would try to compile just to soo if it woul work then add in values and recompile.

    Code:
    #include "StdAfx.h"
    #include "Setup.h"
    
    #ifdef WIN32
    #pragma warning(disable:4305)
    #endif
    
    
    class SCRIPT_DECL GlobalNPC : 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 GlobalNPC::GossipHello(Object * pObject, Player* Plr, bool AutoSend)
        {
            GossipMenu *Menu;
            objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    
    				if(Plr->getRace()== 10||Plr->getRace()== 2||Plr->getRace()== 6||Plr->getRace()== 8||Plr->getRace()== 5)
    		{
    			Menu->AddItem(0, "Horde Cities", 1);
    		}
    				else
    		{
    					Menu->AddItem(1, "Alliance Cities", 2);		
    		}			
    		Menu->AddItem(3, "Mall", 30);
    		
    
    		if(Plr->getRace()== 10||Plr->getRace()== 2||Plr->getRace()== 6||Plr->getRace()== 8||Plr->getRace()== 5)
    		{
    			Menu->AddItem(4, "Horde Portal Area", 31);
    		}
    		else{
    			Menu->AddItem(6, "Alliance Portal Area", 32);
    		}		
    		Menu->AddItem(5, "Custom Instances", 20);
    		Menu->AddItem(7, "Make This Place Your Home", 95);		
    		Menu->AddItem(8, "Remove Resurrection Sickness", 97);
    
    		if(AutoSend)
                Menu->SendTo(Plr);
        }
    
    void GlobalNPC::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: 
    		GossipHello(pObject, Plr, true);
            break;
    
    		case 1: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Silvermoon", 4);
                    Menu->AddItem(5, "Orgrimmar", 5);
                    Menu->AddItem(5, "Thunder Bluff", 6);
                    Menu->AddItem(5, "Undercity", 7);
    
                    Menu->SendTo(Plr);
    				}
            break;
    
    		case 2: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Stormwind", 8);
                    Menu->AddItem(5, "Ironforge", 9);
                    Menu->AddItem(5, "Exodar", 10);
                    Menu->AddItem(5, "Darnassus", 11);
    
                    Menu->SendTo(Plr);
    				}
            break;
    
    		case 30: 
                  objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
            break;
    
    			case 31: 
                   objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
            break;
    
    			case 32: 
                   objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
            break;
    
    		case 20: 
                    {
                   objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
    				}
            break;
    
    		case 95: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
    				}
            break;
    
    		case 97: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
    				}
            break;
    
    			case 4: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
    				}
            break;
    
    			case 5: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
    				}
            break;
    
    			case 6: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
    				}
            break;
    
    			case 7: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
    				}
            break;
    
    			case 8: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
    				}
            break;
    
    			case 9: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
    				}
            break;
    
    			case 10: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
    				}
            break;
    
    			case 11: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
    				}
            break;
    
    		void GlobalNPC::GossipEnd(Object * pObject, Player* Plr)
    {
        GossipScript::GossipEnd(pObject, Plr);
    }
    
    void SetupGlobalNPC(ScriptMgr * mgr)
    {
    	GossipScript * gs = (GossipScript*) new GlobalNPC();
        mgr->register_gossip_script(150099)
    }
    So ignore the In Development lines
    Last edited by controlsx2; 05-24-2008 at 04:52 PM.

  4. #4
    soul02's Avatar Active Member
    Reputation
    33
    Join Date
    Mar 2008
    Posts
    168
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    try this.. u missed { } at case 30, 31 and 32

    Code:
    #include "StdAfx.h"
    #include "Setup.h"
    
    #ifdef WIN32
    #pragma warning(disable:4305)
    #endif
    
    
    class SCRIPT_DECL GlobalNPC : 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 GlobalNPC::GossipHello(Object * pObject, Player* Plr, bool AutoSend)
        {
            GossipMenu *Menu;
            objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
            if(Plr->getRace()== 10||Plr->getRace()== 2||Plr->getRace()== 6||Plr->getRace()== 8||Plr->getRace()== 5)
    		{Menu->AddItem(0, "Horde Cities", 1);}else{Menu->AddItem(1, "Alliance Cities", 2);}			
    		Menu->AddItem(3, "Mall", 30);
    		Menu->AddItem(4, "Horde Portal Area", 31);}else{Menu->AddItem(6, "Alliance Portal Area", 32);}		
    		Menu->AddItem(5, "Custom Instances", 20);
    		Menu->AddItem(7, "Make This Place Your Home", 95);		
    		Menu->AddItem(8, "Remove Resurrection Sickness", 97);
    
    		if(AutoSend)
                Menu->SendTo(Plr);
        }
    
    void GlobalNPC::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: 
    		GossipHello(pObject, Plr, true);
            break;
            
            case 1: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Silvermoon", 4);
                    Menu->AddItem(5, "Orgrimmar", 5);
                    Menu->AddItem(5, "Thunder Bluff", 6);
                    Menu->AddItem(5, "Undercity", 7);
    
                    Menu->SendTo(Plr);
    				}
            break;
    
    		case 2: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Stormwind", 8);
                    Menu->AddItem(5, "Ironforge", 9);
                    Menu->AddItem(5, "Exodar", 10);
                    Menu->AddItem(5, "Darnassus", 11);
    
                    Menu->SendTo(Plr);
    				}
            break;
    
    		case 30: 
       {
                  objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
                                                       }
            break;
    
    			case 31: 
      {
                   objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
                                                       }
            break;
    
    			case 32: 
      {
                   objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
                                                       }
            break;
    
    		case 20: 
                    {
                   objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
    				}
            break;
    
    		case 95: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
    				}
            break;
    
    		case 97: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
    				}
            break;
    
    			case 4: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
    				}
            break;
    
    			case 5: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
    				}
            break;
    
    			case 6: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
    				}
            break;
    
    			case 7: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
    				}
            break;
    
    			case 8: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
    				}
            break;
    
    			case 9: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
    				}
            break;
    
    			case 10: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
    				}
            break;
    
    			case 11: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
    				}
            break;
    
    		void GlobalNPC::GossipEnd(Object * pObject, Player* Plr)
    {
        GossipScript::GossipEnd(pObject, Plr);
    }
    
    void SetupGlobalNPC(ScriptMgr * mgr)
    {
    	GossipScript * gs = (GossipScript*) new GlobalNPC();
        mgr->register_gossip_script(150099, gs);
    }
    Last edited by soul02; 05-24-2008 at 04:45 PM.

  5. #5
    controlsx2's Avatar Member
    Reputation
    16
    Join Date
    Jun 2007
    Posts
    223
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    ye i realised that and fixed it just after posting. But still no luck

  6. #6
    doublehex's Avatar Member
    Reputation
    34
    Join Date
    Mar 2007
    Posts
    385
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    try this one, i fixed some stuff up in it:
    Code:
    #include "StdAfx.h"
    #include "Setup.h"
    
    #ifdef WIN32
    #pragma warning(disable:4305)
    #endif
    
    
    class SCRIPT_DECL GlobalNPC : 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 GlobalNPC::GossipHello(Object * pObject, Player* Plr, bool AutoSend)
        {
            GossipMenu *Menu;
            objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    
                    if(Plr->getRace()== 10||Plr->getRace()== 2||Plr->getRace()== 6||Plr->getRace()== 8||Plr->getRace()== 5)
            {
                Menu->AddItem(0, "Horde Cities", 1);
            }
                    else
            {
                        Menu->AddItem(1, "Alliance Cities", 2);        
            }            
            Menu->AddItem(3, "Mall", 30);
            
    
            if(Plr->getRace()== 10||Plr->getRace()== 2||Plr->getRace()== 6||Plr->getRace()== 8||Plr->getRace()== 5)
            {
                Menu->AddItem(4, "Horde Portal Area", 31);
            }
            else{
                Menu->AddItem(6, "Alliance Portal Area", 32);
            }        
            Menu->AddItem(5, "Custom Instances", 20);
            Menu->AddItem(7, "Make This Place Your Home", 95);        
            Menu->AddItem(8, "Remove Resurrection Sickness", 97);
    
            if(AutoSend)
                Menu->SendTo(Plr);
        };
    
    void GlobalNPC::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: 
            GossipHello(pObject, Plr, true);
            break;
    
            case 1: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
                    Menu->AddItem(5, "Silvermoon", 4);
                    Menu->AddItem(5, "Orgrimmar", 5);
                    Menu->AddItem(5, "Thunder Bluff", 6);
                    Menu->AddItem(5, "Undercity", 7);
    
                    Menu->SendTo(Plr);
                    }
            break;
    
            case 2: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
                    Menu->AddItem(5, "Stormwind", 8);
                    Menu->AddItem(5, "Ironforge", 9);
                    Menu->AddItem(5, "Exodar", 10);
                    Menu->AddItem(5, "Darnassus", 11);
    
                    Menu->SendTo(Plr);
                    }
            break;
    
            case 30: 
                {
                  objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
                    Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
                    }
            break;
    
                case 31: 
                {
                   objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
                    Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
                    }
            break;
    
                case 32: 
                {
                   objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
                    Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
                    }
            break;
    
            case 20: 
                    {
                   objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
                    Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
                    }
            break;
    
            case 95: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
                    Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
                    }
            break;
    
            case 97: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
                    Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
                    }
            break;
    
                case 4: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
                    Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
                    }
            break;
    
                case 5: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
                    Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
                    }
            break;
    
                case 6: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
                    Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
                    }
            break;
    
                case 7: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
                    Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
                    }
            break;
    
                case 8: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
                    Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
                    }
            break;
    
                case 9: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
                    Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
                    }
            break;
    
                case 10: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
                    Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
                    }
            break;
    
                case 11: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
                    Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
                    }
            break;
            };
    
            void GlobalNPC::GossipEnd(Object * pObject, Player* Plr)
    {
        GossipScript::GossipEnd(pObject, Plr);
    }
    
    void SetupGlobalNPC(ScriptMgr * mgr)
    {
        GossipScript * gs = (GossipScript*) new GlobalNPC();
        mgr->register_gossip_script(150099,gs)
    }


  7. #7
    TheSpidey's Avatar Elite User
    Reputation
    365
    Join Date
    Jan 2008
    Posts
    2,200
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    While you don't need to enclose cases in braces, it's tidy and clean
    You missed two closing braces, right after the last case. One to close the switch, one to close the function.

    Code:
    #include "StdAfx.h"
    #include "Setup.h"
    
    #ifdef WIN32
    #pragma warning(disable:4305)
    #endif
    
    
    class SCRIPT_DECL GlobalNPC : 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 GlobalNPC::GossipHello(Object * pObject, Player* Plr, bool AutoSend)
        {
            GossipMenu *Menu;
            objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    
    				if(Plr->getRace()== 10||Plr->getRace()== 2||Plr->getRace()== 6||Plr->getRace()== 8||Plr->getRace()== 5)
    		{
    			Menu->AddItem(0, "Horde Cities", 1);
    		}
    				else
    		{
    					Menu->AddItem(1, "Alliance Cities", 2);		
    		}			
    		Menu->AddItem(3, "Mall", 30);
    		
    
    		if(Plr->getRace()== 10||Plr->getRace()== 2||Plr->getRace()== 6||Plr->getRace()== 8||Plr->getRace()== 5)
    		{
    			Menu->AddItem(4, "Horde Portal Area", 31);
    		}
    		else{
    			Menu->AddItem(6, "Alliance Portal Area", 32);
    		}		
    		Menu->AddItem(5, "Custom Instances", 20);
    		Menu->AddItem(7, "Make This Place Your Home", 95);		
    		Menu->AddItem(8, "Remove Resurrection Sickness", 97);
    
    		if(AutoSend)
                Menu->SendTo(Plr);
        }
    
    void GlobalNPC::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: 
    		GossipHello(pObject, Plr, true);
            break;
    
    		case 1: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Silvermoon", 4);
                    Menu->AddItem(5, "Orgrimmar", 5);
                    Menu->AddItem(5, "Thunder Bluff", 6);
                    Menu->AddItem(5, "Undercity", 7);
    
                    Menu->SendTo(Plr);
    				}
            break;
    
    		case 2: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Stormwind", 8);
                    Menu->AddItem(5, "Ironforge", 9);
                    Menu->AddItem(5, "Exodar", 10);
                    Menu->AddItem(5, "Darnassus", 11);
    
                    Menu->SendTo(Plr);
    				}
            break;
    
    		case 30: 
                  objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
            break;
    
    			case 31: 
                   objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
            break;
    
    			case 32: 
                   objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
            break;
    
    		case 20: 
                    {
                   objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
    				}
            break;
    
    		case 95: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
    				}
            break;
    
    		case 97: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
    				}
            break;
    
    			case 4: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
    				}
            break;
    
    			case 5: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
    				}
            break;
    
    			case 6: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
    				}
            break;
    
    			case 7: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
    				}
            break;
    
    			case 8: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
    				}
            break;
    
    			case 9: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
    				}
            break;
    
    			case 10: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
    				}
            break;
    
    			case 11: 
                    {
                    objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
    				Menu->AddItem(5, "Warper NPC In Development", 0);
                    Menu->AddItem(5, "Please Try Again Later", 0);
                    Menu->SendTo(Plr);
    				}
            break;
          } //switch
    } //void
    
    void GlobalNPC::GossipEnd(Object * pObject, Player* Plr)
    {
        GossipScript::GossipEnd(pObject, Plr);
    }
    
    void SetupGlobalNPC(ScriptMgr * mgr)
    {
    	GossipScript * gs = (GossipScript*) new GlobalNPC();
        mgr->register_gossip_script(150099)
    }
    Also, instead of
    if(Plr->getRace()== 10||Plr->getRace()== 2||Plr->getRace()== 6||Plr->getRace()== 8||Plr->getRace()== 5)
    Just do Plr->getTeam()
    Plr->getTeam() ? Menu->AddItem(1, "Horde", 1) : Menu->AddItem(1, "Alliance", 2);
    Last edited by TheSpidey; 05-24-2008 at 06:41 PM.

  8. #8
    controlsx2's Avatar Member
    Reputation
    16
    Join Date
    Jun 2007
    Posts
    223
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    No luck Double getting this error
    ------ Build started: Project: GossipScripts, Configuration: Release Win32 ------
    Compiling...
    Warper.cpp
    ..srcGossipScriptsWarper.cpp(219) : error C2601: 'GlobalNPC::GossipEnd' : local function definitions are illegal
    ..srcGossipScriptsWarper.cpp(54): this line contains a '{' which has not yet been matched
    ..srcGossipScriptsWarper.cpp(224) : error C2601: 'SetupGlobalNPC' : local function definitions are illegal
    ..srcGossipScriptsWarper.cpp(54): this line contains a '{' which has not yet been matched
    ..srcGossipScriptsWarper.cpp(22 : fatal error C1075: end of file found before the left brace '{' at '..srcGossipScriptsWarper.cpp(54)' was matched
    Build log was saved at "file://c:OpenAscenttrunksrcscriptsprojects2008_int_release_gossipscriptsBuildLog.htm"
    GossipScripts - 3 error(s), 0 warning(s)
    ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
    Edit:-

    Still 2 errors with yours spidey

    ..\src\GossipScripts\Warper.cpp(221) : error C2660: 'ScriptMgr::register_gossip_script' : function does not take 1 arguments
    ..\src\GossipScripts\Warper.cpp(222) : fatal error C1075: end of file found before the left brace '{' at '..\src\GossipScripts\Warper.cpp(219)' was matched
    Last edited by controlsx2; 05-24-2008 at 06:45 PM.

  9. #9
    TheSpidey's Avatar Elite User
    Reputation
    365
    Join Date
    Jan 2008
    Posts
    2,200
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    mgr->register_gossip_script(150099)
    Should be
    mgr->register_gossip_script(150099, gs)

Similar Threads

  1. Updated Open Ascent Core Compiles : 2 Hours: SQL Updates : Daily : ABD Download.
    By Ickybad in forum World of Warcraft Emulator Servers
    Replies: 39
    Last Post: 06-18-2008, 10:34 AM
  2. Open Ascent compatible shopping mall
    By roguesownu in forum World of Warcraft Emulator Servers
    Replies: 15
    Last Post: 06-04-2008, 10:25 AM
  3. Open Ascent ?
    By jackdaripper in forum World of Warcraft Emulator Servers
    Replies: 16
    Last Post: 05-29-2008, 04:33 PM
  4. How to create Custom Vendors on your ascent Server
    By nigthy in forum WoW EMU Guides & Tutorials
    Replies: 3
    Last Post: 05-18-2008, 03:55 PM
  5. [Now open] Ascent Help-me Thread. POST QUESTIONS HERE.
    By Equ1N0X in forum World of Warcraft Emulator Servers
    Replies: 0
    Last Post: 01-07-2008, 09:28 AM
All times are GMT -5. The time now is 04:44 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