Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Feature Requests

Development::Feature Requests Post suggestions/feature requests here.

Reply
 
Thread Tools Display Modes
  #1  
Old 08-26-2008, 05:32 PM
Rocker8956
Hill Giant
 
Join Date: Sep 2007
Posts: 117
Default Zone Instancing

This was probably already asked, if so can someone point me to the correct post?
When a dynamic zone is first loaded is everything loaded into memory? Or does the server need to reference the zone’s database entry for pathing, spawns, loot table, etc?

I am asking because I think I may have a way to deal with zone instancing, such as LDoNs. But it I think for it to work all of the zone info would need to be loaded into memory.

Here is a summary of my initial thoughts for LDoN zone instancing. Sorry if it is hard to follow.

Database setup
LDoN Table fields - AccessFlagNum, MapName, uniqueZoneName, Timer, GroupID, FlagCount
Group LDoN Table fields - GroupID, AccessFlagNum, Char1ID, Char2ID, Char3ID,
Char4ID, Char5ID, Char6ID
(could add adventure objective fields later)

Player Requests LDoN
Server checks if player is leader
If No, rejects request
If Yes, server checks if group has 3 or more members
If No, rejects request
If Yes, server checks if any group member already has an access flag
If Yes, rejects request
If No,LDoN is offered

Group Leader accepts LDoN
AccessFlagNum created
Search LDoN.AccessFlagNum for first available flag number
Start at 01,
If 01 exists move to 02, etc…
If 01 does not exist, create 01
Entry made in LDoN Table and Group LDoN Table
Server checks which zone map to load for that LDoN
Server loads unique zone from map and access flag number
Zone is named by map name plus access flag number (mmca23)
Access flag given to leader and group for that zone


Player tries to zone into instance
Server checks flag to determine which zone to place player in
If no access flag exists it boots player back to previous zone, or a defualt zone
If access flag exists player is sent to zone based on access flag #

Player successfully zones into instance
Start timer

Player completes LDoN objectives
Zone timer set to 115 minutes

Player leaves adventure
Remove one from FlagCount

Zone stays active until
It has been active for 130 minutes or greater

Zone deactivates
Remove access flag from any marked with it
Remove LDoN Table and Group LDoN Table entry
Reset/remove timer

Last edited by Rocker8956; 08-27-2008 at 01:34 AM.. Reason: most of post was cut off
Reply With Quote
  #2  
Old 08-26-2008, 09:32 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

That sounds pretty good for how LDoN should work. But, zone instancing still doesn't work and there would need to be a way to get that working first.

I think you would need a separate timers table just for LDoN zones since you would have multiple instances running and each would need separate respawn timers unique to the instance. So you would probably need a way to track each instance. Maybe something like "zonesn##" or something, so the first instance of mira would be "mira01" and the second instance of guka would be "guka02" etc and it would be entered in the table. This name could be used to track which groups are in which instance number and also which spawn timers are being used for which instance as well.

There would need to be a way to boot multiple instances, which might be nice if it could be done with a quest command. Maybe something like "quest::bootinstance(zonesn,charid,timer,timeo ut)" could be used and an exampe of it being used might be "quest::bootinstance(mira,$userid,7200,120)" which would boot mira for the user who initialized the quest and the timer for the zone would be set for 2 hours to complete it and the timeout is 2 minutes, which is how long they have to enter the zone before it shuts itself down. Then, as long as the the leader of the group is the one that started the instance, everyone else in his/her group/raid should gain access to the zone. I imagine that some of the new group and raid tables could probably be used to help keep track of group members.

Another option for instancing might be to just adjust the the zones table to add in another field that will check if a zone is instance-able or not. If the zone is set for instances, then when a group zones into it, an instance is created just for their group/raid ID.

I am sure people would love to see LDoN implemented. I know there are plenty of things in it that still need work. Maybe with enough ideas some work can be started. At least with a rough outline on how to make them work, it gives something to go by.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #3  
Old 08-27-2008, 01:36 AM
ChaosSlayer
Demi-God
 
Join Date: May 2007
Posts: 1,032
Default

i want to point out that LDON has NEVER been instanced

at no point in time the same LDON zone was running at the same time for 2 different groups. The groups were simply sent to diffirent ldon zones

the only true instancing are sewer trials added in GoD and from there on

if you want to implement ldon like feature all you need is to set aside few zones which cannot be entered wihout help of quest npc, and a npc outside the zone which will hold a timer and prevent others from entering
Reply With Quote
  #4  
Old 08-27-2008, 01:58 AM
MNWatchdog
Hill Giant
 
Join Date: Feb 2006
Posts: 179
Default

You sure about that ChaosSlayer? I dont remember people lining up outside to get into a LDON which is what would certainly happen on a server with 3k people rushing to new content if multiple copies of LDONs werent instanced.

If things were not instanced, only like 5 groups would be able to do any particular LDON at a time and with them taking up to an hour each, there would certainly have been HUGE lines of people waiting to get in.
Reply With Quote
  #5  
Old 08-27-2008, 03:37 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Ya, I am almost 100% sure that LDoN was instanced. I did quite a few LDoNs after it first came out and I never remember having to wait even though tons of people were going in all of the time. I think they only had multiple versions of the zones so that there would be more variety so it didn't get quite as boring doing them over and over and over again.

I think PoTimeB was instanced too, at least for a while. But then I think they changed PoTimeB to just work as an event that was reset after X amount of time.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #6  
Old 08-27-2008, 06:38 AM
Flare83
Sarnak
 
Join Date: Aug 2008
Location: usa
Posts: 43
Default

PoTimeB was semi instanced at first, meaning only 1 time raid per server at a time. I remember setting up rotations with other guilds so we could all get a chance to raid.

After DoN was released i think they changed it to be fully instanced.
__________________
thenameless.site88.net
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:34 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