Go Back   EQEmulator Home > EQEmulator Forums > Quests > Quests::Custom

Quests::Custom Custom Quests here

Reply
 
Thread Tools Display Modes
  #1  
Old 08-31-2009, 10:33 PM
Shadow-Wolf
Dragon
 
Join Date: Oct 2003
Posts: 511
Default

Well there again I went speaking before confirming, using globals does appear to work with this, it seems it's ignoring the fact that the global exists cause it's still creating new instances.
__________________
How about the power to kill a yak from 200 yards away...WITH MIND BULLETS! thats telekinesis kyle.
Reply With Quote
  #2  
Old 08-31-2009, 10:45 PM
realityincarnate
Developer
 
Join Date: Dec 2007
Posts: 122
Default

Make sure that the npc you're using the script with has qglobals enabled in the database (set qglobal to 1 in the npc_types table).
Reply With Quote
  #3  
Old 08-31-2009, 11:29 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Also keep in mind that the script I posted is a complete script for making the guild hall function exactly the way that it should. It is just an example of how to handle creating guild instances in the first place. It would definitely require more work to make it function perfectly in all scenarios. For example; with that script, if you do a server restart, the global will still exist, but the instance will not as far as I know. So, you would need a way to remove the qglobal when the server is restarted or when no one is in the zone anymore.

It wouldn't be too hard to achieve that by using the player.pl to count all players in the zone when they zone out (EVENT_ZONE) and if none are left, have it delete the qglobal. Then, you would just need to also have a way to delete the qglobal after a server restart. You could do that by having a static zone on your server and having one of the spawns in there delete the qglobal in an EVENT_SPAWN. Or, you could just use durations on the qglobals or something like that.

I think probably the easier way would be to add a couple more quest commands for instances such as:

quest::AssignGuildToInstance(instanceid) Assigns a guild to an instance.
quest::IsInstance("zonename", instanceid) Boolean to check if a certain instance exists for a certain zone.

Also, it might not be bad to have an array list of all instances for any particular zone. Even better, might be just to have a way to create instanceIDs as whatever number you want. Then, you could just assign your guild to instanceID of $uguild_id, and then use quest::IsInstance to check if it exists before sending them there or creating a new one.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
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 04:17 AM.


 

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 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3