Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[solved] no mp regeneration for one id
#1
i need a patch/ an exe where ID: 15 gains no mp by itsself (but with -mp tags it has to be possible).

please help me, cause i suck at hexing^^

or if you know any dc way, please post it here^^
Reply
Thanks given by:
#2
MP proc
cmp edx,51 ; check if ID is 51 (Firzen)
je short @MP_1 ; jump to @MP_1 if ID is 51
cmp edx,52 ; check if ID is 52 (Julian)
je short @MP_1 ; jump to @MP_1 if ID is 52
cmp edx,15 ; check if ID is 15 (your character)
je short @MP_2 ; jump to @MP_2 if ID is 15
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 15
jmp dword ptr [MP_hack]

MP endp

Setup the dll stuff, then go into generic.inc and replace the normal MP procedure with this one.
[Image: doty7Xn.gif]

10 ʏᴇᴀʀs sɪɴᴄᴇ ɪʀᴄ ɢᴏᴏᴅ.ɪ ᴡᴀʟᴋ ᴛʜʀᴏᴜɢʜ ᴛʜᴇ ᴇᴍᴘᴛʏ sᴛʀᴇᴇᴛs ᴛʀʏɪɴɢ ᴛᴏ ᴛʜɪɴᴋ ᴏғ sᴏᴍᴇᴛʜɪɴɢ ᴇʟsᴇ ʙᴜᴛ ᴍʏ ᴘᴀᴛʜ ᴀʟᴡᴀʏs ʟᴇᴀᴅs ᴛᴏ ᴛʜᴇ ɪʀᴄ. ɪ sᴛᴀʀᴇ ᴀᴛ ᴛʜᴇ sᴄʀᴇᴇɴ ғᴏʀ ʜᴏᴜʀs ᴀɴᴅ ᴛʀʏ ᴛᴏ sᴜᴍᴍᴏɴ ᴛʜᴇ ɢᴏᴏᴅ ɪʀᴄ. ɪ ᴡᴀᴛᴄʜ ᴏᴛʜᴇʀ ɪʀᴄ ᴄʜᴀɴɴᴇʟs ʙᴜᴛ ɪᴛ ɪs ɴᴏ ɢᴏᴏᴅ. ɪ ᴘᴇsᴛᴇʀ ᴢᴏʀᴛ ᴀɴᴅ ᴛʀʏ ᴛᴏ ʀᴇsɪsᴛ ʜɪs sᴇxɪɴᴇss ʙᴜᴛ ɪᴛ ɪs ᴀʟʟ ᴍᴇᴀɴɪɴɢʟᴇss. ᴛʜᴇ ᴇɴᴅ ɪs ɴᴇᴀʀ.ɪ ᴛʜᴇɴ ᴜsᴜᴀʟʟʏ ʀᴇᴀᴅ sᴏᴍᴇ ᴏʟᴅ ɪʀᴄ ʟᴏɢs ᴀɴᴅ ᴄʀʏ ᴍʏsᴇʟғ ᴛᴏ sʟᴇᴇᴘ.


Reply
Thanks given by: Bamboori
#3
it gave me an error:
oh yeah, and here is the code i put in:
edit: dang, found the mistake :P solved and thx^^

edit2: AARGH! i just hate exe-changing! it doesn't work :/
please, could someone else do this for me? PLEASE? i just need an original lf2 with this change :(
Reply
Thanks given by:
#4
Duh, works fine. You just fail at following instructions.
Code:
MP proc
    cmp edx,51 ; check if ID is 51 (Firzen)
    je short @MP_1 ; jump to @MP_1 if ID is 51
    cmp edx,52 ; check if ID is 52 (Julian)
    je short @MP_1 ; jump to @MP_1 if ID is 52
    cmp edx,55 ; check if ID is 55 (your character)
    je short @MP_2 ; jump to @MP_2 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],250 ; check if mp is greater than 250
    JG @Decrease_MP
    cdq ; ignore this
    sub eax,edx ; ignore this
    sar eax,2 ; 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+308h] ; move mana into eax
    sub eax,1 ; decrease eax(mana) by 1
    jmp dword ptr [MP_hack]
    
MP endp
replace all of that, with:

Code:
MP proc
cmp edx,51 ; check if ID is 51 (Firzen)
je short @MP_1 ; jump to @MP_1 if ID is 51
cmp edx,52 ; check if ID is 52 (Julian)
je short @MP_1 ; jump to @MP_1 if ID is 52
cmp edx,15 ; check if ID is 15 (your character)
je short @MP_2 ; jump to @MP_2 if ID is 15
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 15
jmp dword ptr [MP_hack]

MP endp

I tested it my self... it works.

Quote:edit2: AARGH! i just hate exe-changing! it doesn't work :/
I lol-ed at that :D. All you have to do is copy-paste something... You don't even have to understand it.
[Image: doty7Xn.gif]

10 ʏᴇᴀʀs sɪɴᴄᴇ ɪʀᴄ ɢᴏᴏᴅ.ɪ ᴡᴀʟᴋ ᴛʜʀᴏᴜɢʜ ᴛʜᴇ ᴇᴍᴘᴛʏ sᴛʀᴇᴇᴛs ᴛʀʏɪɴɢ ᴛᴏ ᴛʜɪɴᴋ ᴏғ sᴏᴍᴇᴛʜɪɴɢ ᴇʟsᴇ ʙᴜᴛ ᴍʏ ᴘᴀᴛʜ ᴀʟᴡᴀʏs ʟᴇᴀᴅs ᴛᴏ ᴛʜᴇ ɪʀᴄ. ɪ sᴛᴀʀᴇ ᴀᴛ ᴛʜᴇ sᴄʀᴇᴇɴ ғᴏʀ ʜᴏᴜʀs ᴀɴᴅ ᴛʀʏ ᴛᴏ sᴜᴍᴍᴏɴ ᴛʜᴇ ɢᴏᴏᴅ ɪʀᴄ. ɪ ᴡᴀᴛᴄʜ ᴏᴛʜᴇʀ ɪʀᴄ ᴄʜᴀɴɴᴇʟs ʙᴜᴛ ɪᴛ ɪs ɴᴏ ɢᴏᴏᴅ. ɪ ᴘᴇsᴛᴇʀ ᴢᴏʀᴛ ᴀɴᴅ ᴛʀʏ ᴛᴏ ʀᴇsɪsᴛ ʜɪs sᴇxɪɴᴇss ʙᴜᴛ ɪᴛ ɪs ᴀʟʟ ᴍᴇᴀɴɪɴɢʟᴇss. ᴛʜᴇ ᴇɴᴅ ɪs ɴᴇᴀʀ.ɪ ᴛʜᴇɴ ᴜsᴜᴀʟʟʏ ʀᴇᴀᴅ sᴏᴍᴇ ᴏʟᴅ ɪʀᴄ ʟᴏɢs ᴀɴᴅ ᴄʀʏ ᴍʏsᴇʟғ ᴛᴏ sʟᴇᴇᴘ.


Reply
Thanks given by: Bamboori
#5
lol, found my mistakes now
  1. wrong c&p (duh)
  2. wrong exe (oops :P)
thanks for your patient help^^
Reply
Thanks given by:




Users browsing this thread: 1 Guest(s)