View Single Post
  #15  
Old 12-01-2008, 11:12 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

LOL, it looks like you got quite a reaming from the LDoN haters in that other thread. I personally don't see a point in arguing which code deserves attention and which doesn't. The devs will decide to work on what they want to work on and what they feel deserves attention. All systems, liked or not, should be working in the emu for it to be considered fully functional. LDoN has it's good and bad points, but I think it is a major system in EQ that holds big value to the emulator. I would personally love to use the system for custom purposes. Being able to make custom LDoNs and probably use some non-LDoN zones for adventures could turn out really nice. At the very least it adds more variety, which I think is a huge factor in keeping people from getting bored.

You shouldn't get too upset over the acknowledgment (or lack there of) of your research in LDoNs. People work on what they feel like working on and you can't expect others to jump right into something that you might have been personally looking into. I have ran into this many times. But, normally at some point, someone else will find interest in the area and the ball starts rolling on it again. I think the same goes for everyone and everything around here. I have found plenty of posts that I ignored at some point because it wasn't something I was involved with at the time. Then, later I found myself involved in it and revived the previous person's work on it. Luckily, I look into enough things around here now that a good portion of the things I work on peak someone's interest to help with them. But, that certainly isn't always the case lol. Either way, there seems to be alot of involvement around here these days, so I think it is more likely that at least someone will help out. I don't know if you were looking for some other kind of acknowledgment for the research though. We don't have anything formal for that, only credit for actual code updates that go into the source.

You mentioned merchant and recruiter text, but I didn't see any of that reference in the post you linked. Is there somewhere else that you might have posted those? It helps to keep everything organized.

As for getting LDoN Adventures working, it does seem like most of the code is already there. I wish I knew what the roadblock is currently, or what they are if there are multiple. I think it would help if we knew what was being done by Wildcardx and others on PEQ. I would think that they would just put the code they are working on into the SVN so they don't have to re-add it every time they update, but I am not sure if any of the stuff they have been working on has been added. The last I heard about work on LDoN was from Cavedude a couple months ago in a PM when he said that Wildcardx was still working on it and that it should be getting close to being done.

It sounds like we just need a few tables, maybe a couple opcodes, structs, and offsets for it to work. There probably isn't really that much missing right now. Once we are able to accept an adventure, I think most of the rest will be fairly easy. I have a system on my server that already works similar to LDoN, accept it uses a ton of quest globals and works purely from scripts. It is still missing a couple of features, but for the most part, it seems to work pretty well. I am fairly confident that I could help get some of LDoN working once accepting an adventure actually works.

It would be nice if there was an open discussion from the devs for working on this and brainstorming together to get it implemented and finalized. I am sure between the core devs right now, it wouldn't take long to iron out the kinks.

One thing I wanted to mention that might be interesting for LDoNs is that we should be able to use the new quest::modifynpcstats() command that KLS made to scale the entire zone to any level of player/group. I have actually been waiting for LDoN to attempt scaling a whole zone that way. The only issue other than that would be doing loot in a scaled zone. We have the option of using the quest::addloot() command, but that might get a little too confusing, trying to make multiple loot tables for multiple NPC levels. I am pretty sure condition events would work fine for making LDoNs with various levels. I actually updated the Wiki on spawn events and conditions just the other day to have a good amount more info than before. But, I think scaling using the command KLS made would make spawning these zones much easier. It would be nice if there was a way to switch the loot table of an NPC. Like, maybe something as simple as a command to change the loot table (if that is even possible) in real time to another loot table ID. Then, while you are scaling the zone, you also switch the loot tables at the same time. I know loot table changes require a reboot, so I am not sure if they are somehow loaded into memory like the items table. If so, then that probably isn't an option, but it would be cool if it was possible to change them.

Another idea for spawning LDoNs would be to use a combination of systems. At least one new command would have to be created for it to work though. Basically, you would spawn the entire zone with the layout and pathing and everything (other than loot) that you want it to have. Then, you would use a script that scales the entire zone using the quest::modifynpcstats, which would adjust the levels, hps, min/max hits, resists, etc for all NPCs in the zone. It could probably just use some type of multiplier. I could write that script myself pretty easily (and maybe it could even be changed into a #command that would let you #modifynpcstats on all NPCs in the zone #modallnpcstats or something). Then, once your zone is scaled down with the temporary values, we would use the new command that I mentioned would need to be created for this. Basically, the new command would create new npc_type/spawn2/etc entries for every spawn in the zone. This same scaling and create copy could be done for each needed level range. Then, you just use conditionals to decide which spawn template you want to use. Though, it would definitely make adding single spawns, or changing any spawn pretty rough, so you would need to make sure your zone was finalized before you started the scaling work. Last, you would just add the loot tables to the various versions of the zone.

Probably the simplest solution would be having someone make a tool that can easily make copies of a full zone and sort and scale the different versions quickly and easily. It could even setup the conditionals automatically. It might be useful if we are going to have multiple copies of NPCs, to make a new Notes field in the NPC_types table to use for tracking which spawns are for which scenario/level range.

On the timers that Rocker8956 was talking about, I don't think it will be hard to handle those. We will almost certainly need to use the quest globals for that though. Trying to have an NPC track the timer won't work well if the zone crashes, or if the group wipes and the zone drops for any reason. I have a good timer tracking system that works across zones already on my server. It is somewhat complex, but I think I could simplify it considerably if the rest of LDoN was working as it should. Either that, or we can just create a new system for tracking LDoN timers if needed. But, the qglobals should work really well as far as I have seen. I don't think timers is much to worry about at this time. If we need a solution for them, I can come up with a solid one quickly.

I imagine that it won't be too long before someone finally gets LDoNs working. I am definitely interested in helping out if there is something I can work on for it. Mostly, I just need to know where it stands at this point, because there is alot of code in there already and without knowing what works and what doesn't it is hard to work on it :P
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!

Last edited by trevius; 12-02-2008 at 07:18 AM..
Reply With Quote