Go Back   EQEmulator Home > EQEmulator Forums > Support > Support::Windows Servers

Support::Windows Servers Support forum for Windows EQEMu users.

Reply
 
Thread Tools Display Modes
  #1  
Old 12-27-2014, 01:49 PM
provocating's Avatar
provocating
Demi-God
 
Join Date: Nov 2007
Posts: 2,175
Default A truly static zone

It is looking like the NPC's in a zone does not spawn until you actually enter the zone correct? Even if you set the zone to shutdowndelay zero and make the zone static instead of dynamic....ie zone butcher

I want to be able to have an NPC that checks static and spawns something even if no one is not in the zone for hours, days even. But if the zone eventually goes idle, I am guessing the NPC's despawn and those scripts no longer run?
Reply With Quote
  #2  
Old 12-27-2014, 05:40 PM
joligario's Avatar
joligario
Developer
 
Join Date: Mar 2003
Posts: 1,490
Default

If I remember right, the npcs are spawned, but "asleep". So no movement, quests, etc.
Reply With Quote
  #3  
Old 12-27-2014, 05:47 PM
provocating's Avatar
provocating
Demi-God
 
Join Date: Nov 2007
Posts: 2,175
Default

Arrggggg....

Okay, well I will make due. I definitely did not know this and since I had the zones so active they never went to sleep. Well I can do what I want with scripting but it will be more complicated.
Reply With Quote
  #4  
Old 01-04-2015, 03:38 PM
provocating's Avatar
provocating
Demi-God
 
Join Date: Nov 2007
Posts: 2,175
Default

Anyone know the area of the source that shuts the zone down when a player leaves? I would only do this for a few zones though.
Reply With Quote
  #5  
Old 01-04-2015, 04:59 PM
joligario's Avatar
joligario
Developer
 
Join Date: Mar 2003
Posts: 1,490
Default

Set those zones as dynamic zones with a short "keep alive" time.
Reply With Quote
  #6  
Old 01-04-2015, 05:28 PM
provocating's Avatar
provocating
Demi-God
 
Join Date: Nov 2007
Posts: 2,175
Default

Quote:
Originally Posted by joligario View Post
Set those zones as dynamic zones with a short "keep alive" time.
Could you explain that? I understood the Shutdown Delay to how many ms before the zone goes to sleep, that is when the last person leaves the zone. But even then in those zones, the NPC quit moving, although timers and such are still firing in the background.

I need a way to keep the NPC's moving even when there are no characters in the zone, but for less than 5 zones.

If I set the zones to something like 30000 instead of the default that would make the zones go to sleep in 30 seconds correct?
Reply With Quote
  #7  
Old 01-04-2015, 06:50 PM
joligario's Avatar
joligario
Developer
 
Join Date: Mar 2003
Posts: 1,490
Default

You asked to shut down a zone when a player leaves. The shutdown delay will shut down the zone, not put it to sleep except for however long the delay is. The static zone (or "still alive" zone) is what will go to sleep. I think you are right that it is in milliseconds.

As for the timers still running, I will have to test that. I was pretty sure those were all suspended as well. The spawn timers should be the only things that keep "running" although that isn't exactly how spawn timers work in the same sense.

What you are wanting to do has been discussed, tried, and failed several times (most specifically when trying to get the boats to run).
Reply With Quote
  #8  
Old 01-04-2015, 07:06 PM
provocating's Avatar
provocating
Demi-God
 
Join Date: Nov 2007
Posts: 2,175
Default

Quote:
Originally Posted by joligario View Post
You asked to shut down a zone when a player leaves. The shutdown delay will shut down the zone, not put it to sleep except for however long the delay is. The static zone (or "still alive" zone) is what will go to sleep. I think you are right that it is in milliseconds.

As for the timers still running, I will have to test that. I was pretty sure those were all suspended as well. The spawn timers should be the only things that keep "running" although that isn't exactly how spawn timers work in the same sense.

What you are wanting to do has been discussed, tried, and failed several times (most specifically when trying to get the boats to run).
Yes, sorry I had a typo, I indeed want the zones fully static and for that exact reason (boats).

Yes, the timers do run when the zone is empty. I have a timer on a static zone that no one has been in for 10 hours now, and the timer is still incrementing a global ever 10 seconds.

So can you elaborate just a small bit on what made it fail? I would rather not hit the same brick wall they did. I have all of my boats running very well except for the Maiden's Voyage and the only issue with it is specific timing issues that I can fix, but it would be a hell of a lot easier if the zones were completely static.
Reply With Quote
  #9  
Old 01-04-2015, 08:19 PM
joligario's Avatar
joligario
Developer
 
Join Date: Mar 2003
Posts: 1,490
Default

Interesting to note that timers are still running. The reason we have the zones go into sleep mode is to save on processor/memory. So, it would seem that we aren't completely suspended.

You can read the discussions on this board for a more elaborate discussion on the boats, but it mainly boiled down to the NPCs not moving/scripts not running.
Reply With Quote
  #10  
Old 01-04-2015, 09:36 PM
Zaela_S
Hill Giant
 
Join Date: Jun 2012
Posts: 216
Default

https://github.com/EQEmu/Server/blob...ntity.cpp#L488
Reply With Quote
  #11  
Old 01-04-2015, 10:02 PM
provocating's Avatar
provocating
Demi-God
 
Join Date: Nov 2007
Posts: 2,175
Default

Quote:
Originally Posted by Zaela_S View Post
Perfect, thanks man!
Reply With Quote
  #12  
Old 01-04-2015, 10:11 PM
ghanja's Avatar
ghanja
Dragon
 
Join Date: Aug 2012
Location: Hershey, PA
Posts: 499
Default

Quote:
Originally Posted by provocating View Post
Perfect, thanks man!
So have a 'shutdowndelay' of 86400000 (1 day in seconds) to make a dynamic zone a true static zone. Or..

https://github.com/EQEmu/Server/blob...features.h#L41

Code:
#define IDLE_WHEN_EMPTY
Comment this line ? It says uncomment in the comments. Although, if you uncomment it, it would define it, and if it's defined then if there are less than 1 clients, it will idle. Or am I viewing this logic a bit backwards?

Or we could really hack at it:

https://github.com/EQEmu/Server/blob...ntity.cpp#L489

Code:
if (numclients < 0)
?
Reply With Quote
  #13  
Old 01-04-2015, 10:16 PM
provocating's Avatar
provocating
Demi-God
 
Join Date: Nov 2007
Posts: 2,175
Default

Quote:
Originally Posted by ghanja View Post
So have a 'shutdowndelay' of 86400000 (1 day in seconds) to make a dynamic zone a true static zone.

?
That really does nothing.

You could do the same by making the zone static, by an entry in the database launcher table. The NPCs still go to sleep when idle, so that does nothing.
Reply With Quote
  #14  
Old 01-05-2015, 12:05 AM
ghanja's Avatar
ghanja
Dragon
 
Join Date: Aug 2012
Location: Hershey, PA
Posts: 499
Default

Quote:
Originally Posted by provocating View Post
That really does nothing.

You could do the same by making the zone static, by an entry in the database launcher table. The NPCs still go to sleep when idle, so that does nothing.
Right because the mob entity check is still made if there are any clients present.

Got that. Though, seems "uncomment this" should be "comment this". Or...
Reply With Quote
  #15  
Old 01-12-2015, 07:49 PM
iluvseq
Sarnak
 
Join Date: Aug 2009
Location: Somewhere
Posts: 53
Default

Yes, the 'uncomment this' should be 'comment this'.
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 07:55 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