Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

v83 MapleSolaxia based - level cap/exp rate

Initiate Mage
Joined
Nov 4, 2017
Messages
12
Reaction score
0
Hello,

I've been trying to get this to work for the past few days and I just can't get it to work.

What I want to do:
  • Change level cap to 250
  • Set the base exp rate as 22x and create late game exp-curve starting at level 150


What I tried:
  • I looked at every file that I could find usage of "200" or "level" or "maxlevel".
  • I changed any lines that says 200 to 250 and modified any lines that says things like 'if level>max level, set exp = 0' and redefined the maxlevel value to 250.
  • I've also modified the EXPtable file and added more exp that are still under the max number.



But it just doesn't seem to work and I really need help.
How could I change the level cap?
And how can I set player's exp rate to modify based on their level?

 
Junior Spellweaver
Joined
Mar 16, 2013
Messages
167
Reaction score
19
I think there is a lot of work to do.
You need to edit your client as well, and this is not a easy job.
 
Upvote 0
Junior Spellweaver
Joined
Sep 16, 2017
Messages
156
Reaction score
36
He doesn't mean the client-side .wz files: he means that you have to actually edit the .exe client, as it's likely to contain the level cap value hardcoded in different places. To do that, you're gonna need some patience, trial and error, and a few tools to inspect and edit the client assembly code.

The basic concept is, the client will have two possible ways, to use a specific value for a specific situation: either by grabbing it from an external file (for example item IDs, skill graphics), or by having it directly written in the client code itself (opcodes, skill IDs in some cases).
While you can alter the external-file occurrences of the level cap by simply editing the .wz files (if there's any) and, ofcourse, the server-side occurrences of it, you will also need to check for any possible hardcoded reference (basically, things like if (level == 200) instead of if (level == variable_obtained_from_packet_recv_from_server) ).

As a hint, you might wanna search, in the software IDA, for all the occurrences of the value "200"; there's likely to be a lot of them, and ofcourse not all of them will be about the level cap, but you can then use all those addresses to test with breakpoints in OllyDbg.

There should be good guides about both of these programs, should you need to learn them, here on Ragezone.
 
Upvote 0
Junior Spellweaver
Joined
Mar 16, 2013
Messages
167
Reaction score
19
Not sure about that, but I think it wont be possible to be done easily since the client doesn't have any reference to the exp table greater than lvl 200.
Again, not sure about that
 
Upvote 0
Initiate Mage
Joined
Nov 4, 2017
Messages
12
Reaction score
0
Oh if it's the actual .exe editing, then I'm not sure how to edit that nor can find any tutorials on how to edit level cap on .exe client.

From the server side, everything is set to 250 like (if level==250), ExpTable has 251 entries of exp values, ExpNeededForLevel() function is also changed as well as getMaxLevel() function in MapleCharacter.java

If I use a GM command to level, players can get past level 200 to 250.
The problem is, when players level from 199 to level 200, the exp is set to 0 and cannot gain anymore exp to level to 201.
But if the player is manually set to level 201, they can gain proper exp and level upto 250.

I'm just not sure where the glitch is coming from.

If anyone has an idea please share!
 
Upvote 0
Junior Spellweaver
Joined
Mar 16, 2013
Messages
167
Reaction score
19
check in your code, more specifically in the gainExp method. You maybe have a condition that doesnt let the player to get more experience if his level is 200 (or maybe greater than 199). If you can't find it, give the player +1 exp when he get to the 200. This is a workarround that will make him to be able to get more exp to lvl 201
 
Upvote 0
Back
Top