Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Database/World Building

Development::Database/World Building World Building forum, dedicated to the EQEmu MySQL Database. Post partial/complete databases for spawns, items, etc.

Reply
 
Thread Tools Display Modes
  #1  
Old 12-01-2008, 04:20 PM
janusd
Sarnak
 
Join Date: Jan 2008
Posts: 47
Default

That's correct, Angelox. The first person in would determine the level range of mobs. One smart thing to do for power leveling was to get the highest to go in first. If you were farming smithing combine parts, you sent the lowest in first or if you were just farming instances you sent the lowest in first. I remember getting several groups as a 65 with a few 50's just so we could power through the instance and get the augment upgrade.

Spawning a dungeon based on character level would be easy enough and could even be managed with a PERL script. Just get $ulevel and then use a spawncondition to alter the dungeon.

As to the drops, certain drops were universal. Many of the trash or tradeskill drops were consistent across all level ranges and were a fairly reliable source of income for lower level players working their way through and selling that stuff to people working their smithing. I remember several mobs dropping similar level range items. For populating the mobs, you may end up looking to Magelo and Allakhazam and having to do a manual population, as much as that sucks.
Reply With Quote
  #2  
Old 12-01-2008, 09:07 PM
John Adams
Demi-God
 
Join Date: Jul 2006
Posts: 1,552
Default

I did a considerable amount of research into the emulator code and the live systems a while back (and as usual received not one bit of acknowledgement, just others taking over) including gathering most of the adventure text for the Adventure Recruiter and Raid Recruiters.

Since then, I can no longer get Adventure Recruiters or Merchants to even respond to me, so I am not sure what has changed. Still using the same client (titanium - raw), but the server has evolved considerably since then. In trying to review what I had discovered before, it reminded me how pissed off I am at being snubbed but I am happy if any effort is made by anyone to complete the LDoN system.
Reply With Quote
  #3  
Old 12-01-2008, 09:25 PM
Rocker8956
Hill Giant
 
Join Date: Sep 2007
Posts: 117
Default

Just thought I would throw my two cents in...

(instancing is in place, just takes a bit of scripting)

This should work for LDoNs
Have Adventure Merchant flag group with an instance flag when adventure is accepted

Have a invis npc inside LDoN zone that sets the spawn condition flag based on the first players level that zones in.

Have the same invis NPC pop the zone and trigger a timer when the first person zones in. When the timer is up have that same NPC boot everyone out.
Reply With Quote
  #4  
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
  #5  
Old 12-08-2008, 04:30 PM
John Adams
Demi-God
 
Join Date: Jul 2006
Posts: 1,552
Default

Quote:
Originally Posted by trevius View Post
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
Btw, if you ask my opinion, everything that exists currently should be scrapped and started over. The typos and odd capitalizations are enough to drive an OCD guy like me over the top.
Reply With Quote
  #6  
Old 12-08-2008, 06:22 PM
Kobaz
Hill Giant
 
Join Date: Nov 2008
Location: Gold Coast, Oz
Posts: 119
Default

A bit offtopic, but if things get a big change/rewrite, then perhaps Zone::map could be renamed to something else to ease building under recent gcc.

Here endeth the rant.
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 10:10 AM.


 

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