Log in

View Full Version : Seeking database help


Veltira
11-18-2015, 07:09 PM
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.

provocating
11-18-2015, 11:43 PM
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.

Veltira
11-19-2015, 01:46 AM
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!

provocating
11-19-2015, 08:32 AM
Are you compiling your own source?

Veltira
11-19-2015, 10:28 AM
yes i did, i.e. I did not use a repack

provocating
11-19-2015, 10:57 AM
My source will differ from yours, modified it some. But in your attack.cpp you will have a routine

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.

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.

SetEXP(0,0);

Cilraaz
11-19-2015, 01:04 PM
You want:

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)

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

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.

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.

Veltira
11-19-2015, 03:58 PM
My source will differ from yours, modified it some. But in your attack.cpp you will have a routine

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.

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.

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.

http://s18.postimg.org/nzalzkhft/code.png

provocating
11-19-2015, 04:01 PM
Are you doing this as a GM? Trying dying as a player.

Veltira
11-19-2015, 04:05 PM
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.

provocating
11-19-2015, 06:03 PM
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?

provocating
11-19-2015, 06:09 PM
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.

Veltira
11-19-2015, 06:37 PM
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.

provocating
11-19-2015, 06:55 PM
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.

Veltira
11-19-2015, 08:40 PM
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.

provocating
11-19-2015, 09:20 PM
Your welcome, glad I could help.