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.
|
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).
|
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. |
On this script as soon as you hail him he transferes you. I added a little bit to the top just so that it wouldnt instantly transfer if you accidentally hail him/her.
Code:
sub EVENT_SAY { |
This will make the doors in the Guild Lobby and Guild Hall functional. The global and instance are set for 18 hours.
\quests\guildlobby\player.pl Code:
sub EVENT_CLICKDOOR { Code:
sub EVENT_CLICKDOOR { |
While were talking about Guild Hall Instances and Guild Lobby zone doors,how about the recruitment boards and the non-fading buffs in guildlobby. I haven't been there in awhile but last time I went it seemed that when you clicked on one of the recruitment boards it would LD you. And Buffs wore off,in Live they actually have the same time the whole time you are in the zone. If you enter with 2 minutes and 5 seconds on a buff,the timer will not start decreasing until after you leave zone. And Ive seen people get the old message boards working on Original EQ projects,so I imagine it won't be to bad to get the recruitment boards workin. Anyone know if these things are still broken? If not I'll shut up lol.
|
Quote:
|
non-fading buffs is probably easiest done with a source modification when it does tic update event, have a condition to check for the zone and don't decrease timers if the zone matches. There are some spells that were excempt from this status though, would likely need a list of those.
I know, so helpful, I was going to look but busy with some other stuff. :) |
Removing Tic calculation based on the zone ID under a table would be definitely cool, especially for those who'd like them in their own hub zones.
|
All times are GMT -4. The time now is 04:54 PM. |
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.