EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Archive::Tutorials/Howto's (https://www.eqemulator.org/forums/forumdisplay.php?f=619)
-   -   HOWTO: Change the maximum level people can reach (https://www.eqemulator.org/forums/showthread.php?t=13688)

NarutoLegacy 05-10-2004 12:40 PM

HOWTO: Change the maximum level people can reach
 
Changing the max level

1. Download the latest source at http://cvs.biosprite.net/

2. Go into zone/client.cpp and use the find tool to find 66, then replace it with the maximum level you want + 1. So if I wanted 80 to be my maximum level I would put 81.

There! Thats all!

*Im not going to bother to sticky this, just look for it in my signature.

Spike 05-10-2004 02:12 PM

OMG, I have been wondering this FOREVER! Now I can finally change it

woooooooooot! :D

killspree 05-12-2004 04:48 PM

What about spells and abilities for those new levels and balancing?!

Jezebell 05-15-2004 03:09 AM

I am not sure that this is completely accurate, I set maxlevel=255 and when players level from 115 to 116 the exp either stops or they delevel 80 levels. Not sure why.

animepimp 05-15-2004 05:36 AM

We found this problem on Scorpious2k when we first moved to level 130. Somewhere between level 110 and 120 the xp variable stored in the blob reaches its maximum. And when a variable in C gets to the max it just rolls over back to 0. So you end up resetting to a much lower level. The only fix for this is to completely change all the xp formulas to use smaller numbers required for a level and give out a proportionally lower amount of xp. Scorp came up with formulas that are still balanced but will have enough space to store level 255 xp, you can ask him what he changed the formulas to.

KhaN 05-15-2004 06:32 AM

Humm, if you change max level for 50, and you use #level 61, will you become level 61 ? because its what is happening to me ... Or this dont work for me (I cant believe it, its only a number to change), or ...

animepimp 05-15-2004 08:07 AM

#level always works regardless of what max level is set to because max level is only checked in the xp calculations.

NarutoLegacy 05-15-2004 02:23 PM

Well this is meant to be a simple guide, also I wasnt thinking about the rest, I figured it worked, but the only levels I tested were 100, 72, and 50.

cofruben 05-19-2004 05:33 AM

I think is because of the sort of integer is,try putting unsigned long int.Haven't looked really at the line.

Jezebell 05-19-2004 06:01 AM

Quote:

Originally Posted by Scorpious2k
The problem is the exp calcs in client.cpp Client::GetEXPForLevel

The value it calculates exceeds the size of the variable it returns(uint32) and rolls over. I rewrote it a long time ago for our server to get rid of the "hell levels" and later tweaked it to allow even higher levels than the earlier calc did.

Basically, you have to calculate lower values here but still in a progressive scale so each level is harder than the last. It isn't a problem using the lower numbers because the client actually get sent the % of xp relative to the next level and not the actual numbers.

The first problem this will produce will be that players who have high exp gained from playing will jump (or drop) many levels. I put temproray code in that limited increases/decreases of level to 1 and corrected the exp needed for the next level. After the first leveling, it corrects itself.

The next problem you will run into after that is exp gained on kills. It will give way to much, because it is assuming the old calculation. So you have to reduce the exp awarded. Luckily, there's a variable i the variable table for that.

Hope this helps.


animepimp 05-19-2004 07:14 AM

Quote:

Originally Posted by cofruben
I think is because of the sort of integer is,try putting unsigned long int.Haven't looked really at the line.

Thats impossible to do, I talked with Scorp about this option, but the xp is stored in the blob which has a predefined structure that can't be changed. And its already stored as an Unsigned long int, to get it higher would require an unsigned long long which would break everything by changing the blob.


All times are GMT -4. The time now is 12:24 AM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.