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!

Exp table

Imri Persiado
Joined
May 17, 2008
Messages
941
Reaction score
26
Hello,
I've traid to make a custom exp table but somthing went wrong.
I divided correctly by 10 my exp table and copied it to my server.exe but my char not level up he keep getting exp without level up.. any Ideas?

Thanks.
 
Last edited by a moderator:
Custom Title Activated
Loyal Member
Joined
May 26, 2007
Messages
5,545
Reaction score
1,315
Wrong table? Did you change the one in .text or the one in KPTTrans? And did you do this to both server and client?
 
Skilled Illusionist
Joined
Apr 20, 2009
Messages
351
Reaction score
212
If the level up doesn't trigger, you probably forgot to update the 2 checksums at the end of the experience table (after the FFFFFFFF).
 
Imri Persiado
Joined
May 17, 2008
Messages
941
Reaction score
26
I didnt update any value after the FFFFFFF ..
53 CD 9D AE 21 49 65 this is the value after the FFFF.. divide it in 10?
 
Last edited:
Custom Title Activated
Loyal Member
Joined
May 26, 2007
Messages
5,545
Reaction score
1,315
No... it's a checksum. Recalculate it. This must be done any time any of the tables is changed. I don't know the algorithms for any of them off the top of my head, but you will see it right away when you watch the code accessing the table in Olly.
 
Last edited:
Imri Persiado
Joined
May 17, 2008
Messages
941
Reaction score
26
but you will see it right away when you watch the code accessing the table in Olly.

Couldn't really understand what to do with the valur after the FFFF and couln't understand you too bobsbol sorry .. my olly skills are not in the sky please try to describe it better for I can understand you .

Thanks in advanced.
 
Skilled Illusionist
Joined
Apr 20, 2009
Messages
351
Reaction score
212
The best solution to achieve this is to actually let the client calculate the checksum for you.

If i'm not mistaken you can see the values here (where in the client here) :
Code:
00447F68  |.  8B0D B8105F00 MOV ECX,DWORD PTR DS:[5F10B8]
00447F6E  |.  3BC8          CMP ECX,EAX
00447F70  |.  75 6E         JNE SHORT 00447FE0
00447F72  |.  A1 BC105F00   MOV EAX,DWORD PTR DS:[5F10BC]
00447F77  |.  3BC2          CMP EAX,EDX
00447F79  |.  75 65         JNE SHORT 00447FE0

Put a breakpoint on the two CMPs.

1. Create a level 1 character.
2. Kill a monster to make the first breakpoint trigger.

3. You should see that ECX and EAX values are different.
The old checksum value is ECX (you can see it was loaded from the memory offset 5F10B8 on the line before).
Update 5F10B8 with the value inside EAX (you might have to store it reversed).
/!\ Adapt these instructions with your own offsets if you edited them!

5. Kill another monster. This time the second breakpoint will trigger (since the first checksum is okay).

6. Do the same as in 3. This time the old value is inside EAX, and the new value is inside EDX. And the offset is 5F10BC.

7. Save.

8. Don't forget to report these 2 values at the bottom of the experience table inside your server (no clue if they are used but you never know).
 
Custom Title Activated
Loyal Member
Joined
May 26, 2007
Messages
5,545
Reaction score
1,315
Point 8. They are in the original jPT server... ET2.2 disables the checksum code all-together IMS. Other servers have moved the table but keep the checksum at the end of the old table, I seem to recall. (Weird)

You can do that to the client to, but that won't be good for keeping your hacker count down. XD
 
Last edited:
Experienced Elementalist
Joined
Apr 29, 2006
Messages
279
Reaction score
90
I still got a few exam and then I'll have summer holiday, finally!
I'll finish my exp table patcher first, and release it.
 
Back
Top