1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. MapleStory Europe has migrated to MapleStory Global! This section is readonly now.
    Dismiss Notice

Europe Unl Attack + Answer

Discussion in 'Discussion' started by Razz, Jul 31, 2010.

  1. Razz

    Razz Dedicated Supporter Dedicated Donor

    I did need help with this:
    Code (Text):
    1.  
    2. [enable]
    3. //Created by Neru
    4. //Using Item X Movement(CSEAX)
    5. label(Reset)
    6. label(Count)
    7. label(Addy)
    8.  
    9. Addy:
    10. 00700000:
    11. jmp Count
    12.  
    13.  
    14. Count:
    15. mov eax,[Char pID]
    16. mov eax,[eax+Attk Counter]
    17. cmp eax, 97
    18. jmp Reset
    19.  
    20. Reset:
    21. mov ebx,[Char pID]
    22. mov ebx,[ebx+Item X]
    23. sub ebx, 50
    24. jmp Count
    25.  
    26. [disable]
    27.  
    And krow answered:
    Code (Text):
    1.  
    2. [Enable]
    3. Alloc(Check,32) //Allocate some memory for the check
    4. Alloc(Reset,16) //Allocate some memory for the reset
    5. Label(Exit)
    6. Label(Return)
    7.  
    8. Addy:
    9. jmp Check //You might need to add nops if the original opcode is not 5 bytes long
    10. Return:
    11.  
    12. Check:
    13. push eax //Save original eax since we won't use it
    14. mov eax,[00000000] //Move Char pID into eax
    15. cmp [eax+00000000],61 //Compare eax + Attack offset to 97
    16. jge Reset //Jump if greater or equal to Reset
    17. Exit: //If it's not equal the script will continue to the next instruction, here, pop eax
    18. pop eax //We finished our check, we retreive the old eax so we don't **** up the game
    19. jmp Return //We jump to Return, right after our jmp Check
    20.  
    21. Reset:
    22. //The eax register already has the Char pID pointer so no need to add it to another one
    23. sub [eax+00000000],32 //Subtract 50 to eax + Item X
    24. jmp Exit //Return to Exit, in Check
    25.  
    26. [Disable]
    27. Addy:
    28. //Here insert the original opcode(s)
    29.  
    30. DeAlloc(Check) //Clear the memory used for the check
    31. DeAlloc(Reset) //Clear the memory used for the reset
    This
     
  2. SirJafel

    SirJafel Guest

    well, this is really nice :D you're progressing faster than I do :(
     

Share This Page