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 07-19-2007, 12:14 PM
lanileb
Sarnak
 
Join Date: Jul 2007
Posts: 79
Default LDoNs and whatnot

I have a question. Would it be possible to make a custom LDON and have it actually work? I don't believe I know about coding yet to try this myself but I was thinking you could make a couple of zones with terragen/openzone and whatnot, one for each level bracket, like have LDoN1 (just reference names) for 10-19 LDoN2 for 20-29 and so on and it just takes the average level of the group or the highest group members level. So say the average level equaled 18 then everyone in the party within a certain range of the quest giver would all be ported into that LDoN. Only problem I would see is making it so each group would have it's own version. I'm sure if I played around enough with coding and everything I could get a rough draft of a code up for some people to play around with, I don't have enough time today but this weekend I'll try to work on it. Do you guys think it would be possible to do something like this though?
Reply With Quote
  #2  
Old 07-19-2007, 02:14 PM
x-scythe
Discordant
 
Join Date: Jun 2003
Posts: 449
Default

It would be yes.
You would use the quest system for this I believe, it wouldn't be hard at all.
Reply With Quote
  #3  
Old 07-19-2007, 04:35 PM
lanileb
Sarnak
 
Join Date: Jul 2007
Posts: 79
Default

That part I know wouldn't be hard at all, just write a quest script where it ports them to said zone. I was wondering though how you would write a script where it generates an instance of the zone so other groups can't rain on your parade and start killing in the same "instance."
Reply With Quote
  #4  
Old 07-19-2007, 05:08 PM
x-scythe
Discordant
 
Join Date: Jun 2003
Posts: 449
Default

I think you would have to have more than one of the same zone running on your server. So, depending on the size of your playerbase, you could end up having a lot of the same zones running. Unless you put in more than one ldon mission to spread out the playerbase a bit.
Or, so you don't have unneeded zones running if they aren't in use, set up a script to start the zone up if a new one is needed. I don't know how you would go about doing that though.
Reply With Quote
  #5  
Old 07-19-2007, 08:32 PM
John Adams
Demi-God
 
Join Date: Jul 2006
Posts: 1,552
Default

I actually have not seen zone instancing work yet. Is it really as simple as booting copies of the same zone name? For some reason, I didn't think that'd work. Color me skeptical.

If LDoNs worked, that would kick ass. A server could really support lower player populations if they had something more to do than kill repeatedly on orc highway.
Reply With Quote
  #6  
Old 07-19-2007, 10:02 PM
lanileb
Sarnak
 
Join Date: Jul 2007
Posts: 79
Default

yea, was wondering if there is a way to set up a script where its like IF zonenamehere < 1player send to X zone server or something like that...again I wouldn't know how to set up a script like that though..wouldn't even know where to begin.
Reply With Quote
  #7  
Old 08-31-2007, 12:21 PM
sfisque
Hill Giant
 
Join Date: Oct 2006
Posts: 248
Default

this is already handled by the zone files. if you look at the zone files, there are 8 of each, labeled "zone_name"a through "zone_name"h. basically, a group would get one of the eight zones depending on which was available, that zone would have mobs spawned that were level appropriate, and the players would be flagged somehow so that when they hit the door, the server would zone them into the correct zone, aka taka or takc ("tak" being the zone and "a" or "c" being the instance).

so the only tricky part would be the door handler code (if you went the "exactly like Live" route) unless you went the "quest npc teleports the group" route.

== sfisque
Reply With Quote
  #8  
Old 08-31-2007, 04:35 PM
John Adams
Demi-God
 
Join Date: Jul 2006
Posts: 1,552
Default

Hmm, so the LDoN missions given out doesn't really "instance" an LDoN zone on live, but uses up to 8 zones only? What happens on the 9th group wanting to do Tak LDoNs, do they get denied?

I thought true instancing was what we were talking about, but you may be right. Or, that would be a quick way to handle it here on Emu anyway. No way 9 groups at once will storm one type of LDoN.

I have been working on this LDoN stuff for some time, but hit a wall on the PlayerProfile packet not holding the adventure ID. Since the only way to get help was to sit on IRC until I got kicked off for inactivity, I gave up. But my next concern in line after the interface was - how do you tell taka to spawn level 20-70 mobs? So I started thinking of spawn "conditions", and some script that determines the average level of a group and uses that condition, which will spawn the appropriate set of mobs. This of course means each LDoN zone would need 6 different level scales of 20 or so unique mobs plus bosses, plus loots. I almost blew my head off trying to work it all out.
Reply With Quote
  #9  
Old 08-31-2007, 05:34 PM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

Sorry I was little help John.. just didn't know, perhaps we can revisit it later. =x

The fact that we have no instancing is probably one of the biggest obstacles to real LDoNs... and there's quite a bit of work to get the server to support them.
Reply With Quote
  #10  
Old 08-31-2007, 07:48 PM
sfisque
Hill Giant
 
Join Date: Oct 2006
Posts: 248
Default

Quote:
Originally Posted by John Adams View Post
Hmm, so the LDoN missions given out doesn't really "instance" an LDoN zone on live, but uses up to 8 zones only? What happens on the 9th group wanting to do Tak LDoNs, do they get denied?

I thought true instancing was what we were talking about, but you may be right. Or, that would be a quick way to handle it here on Emu anyway. No way 9 groups at once will storm one type of LDoN.

I have been working on this LDoN stuff for some time, but hit a wall on the PlayerProfile packet not holding the adventure ID. Since the only way to get help was to sit on IRC until I got kicked off for inactivity, I gave up. But my next concern in line after the interface was - how do you tell taka to spawn level 20-70 mobs? So I started thinking of spawn "conditions", and some script that determines the average level of a group and uses that condition, which will spawn the appropriate set of mobs. This of course means each LDoN zone would need 6 different level scales of 20 or so unique mobs plus bosses, plus loots. I almost blew my head off trying to work it all out.
you could just have an invisible npc that spawns the zone, adding dynamic mobs when a proximity detector goes off (aka the group zones in). then the spawns could be done cookie cutter (which IIRC) was pretty much what the ldons were, you had 90% cookie cutter spawns and a handful of mini-bosses/boss mobs

== sfisque
Reply With Quote
  #11  
Old 09-01-2007, 01:19 AM
John Adams
Demi-God
 
Join Date: Jul 2006
Posts: 1,552
Default

Quote:
Originally Posted by KLS View Post
Sorry I was little help John.. just didn't know, perhaps we can revisit it later. =x
That was not a slap at you nor FNW at all. It's just that if I am told the only way to resolve things is IRC, it would be nice for that to actually work. All I am after is more functionality for the Emu.

As for instancing, I know it in practice is not supported, but in theory? Maybe it could happen by spawning the same zone twice - static? I haven't really tried on purpose. But accidentally, I did end up 2 toons in the same zone, running twice.
Reply With Quote
  #12  
Old 09-01-2007, 01:29 AM
sfisque
Hill Giant
 
Join Date: Oct 2006
Posts: 248
Default

i'm curious though, if anyone has code that makes the adventure recruiter respond to clicking, or do we have to replicate the clicky functionality via quest scripting?

i'm cobbling together the adventure stone quest and i'll be posting it soon.

i'd guess we'll have to put the special code in for special ldon items (like the stone) that gain functionality only when you're inside an "ldon" zone, as well as the item purchasing system for ldon merchants.

i know the merchants respond to right clicks, but they dont populate items yet (but not sure if thats a limitation of the peq db or the support code, i'll have to dig deeper).

== sfisque
Reply With Quote
  #13  
Old 09-01-2007, 01:59 AM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

Quote:
Originally Posted by John Adams View Post
As for instancing, I know it in practice is not supported, but in theory? Maybe it could happen by spawning the same zone twice - static? I haven't really tried on purpose. But accidentally, I did end up 2 toons in the same zone, running twice.
First of all I didn't mean to make you feel bad, I just wish I could have helped. And yeah from what I heard john had the recruiter click opcode but was having the zone crash somewhere along in the process.. I didn't have his code though. (I really should have asked for a diff)

In theory we could create 2 exact same versions of the same zone but.. database nor zoning code is really setup for true instancing.

I think in terms of doors/stones zoning you into the correct zone/instance.. the most logical solution to me would be to add limited object quests. Something like a small quest that responds to EVENT_USE or EVENT_CLICK or something. Would be useful elsewhere too.. (like that door at the bottom of the hole when clicked is supposed to aggro mobs nearby, which isn't possible without such functionality).

Would be doable with current functionality I guess with translocater NPCs though.

In terms of charms/changing items I'm not sure exactly how that would be handled, would have to be some kind of scripting for sure.
Reply With Quote
  #14  
Old 09-02-2007, 01:57 AM
John Adams
Demi-God
 
Join Date: Jul 2006
Posts: 1,552
Default

Quote:
Originally Posted by sfisque View Post
i'm curious though, if anyone has code that makes the adventure recruiter respond to clicking, or do we have to replicate the clicky functionality via quest scripting?
Check out a post I made about PlayerProfile_Struct. That's where my info is on the opcodes, and I am finding more every day. Problem now is, there is no code to support it (unhandled opcode).

As far as I got with it was pretty much right at the beginning. Without the location of the pp.adventure_id in the player packet, all of Cofrubens original LDoN work is useless. That's THE first thing you need when you click on the adventure recruiter. Hence, my frustration at being shut down before I could really begin. So instead, I've started building the `adventure` and `adventure_text` tables for the LDoNs themselves. Once I complete them, I will gladly post them.

sfisque, look in client.cpp for "Client::SendAdventureRequest()". This is where it all begins when you right-click Adventure Merchant (race 61 I believe). With the opcode in place in your patch_Titanium.conf file, you should get the window. When you then click Request Adventure (or whatever it is) you'll always see "No adventure available" since it always returns 'false' for anything available.

OP_AdventureRequest=0x43fd (just went digging for it )

Plus, it's a total bitch to replicate since you have to log in 3 chars to make a group or the npc won't even talk to you.
Reply With Quote
Reply

Thread Tools
Display Modes

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:46 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