View Single Post
  #1  
Old 09-24-2014, 06:12 PM
jdoran
Hill Giant
 
Join Date: Jul 2012
Posts: 212
Default EQEmu::Any question

I am porting my quest generator to the newest code base, and see some changes in the last couple of years

The event handlers now accept a vector of EQEmu::Any pointers (modified Boost::Any), and I have no experience with these objects.

What I need: I need to pass in a couple of extra parameters to EventNPC et al. such as a quest-id which would be used to load the quest script. Previously I just added a couple of extra parameters and let EventCommon load the script if necessary. This worked fine for my purposes.

In order to allow the potential sharing of this code later, I would like to do things properly this time around. These "extra_pointers" sounds like they might be useful, but then I see that ExportEventVariables uses the entire vector as variables to export.

I'll look into ways of preloading the scripts elsewhere. But the package name is quest-specific. GetQuestPackageName is not going to be able to figure out the proper package name, since I base it on a quest-id. I really want to keep each quest in its own package.

Events for *my* quests know what quest-id they correspond to. I'm able to have the PERL parser load my package when a non-zero quest-id is used, which allows the pre-existing events to work without modification.

The Lua and PERL parsers do their own package-name logic, which assumes a different organization than I'm using.

Edit: I should add that I was previously using loadQuest to perform the loading, and that is now gone.

What is going to cause the least amount of disturbance?
Reply With Quote