ArcEmu: Conceptual Problem With Gossip Script - ArcEmu

Jump to content

Toggle shoutbox Lastest Announcements

dfighter  : (07 December 2014 - 12:06 PM) Arcemu is in hibernation mode, please read http://arcemu.org/fo...showtopic=26903
dfighter  : (01 January 2013 - 05:56 PM) Arcemu wishes you all a happy new year!
Hasbro  : (12 September 2012 - 10:01 AM) Please excuse our outage from the web! Our web host had a major malfunction!
dfighter  : (01 September 2012 - 04:05 PM) Since the spam bots just don't want to stop, I've enabled admin verification when registering.
dfighter  : (23 January 2012 - 09:56 PM) Please note that from now on you will need to confirm your email on the wiki in order to edit it!
Hasbro  : (31 December 2011 - 12:50 PM) Happy New Years all!
Navid  : (26 December 2011 - 04:09 AM) Merry Christmas !!!!!! Happy holidays all :)
WAmadeus  : (24 December 2011 - 03:54 PM) Merry Christmas to all!
dfighter  : (24 December 2011 - 11:05 AM) The Arcemu team wishes y'all a Merry Christmukkah!
Hasbro  : (05 October 2011 - 12:53 PM) Looking for web designers for upcoming web related project. If you're interested in designing user interfaces contact me
dfighter  : (02 September 2011 - 03:47 PM) So who here wants vehicles in Arcemu? :P http://arcemu.org/fo...showtopic=25440
Hasbro  : (14 August 2011 - 03:25 PM) Join us on irc, grab an irc client and connect to irc.freenode.net join channel #arcemu /server irc.freenode.net:6667 /join #arcemu
jackpoz  : (03 August 2011 - 05:33 AM) to all Lua Engine (old one) users: please check http://arcemu.org/fo...showtopic=25274
Hasbro  : (20 May 2011 - 05:27 PM) Looking for people experienced with CMake configuration and setup! Contact me asap
Hasbro  : (15 May 2011 - 05:03 PM) ArcEmu is recruiting C++ programmers, contact Hasbro if interested.
paroxysm  : (03 May 2011 - 06:26 PM) Updated luabridge gossip example to describe the whole gossip creation process rather than just how to create menu. Gossip tutorial
paroxysm  : (23 April 2011 - 11:35 AM) Lua writers can refer to the Luabridge Tutorials section in the Wiki to learn how to write gossip code correctly.
Hasbro  : (20 April 2011 - 05:22 PM) Thank you for your continuous contribution of bug reports, we are working on them.
Hasbro  : (17 April 2011 - 03:20 AM) Please consider donating to support our bills. Donations can be sent using PayPal to donations@arcemu.org - Thank you for your support.
paroxysm  : (10 April 2011 - 12:43 AM) Refer to the Luabridge Tutorials section in the Wiki to learn the new syntax of luabridge.
Resize Shouts Area

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Conceptual Problem With Gossip Script

#1 User is offline   Magnifikator 

  • Interested
  • PipPipPipPip
  • Group: Members
  • Posts: 398
  • Joined: 05-October 11
  • Gender:Male
  • Location:Switzerland
  • Server OS:Windows

Posted 26 May 2013 - 09:02 AM

There is this NPC:
http://landofelves.n...npc&s=0&id=7572
He has a lot of quests ;)

And than there is this script: Quest_BlastedLands.cpp
It registers this NPC 7572 and is doing something with the quest 2702 only.

Problem: All other quests from DB are now not available anymore.

Question:
Is there a possibility to add in the script the quests from db again or is this a conceptual problem of ArcEmu that you can have only either quests from DB or quests from a script ?

I also have a workaround: Span a 2nd custom NPC for the quest 2072 and register this NPC in the script instead of the original one. But that's so ...... ihhhh :blink:
Try out the LoE ArcEmu World database. Please visit dev.LandOfElves.net.

Posted Image


0

#2 User is offline   dfighter 

  • Titles are overrated
  • PipPipPipPipPipPipPipPipPipPip
  • Group: Administrator
  • Posts: 5,189
  • Joined: 14-June 08
  • IRC:dfighter
  • Gender:Male
  • Server OS:Linux

Posted 26 May 2013 - 10:07 AM

From your description it seems to be an issue.
Whether it was intended or not, that I don't know.
"The demand for free goods is infinite."
0

#3 User is offline   Satanail 

  • Enthusiast
  • PipPipPip
  • Group: Members
  • Posts: 150
  • Joined: 11-March 12
  • Gender:Male
  • Location:Absurdistan
  • Server OS:Windows

Posted 26 May 2013 - 11:36 AM

It is an issue. Most of the npc's that have both quests and gossip scripts are like that. Try this script.
class HeroesofOld1 : public GossipScript
{
	public:
		void GossipHello(Object* pObject, Player* plr)
		{
		uint32 Text = objmgr.GetGossipTextForNpc(TO_CREATURE(pObject)->GetEntry());

        if ( NpcTextStorage.LookupEntry(Text) == NULL ) { return; }

        Arcemu::Gossip::Menu menu(pObject->GetGUID(), Text, plr->GetSession()->language);
        sQuestMgr.FillQuestMenu(TO_CREATURE(pObject), plr, menu);

			if(plr->GetQuestLogForEntry(2702) || plr->HasFinishedQuest(2702))
			{
				menu.AddItem(0, "I need to speak with Corporal.", 1);
			}
			menu.Send(plr);
		}

		void GossipSelectOption(Object* pObject, Player* plr, uint32 Id, uint32 IntId, const char* Code)
		{
			if(!plr)
				return;

			Creature* general = TO_CREATURE(pObject);
			if(general == NULL)
				return;

			switch(IntId)
			{
				case 0:
					GossipHello(pObject, plr);
					break;

				case 1:
					{
						Creature* spawncheckcr = plr->GetMapMgr()->GetInterface()->GetCreatureNearestCoords(plr->GetPositionX(), plr->GetPositionY(), plr->GetPositionZ(), 7750);

						if(!spawncheckcr)
						{
							general = sEAS.SpawnCreature(plr, 7750, -10619, -2997, 28.8f, 4, 0);
							general->Despawn(3 * 60 * 1000, 0);
						}

						GameObject* spawncheckgobj = plr->GetMapMgr()->GetInterface()->GetGameObjectNearestCoords(plr->GetPositionX(), plr->GetPositionY(), plr->GetPositionZ(), 141980);

						if(!spawncheckgobj)
						{
							GameObject* generalsbox = sEAS.SpawnGameobject(plr, 141980, -10622, -2994, 28.6f, 4, 4, 0, 0, 0, 0);
							sEAS.GameobjectDelete(generalsbox, 3 * 60 * 1000);
						}
					}
			}
			plr->Gossip_Complete();
		}

};

0

#4 User is offline   dfighter 

  • Titles are overrated
  • PipPipPipPipPipPipPipPipPipPip
  • Group: Administrator
  • Posts: 5,189
  • Joined: 14-June 08
  • IRC:dfighter
  • Gender:Male
  • Server OS:Linux

Posted 26 May 2013 - 02:09 PM

Ah!
If you mean that you have to use sQuestMgr.FillQuestMenu method, then it's just the side effect of having a new GossipScript class that overrides the defaults.
There's not much that can be done.


"The demand for free goods is infinite."
0

#5 User is offline   Satanail 

  • Enthusiast
  • PipPipPip
  • Group: Members
  • Posts: 150
  • Joined: 11-March 12
  • Gender:Male
  • Location:Absurdistan
  • Server OS:Windows

Posted 27 May 2013 - 02:37 AM

Currently this is the only thing that actually worked for gossip and quest menu's. Otherwise you would only get the gossip menu that hasn't any quests, or you will not get any gossip menu at all.
0

#6 User is offline   dfighter 

  • Titles are overrated
  • PipPipPipPipPipPipPipPipPipPip
  • Group: Administrator
  • Posts: 5,189
  • Joined: 14-June 08
  • IRC:dfighter
  • Gender:Male
  • Server OS:Linux

Posted 27 May 2013 - 10:17 AM

View PostSatanail, on 27 May 2013 - 02:37 AM, said:

Currently this is the only thing that actually worked for gossip and quest menu's. Otherwise you would only get the gossip menu that hasn't any quests, or you will not get any gossip menu at all.

Yes, but you have to realize that this is because of the custom GossipScript class overriding the defaults.
"The demand for free goods is infinite."
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users