Go Back   EQEmulator Home > EQEmulator Forums > Quests > Quests::Q&A

Quests::Q&A This is the quest support section

Reply
 
Thread Tools Display Modes
  #1  
Old 03-29-2010, 06:31 PM
Lillu
Hill Giant
 
Join Date: Sep 2008
Posts: 204
Default Quest script handling

As part of a quest line, we have a npc that might apper in different zones (zone A and B), and has different scripts in the different zones (script X in zone A and script Y in zone B).

Today our players triggered the npc in zone A and B the same time however the npc gave script Y in zone A too (instead of script X).

Is this a bug or a simply "work as intended" how scripts are loaded into memory and are bound to an npc? If so, is there any workaround?

Any help would be appreciated.
__________________
Reply With Quote
  #2  
Old 03-29-2010, 08:16 PM
ChaosSlayerZ's Avatar
ChaosSlayerZ
Demi-God
 
Join Date: Mar 2009
Location: Umm
Posts: 1,492
Default

basing off my experienced its based on npc id.

You have zone A, and npc B with id 1001, and a script attached to him.

If you spawns this npc in ANY other zone, where he doesn't have a default script for THAt zone, the script from zone A will trigger. (if it does have a separate script per zone, and still triggers wrong scripts- then I don't know what is wrong)

The BEST way to avoid this issue, is have similarly named npc in the other zone under different ID, and assign script to np ID rather than his name. (1002.pl instead of John.pl)

I may however be wrong on all accounts =)
Reply With Quote
  #3  
Old 03-29-2010, 10:03 PM
nenelan
Hill Giant
 
Join Date: Feb 2008
Posts: 116
Default

I have seen the same thing. It is rather confusing to say the least, as it is intermittent at best. Also there's issues trying to use default.pl, and I've also noticed that more than 500 quests active in one zone makes some just stop working or not work at all.

As ChaosSlayer said, make a new npc, and rather than A_Quest_Giver.pl, use the NPCID#.pl. Sometimes it will work with the name, but, it is not a guaranteed solution. If you MUST use names, add some numbers in the name, as that will distinguish it. Trakanon_1, Trakanon_2, #Trakanon. The underscore, the pound, and the numbers get parsed out in displaying, but it does signify a unique mob for scripts, and you won't get that nasty crossover.
Reply With Quote
  #4  
Old 03-30-2010, 03:01 AM
Lillu
Hill Giant
 
Join Date: Sep 2008
Posts: 204
Default

# and numbers are perfect ideas! Thanks
__________________
Reply With Quote
  #5  
Old 03-30-2010, 08:27 PM
Aeolwind
Fire Beetle
 
Join Date: Nov 2003
Posts: 9
Default

I'm going to assume you are using global variables for this. If that is the case you may want to use different variable values and have your watchers scan for specific values of said variable instead of the variable itself.

Does that make sense?
Reply With Quote
  #6  
Old 03-31-2010, 09:25 AM
Lillu
Hill Giant
 
Join Date: Sep 2008
Posts: 204
Default

No, the npc might spawn in zone A when another npc is killed or in zone B when a specific zone instance is booted up. The issue is what I described in my first post, but spawning a different npcid with the same name (with #) works perfectly as workaround.

Thanks for the replies.
__________________
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 01:36 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3