Go Back   EQEmulator Home > EQEmulator Forums > General > General::General Discussion

General::General Discussion General discussion about EverQuest(tm), EQEMu, and related topics.
Do not post support topics here.

Reply
 
Thread Tools Display Modes
  #1  
Old 12-17-2007, 09:56 AM
meshershark
Fire Beetle
 
Join Date: Dec 2007
Posts: 9
Question Question on customizability of EQEmu

I've got EQEmu up and running, with build 992 (so I can do EQoffline bots) and the latest PEQ and MiniLogin.

My question is, how much of my EQ experience can I customize without having to modify the EQEmu source and recompile (something I'm not quite enough of a programmer to do at this point). I can see tables in the PEQ database like Variables and Rules, but what do they do? The only Variable entry I have is one I created for MiniLogin.

For instance, if I wanted to tweak things like Health and Mana regen rates, or how much damage Monk hand-to-hand does, or how much HP a character has as it levels, are those things I can do via the database or nonbinary files? I'm comfortable running MySQL commands and manually modifying tables, but I've barely dabbled in C++. I've looked around the PEQ tables but I don't see things like I mentioned above exposed in those tables. And I haven't seen any documentation on how or if I can use tables like Variables and Rules to do that kind of thing.

Basically I'm looking to experiment in ways to make the game more solo-friendly without resorting to the #invul command. I already know how to do something like modify the npc_types table to lower mob HP, but it would be nice to affect things at the character level too. I've seen the GM commands to set skill values, but I haven't seen any commands to set stat values or HP/Mana (I assumed because those two are derived values). And I've certainly never seen commands to modify regen rates or anything like that.
Reply With Quote
  #2  
Old 12-17-2007, 10:40 AM
Secrets's Avatar
Secrets
Demi-God
 
Join Date: May 2007
Location: b
Posts: 1,449
Default

Quote:
Originally Posted by meshershark View Post
I've got EQEmu up and running, with build 992 (so I can do EQoffline bots) and the latest PEQ and MiniLogin.

My question is, how much of my EQ experience can I customize without having to modify the EQEmu source and recompile (something I'm not quite enough of a programmer to do at this point). I can see tables in the PEQ database like Variables and Rules, but what do they do? The only Variable entry I have is one I created for MiniLogin.

For instance, if I wanted to tweak things like Health and Mana regen rates, or how much damage Monk hand-to-hand does, or how much HP a character has as it levels, are those things I can do via the database or nonbinary files? I'm comfortable running MySQL commands and manually modifying tables, but I've barely dabbled in C++. I've looked around the PEQ tables but I don't see things like I mentioned above exposed in those tables. And I haven't seen any documentation on how or if I can use tables like Variables and Rules to do that kind of thing.

Basically I'm looking to experiment in ways to make the game more solo-friendly without resorting to the #invul command. I already know how to do something like modify the npc_types table to lower mob HP, but it would be nice to affect things at the character level too. I've seen the GM commands to set skill values, but I haven't seen any commands to set stat values or HP/Mana (I assumed because those two are derived values). And I've certainly never seen commands to modify regen rates or anything like that.
Few things you can do.

1) Binary changes. You can put cases for certain classes, you can put slashing attacks on a whole different formula than say piercing attacks, or you can redo existing formulas.

2) Zone changes. You can use navicat and #npcstats to change every mob in the game by hand, or run queries to update by range of damage, adjust level of all mobs, etc.

3) Item changes. This fits in with the above, but I give it a seperate section because items are not zones. Different items obviously give a different rate + custom-feel of playing.

4) Quests. They add depth and can be changed nearly at will. What you use them for is up to you... Event mob scripts, conversation with the locals... it's all up to you.

The best place to start to learn how to change most of these would be messing around with the binaries, reading the wiki, and simply 'cause and effecting' it in game with actual players testing the content, whether it be your friends, yourself, or the general public.

Once you get a feel for what CAN be changed, the possibilties are endless.
Reply With Quote
  #3  
Old 12-17-2007, 11:07 AM
meshershark
Fire Beetle
 
Join Date: Dec 2007
Posts: 9
Default

Thanks. When you say "Binary changes" what are you talking about? Modifying C++ source code and recompiling or using a hex editor? As I said, I'm not comfortable with doing C++. However, I've used a hex editor before, so I wouldn't be totally opposed to that if I had clear instructions. Still, what I'm really wanting to know is what I can do by just using the database or modifying text config files. Is there any documentation on doing any of that for EQEmu? Another thread here seemed to indicate that it was pretty much up to me to download the source code and figure it out.

I can see by looking at the tables how to do things like 2) and 3) that you mention. I regularly use Navicat to look at the PEQ database and browse around. I'm handy with SQL queries, so I can gather data and I even did some minor updates (tried out lowering mob HP).

As for quests, I'm not so worried about that right now, unless I run into some bugs. My understanding is that the quests are Perl based; I've used Perl in the past, but I'm pretty rusty now.

Since I originally posted, I've checked the PEQ forums and I saw that in the CVS download of the db there is more data. I already had that download, even though I used the newest Ykesha/PoP db I got from the web site. I can see in the "rules_values.sql" from the CVS download that there are some things like HP and Mana regen I can play around with, so I'll try that.

I now realize that it might have been better to start in the PEQ forums since my questions are more database focused that EQEmu focused, but I know many people frequent both forums, so I'll leave this here and try the other forum if I don't get much response here.
Reply With Quote
  #4  
Old 12-17-2007, 11:38 AM
Theeper
Discordant
 
Join Date: May 2004
Posts: 290
Default

The variables table has serverwide configuration stuff, some of which is deprecated. It's pretty self explanatory what each value does. The Rules system is relatively new and replaces some of the functionality of the 'variables'. Ultimately, I think the plan is that rules will be dynamically loadable on a per-zone basis and rules will overwrite variable values. Right now, I think rules are still global. But, you can make multiple rulesets and easily switch between them using a row in the variables table.

If you load up the default rules, it should contain most of what is available ATM.

The majority of the math for things like combat formulas happens in the code and can only be modified by editing the source and recompiling, but some of the values can be changed in the rule_values or variables tables .. like Combat::WarBerBaseCritChance. Some things are client side and cannot be changed at all.

You can change any thing you see in the database with whatever editor you use. Some things, like a player's HP are in the DB, but they are in binary form and require some programming knowledge and a ton of time to edit. The player 'profile' stuff is stored as an array of hundreds of binary data elements. You'd have to break it into it's components, then convert it to something human readable. Editing things like AA is very difficult until someone comes up with a good tool for it.
Reply With Quote
  #5  
Old 12-17-2007, 01:27 PM
Diuretic
Sarnak
 
Join Date: Oct 2007
Posts: 30
Default

Aye, you've asked a pretty general question, and the answers are spot-on.

You can do a lot of customization in SQL, pretty much all items and mobs. If you want to change the core mechanics of the game, not content (see above), then you're probably going to start needing to dabble in C++. Fortunately, the code's pretty well-documented (IMHO), and we all have to jump in some time. But before you do any of the source mods, consider getting your feet wet with items, mobs, and zones; i.e, the content before the laws of the universe.

And all of this should come after you check out the wiki's decent documentation of the rules and variables options. They're separate tables where the variables system is gradually being replaced by the rules architecture, but both seem to sort of apply, so you should probably get cool with knowing what both can do.

When you can master the variables/rules, the mobs, spawning, and items, then you're ready for source code b/c you'll have no other choice to do what you want to get done. Before that point, though, you're probably putting the cart before the horse.

I say all of this b/c I've only just know begun to realize what I can't do after 3 months of enthusiastic modding. I'm still pretty much ok customizing the DB and pretending I was Angelox or CaveDude from about 3 years ago.

Anyway, good luck!

D.
Reply With Quote
  #6  
Old 12-17-2007, 02:28 PM
meshershark
Fire Beetle
 
Join Date: Dec 2007
Posts: 9
Default

Thanks for the replies.

I've sourced the variables and rule sets and rule values sql files from the PEQ CVS download to add the contents (I removed the lines that did anything else so they wouldn't wipe the tables, even though most of the tables were empty).

At least some of the Variables are working, because I now see the MOTD, and I customized it and I see my version. I can't tell if the Rules are working. I tried changing the HP and Mana regen multipliers but I can't see a difference in game. It's like those values are being ignored. The HP regen in game is very slow (even before I loaded those values), and does a strange backstep where I'll gain 6 hp then lose 4 in the subsequent tick (and no, even though it's a necro, he's not using the hp-to-mana spell).

Is there anywhere that definitively says which variables are used and which are no longer valid and which rule values are used and not ignored?

I've looked at the EQEmu and ProjectEQ wikis/wikkas, but I haven't seen any detail on how to use the variables and rules tables. I can find the schema, but that doesn't tell me anything I can't already see with Navicat. Am I not looking in the right place? I using the links http://www.projecteq.net/wikka/HomePage and http://www.eqemulator.net/wiki/wikka.php?wakka=HomePage which I've seen in forum threads.

Last edited by meshershark; 12-17-2007 at 10:30 PM..
Reply With Quote
  #7  
Old 12-18-2007, 02:28 AM
Diuretic
Sarnak
 
Join Date: Oct 2007
Posts: 30
Default Wiki sources

I was referring to http://www.eqemulator.net/wiki/wikka.php?wakka=ServerVariables for the variables table and http://www.eqemulator.net/wiki/wikka...ka=ServerRules
for the rules pages.

But you're asking a great question. The documentation of setting dominance or migration from one system to the other is lacking and usually must be3 searched for on an issue-by-issue basis in the forums.

A patient man, I trust the wiki links above will get updated eventually.
Reply With Quote
  #8  
Old 12-18-2007, 04:05 AM
meshershark
Fire Beetle
 
Join Date: Dec 2007
Posts: 9
Default

Ah, thanks for those links. I couldn't find those looking through the EQEmu site for some reason. They really help.

I figured out why the Rules weren't working. I overlooked that the insert command I copied used ruleset_id 2 in rule_sets but the command I copied to insert the rule_values used ruleset_id 0. I changed the 2 to a 0 in rule_sets and now the rules seem to be working. In hindsight it seems obvious those need to match; I just didn't catch it because I copied both commands from the PEQ CVS sql files and assumed they were correct.

Now I can play with enhanced HP and Mana regen, so I can solo well without using #invul (which I hated resorting to). Since crowd control spells and abilites are iffy in EQEmu/PEQ, I felt I needed a boost to make it truly solo-friendly. The upped regen will help in tough fights and also reduce downtime (which was tolerable when grouping with real people but just tedious when soloing). I also lowered mob HP across the board to make fights shorter but not so short that I miss skillups or lose the feeling of truly engaging in battle (versus wading through paper targets like a god).
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 11:47 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 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3