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 11-18-2015, 07:09 PM
Veltira
Sarnak
 
Join Date: Jan 2015
Posts: 44
Default Seeking database help

I recently got a server up and running and I am seeking a little help. If you have experience with editing a peq database and would like to help with this initial setup I would be eternally grateful. Send me a PM with your info or skype or something and hopefully we can get together. Thanks in advance!

Things I am looking to fix:

I would like to bring the server down to just classic, including classes, races, and disabling of expansions. I would like to fix an xp bonus on the server for each player to create a better environment for soloing. I would like to fix a hardcore death penalty on to the server wherein each death results in loss of character levels, loot, and bank. I would like to disable luclin models by default. Just a few ideas. I am very excited, I have the time and resources to put this as a priority in my life I just need a database genius out there!

-

You might ask yourself, "Why this type of server?". I have played on the Red PVP server of P99 for a few years and it is a blast, I have learned so much about what works and what doesn't. A few months ago the P99 staff discussed opening a server like this and the hype train began. Some months later we are met with disappointing news that it is delayed indefinitely. The idea was great, theres a model for success in that live eq did this once; and more than that there are 50-100 people on the forums begging for a discord server to be released.

As for Staff I am managing the project, I will handle the financial and maintenance side of things. I already have a "Head GM" with a ton of experience and I have known him for 15 years so I trust him. We are in need of this third part to our trifecta, the database guy. These changes aren't that hard, I've already made a few of them myself; but I need a person that knows what they are doing and can do these things with certainty they wont break the system, something I cannot promise.
Reply With Quote
  #2  
Old 11-18-2015, 11:43 PM
provocating's Avatar
provocating
Demi-God
 
Join Date: Nov 2007
Posts: 2,175
Default

Many of the things you will want to do can be done with tools. It really depends on how far down the rabbit hole you want to go.
Reply With Quote
  #3  
Old 11-19-2015, 01:46 AM
Veltira
Sarnak
 
Join Date: Jan 2015
Posts: 44
Default

Well i got a great deal of it done on my own with just research so that's great! Something I haven't figured out yet is how to make people lose all their exp down to level 1 when they die. I've manipulated the Character:deathexplossmultiplier value with seemingly no effect and I definitely have Character:usedeathexpmultiplier on. Any help would be greatly appreciated!
Reply With Quote
  #4  
Old 11-19-2015, 08:32 AM
provocating's Avatar
provocating
Demi-God
 
Join Date: Nov 2007
Posts: 2,175
Default

Are you compiling your own source?
Reply With Quote
  #5  
Old 11-19-2015, 10:28 AM
Veltira
Sarnak
 
Join Date: Jan 2015
Posts: 44
Default

yes i did, i.e. I did not use a repack
Reply With Quote
  #6  
Old 11-19-2015, 10:57 AM
provocating's Avatar
provocating
Demi-God
 
Join Date: Nov 2007
Posts: 2,175
Default

My source will differ from yours, modified it some. But in your attack.cpp you will have a routine

Code:
bool Client::Attack(Mob* other, int Hand, bool bRiposte, bool IsStrikethrough, bool IsFromSpell, ExtraAttackOptions *opts)
Look somewhere around line 1500~1600 and you will see this.

Code:
	if(!GetGM())
	{
		if(exploss > 0) {
			int32 newexp = GetEXP();

			if(exploss > newexp) {
				//lost more than we have... wtf..
				newexp = 1;
			} else {
				newexp -= exploss;
			}

			SetEXP(newexp, GetAAXP());
			//m_epp.perAA = 0;	//reset to no AA exp on death.
		}
I would think you could change the one line to read something like this.

Code:
SetEXP(0,0);
Reply With Quote
  #7  
Old 11-19-2015, 01:04 PM
Cilraaz
Sarnak
 
Join Date: Mar 2010
Posts: 77
Default

You want:

Quote:
Originally Posted by Veltira View Post
I would like to bring the server down to just classic, including classes, races, and disabling of expansions.
- Set the rule World:UseClientBasedExpansionSettings to false
- Set the rule World:ExpansionSettings to 0 (zero)

Quote:
Originally Posted by Veltira View Post
I would like to fix an xp bonus on the server for each player to create a better environment for soloing.
- Set the rule Character:ExpMultiplier to an appropriate value

Quote:
Originally Posted by Veltira View Post
I would like to fix a hardcore death penalty on to the server wherein each death results in loss of character levels, loot, and bank.
You can use the code mentioned by provocating to reset the character's level to 1 with zero experience gained. Removing gear, bank items, etc could be done via a perl script, most likely.

Quote:
Originally Posted by Veltira View Post
I would like to disable luclin models by default.
Short of using something like P99's dll to check a player's GlobalLoad, you won't be able to do this. Models are determined client side.
Reply With Quote
  #8  
Old 11-19-2015, 03:58 PM
Veltira
Sarnak
 
Join Date: Jan 2015
Posts: 44
Default

Quote:
Originally Posted by provocating View Post
My source will differ from yours, modified it some. But in your attack.cpp you will have a routine

Code:
bool Client::Attack(Mob* other, int Hand, bool bRiposte, bool IsStrikethrough, bool IsFromSpell, ExtraAttackOptions *opts)
Look somewhere around line 1500~1600 and you will see this.

Code:
	if(!GetGM())
	{
		if(exploss > 0) {
			int32 newexp = GetEXP();

			if(exploss > newexp) {
				//lost more than we have... wtf..
				newexp = 1;
			} else {
				newexp -= exploss;
			}

			SetEXP(newexp, GetAAXP());
			//m_epp.perAA = 0;	//reset to no AA exp on death.
		}
I would think you could change the one line to read something like this.

Code:
SetEXP(0,0);
Thanks so much for your help! I tried this and it doesnt seem to be working, below I will post a screencap of my code.

Reply With Quote
  #9  
Old 11-19-2015, 04:01 PM
provocating's Avatar
provocating
Demi-God
 
Join Date: Nov 2007
Posts: 2,175
Default

Are you doing this as a GM? Trying dying as a player.
Reply With Quote
  #10  
Old 11-19-2015, 04:05 PM
Veltira
Sarnak
 
Join Date: Jan 2015
Posts: 44
Default

i turned #gm off if thats what you mean. Do i also need to revoke status 250 on said account? Thanks again for the continued support!

Edit: So I tried this with a normal player who was nice enough to help me test it out. He lost only the normal amount of exp.
Reply With Quote
  #11  
Old 11-19-2015, 06:03 PM
provocating's Avatar
provocating
Demi-God
 
Join Date: Nov 2007
Posts: 2,175
Default

Okay, I will try to look at it tonight or in the morning. Sounds like it is not hitting that routine. Your positive you copied your new binary over before you tested?
Reply With Quote
  #12  
Old 11-19-2015, 06:09 PM
provocating's Avatar
provocating
Demi-God
 
Join Date: Nov 2007
Posts: 2,175
Default

I guess no better time than the present. I made the changed, rebooted and ran my player to Kael and into a pack of giants. I went from level 44 to level 1, so working.

You must be either trying to kill each other player to player or you have a rule off.
Reply With Quote
  #13  
Old 11-19-2015, 06:37 PM
Veltira
Sarnak
 
Join Date: Jan 2015
Posts: 44
Default

Quote:
Originally Posted by provocating View Post
Okay, I will try to look at it tonight or in the morning. Sounds like it is not hitting that routine. Your positive you copied your new binary over before you tested?
I did not copy the new binary over, i think im confused exactly what that means. do you mean rebuilding the files with visual studio and copying them over? Im certain this is my problem, please excuse my newness to this process and thank you for your tireless help.
Reply With Quote
  #14  
Old 11-19-2015, 06:55 PM
provocating's Avatar
provocating
Demi-God
 
Join Date: Nov 2007
Posts: 2,175
Default

Quote:
Originally Posted by Veltira View Post
I did not copy the new binary over, i think im confused exactly what that means. do you mean rebuilding the files with visual studio and copying them over? Im certain this is my problem, please excuse my newness to this process and thank you for your tireless help.
Yes, that is exactly what you need to do, then it will work.
Reply With Quote
  #15  
Old 11-19-2015, 08:40 PM
Veltira
Sarnak
 
Join Date: Jan 2015
Posts: 44
Default

Quote:
Originally Posted by provocating View Post
Yes, that is exactly what you need to do, then it will work.
You are absolutely amazing! Thank you so much! I feel like I just learned a lot too. Okay so i'm halfway to making a discord server since you lose your levels upon death, thanks to your help. Now I need to figure out the following:

How to turn pvp on. (im sure some research will explain this)
How to turn the dying down to level 1 on for pvp.
How to have each dead player leave a lootable corpse behind for the person that killed them.
how to clear a players bank once they die.
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 07:35 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