View previous topic :: View next topic |
Author |
Message |
deama1234 Master Cheater
Reputation: 3
Joined: 20 Dec 2014 Posts: 328
|
Posted: Fri Jul 15, 2016 4:37 pm Post subject: Warcraft 3 (1.27a) removing level cap... |
|
|
I'm having trouble trying to figure out where it checks the players level. I think I found it, but I'm not sure, and I can't really find any calculations nearby; if there are any, then I can't find them.
I tried browsing the player structure, but couldn't find the cap anywhere.
If I nop the instruction in the picture, I can't level anymore. If I nop the jne below it, the game just freezes, and when I un-nop it, it takes me to some crazy level like 33338 or so.
Anyone got any ideas?
Also, this is for reign of chaos, not frozen throne.
Description: |
|
Filesize: |
30.74 KB |
Viewed: |
15218 Time(s) |

|
|
|
Back to top |
|
 |
cooleko Grandmaster Cheater
Reputation: 11
Joined: 04 May 2016 Posts: 717
|
Posted: Fri Jul 15, 2016 5:20 pm Post subject: |
|
|
Why dont you show us the code at both the call and the jump?
|
|
Back to top |
|
 |
deama1234 Master Cheater
Reputation: 3
Joined: 20 Dec 2014 Posts: 328
|
|
Back to top |
|
 |
cooleko Grandmaster Cheater
Reputation: 11
Joined: 04 May 2016 Posts: 717
|
Posted: Sat Jul 16, 2016 12:08 am Post subject: |
|
|
In order to read that, I need to know what the address of the player level is!
Also, if the game reads an exp value to determine the level, or if the user can level up (instead of using the level), then I would need the address of the exp.
The addresses would have to correspond with the trace too.
Essentially, what I would look for is where the actual level/exp is accesses in the trace, which raises concerns for me as to how you identified the section of code above.
For instance, when I try to find 341F405B in your trace, it doesnt appear, which leads me to believe the first picture doesnt correspond to the trace.
If I was trying to find a level cap, I would like to find the code that accesses my current level on a level up. That is the code I would break and trace (with dereferenced addresses). see if the code that is run on leveling to max level is the same as the code on normal level too. It is possible no check is made, but instead a byte it set to indicate max level has been reached.
|
|
Back to top |
|
 |
deama1234 Master Cheater
Reputation: 3
Joined: 20 Dec 2014 Posts: 328
|
Posted: Sat Jul 16, 2016 9:14 am Post subject: |
|
|
cooleko wrote: |
If I was trying to find a level cap, I would like to find the code that accesses my current level on a level up. That is the code I would break and trace (with dereferenced addresses). see if the code that is run on leveling to max level is the same as the code on normal level too. It is possible no check is made, but instead a byte it set to indicate max level has been reached. |
That's where I got the test instruction from. I found the instruction that is used when you level up (it's the same for when you reach max) and traced it all the way through to this instruction.
Donno if you know about this, but the game does have a level cap per map, and you can make your own maps and set their level cap. Maybe finding that would give a solution? But I wouldn't really know where to start...
|
|
Back to top |
|
 |
Zaladine Expert Cheater
Reputation: 3
Joined: 14 Oct 2012 Posts: 129 Location: Djokdja, Indonesia
|
Posted: Sat Aug 06, 2016 12:42 pm Post subject: |
|
|
I haven't try this yet, but i believe removing level cap isn't that simple since we have to provide some kind of EXP table along.
At each heroes' levels, there is fixed limits to determine what level the heroes currently are at...
Take this from DOTA map:
Level 01 - EXP 200
Level 02 - EXP 500
Level 03 - EXP 900
Level 04 - EXP 1400
Level 05 - EXP 2000
Level 06 - EXP 2600
Level 07 - EXP 3200
...
Level 25 - EXP 32400
So to remove the cap, we should also provide the table. Otherwise the game couldn't determine the heroes stats further...
_________________
... to boldly go where no eagle has gone before ... |
|
Back to top |
|
 |
|