Hmph.. I can see what you did there. You're using base 10 number when you are supposed to use base 16 (hexadecimal). This should work if your code actually does it:
ASM-Code:
.Data ;mp recover MP_normal dd 0041FAD8h MP_hack dd 0041FAF8h .Code MP proc cmp edx,33 ; check if ID is 51 (Firzen) je short MP_1 ; jump to <DVZ_ME#0> if ID is 51 cmp edx,34 ; check if ID is 52 (Julian) je short MP_1 ; jump to <DVZ_ME#0> if ID is 52 cmp edx,37; check if ID is 55 (your character) je short MP_2 ; jump to <DVZ_ME#1> if ID is 55 jmp dword ptr [MP_normal] MP_1: ; for Firzen & Julian cdq ; ignore this sub eax,edx ; ignore this sar eax,1 ; add 1 point more compare with normal (normal = 1) jmp dword ptr [MP_normal] MP_2: ; for the ID 55 cmp dword ptr ds:[ecx+308h],FA ; check if mp is greater than 250 JG Decrease_MP cdq ; ignore this sub eax,edx ; ignore this sar eax,1 ; add 2 point more compare with normal jmp dword ptr [MP_normal] Decrease_MP: ;when mp is more than 250 mov eax, dword ptr ds:[ecx+354h] ; move mana into eax sub eax,1 ; decrease eax(mana) by 1 jmp dword ptr [MP_hack] MP endp |
![[Image: signature.png]](http://s3.postimg.org/wedqxlk3n/signature.png)
A-Engine: A new beat em up game engine inspired by LF2. Coming soon
A-Engine Dev Blog - Update #8: Timeout