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 Trying to make a script need pointers, offsets.

Discussion in 'Discussion' started by fre024, Aug 28, 2010.

  1. fre024

    fre024 Banned Banned

    Hello there,
    i m trying to make a script in asm.
    I found most pointers for ems 63 but i still missing some.

    This one i have (thx to eggs)
    Item Counter : ADBF90 (this is the pointer am i right?)
    Item Offset : 28

    This ones i m missing
    -Item X Offset
    -Item Y Offset

    I would be really glad if you could provide me these.
    If the script works you can have your share in it ofcourse.
     
  2. SirJafel

    SirJafel Guest

    I think nickerian (?) posted them in the request section somewhere when someone was requesting something similar... don't know for sure though.
     
  3. Nickerian

    Nickerian Well-Known Member Coder Donor

    if you mean the fail named Char X/Y

    Char pID : ADA538
    Item X : 1128
    Item Y : 112C

    if you mean the acually itemX/Y

    Item X = 00A8C8B4 - 20
    Item Y = 00A8C8B4 - 60

    Code (Text):
    1.  
    2.  
    3. [ENABLE]
    4. alloc(ItemXY,150)
    5. alloc(ItemPosX,12)
    6. alloc(ItemPosY,12)
    7. registersymbol(ItemPosX)
    8. registersymbol(ItemPosY)
    9.  
    10. alloc(ChangeValue, 100)
    11. label(ChangeValueRet)
    12.  
    13. 0083FF1E://39 ?? ?? ?? ?? ?? 8d 8e ?? ?? ?? ?? 74 ?? ?? e8 ?? ?? ?? ?? 39 ?? ?? ?? ?? ?? 8d ?? ?? ?? ?? ?? 74 02
    14. jmp ChangeValue
    15. nop
    16. ChangeValueRet:
    17.  
    18.  
    19. ChangeValue:
    20. pushad
    21. mov esi,[ItemPosX]
    22. mov eax,[00ADA8DC]
    23. mov [eax+20], esi
    24.  
    25. mov esi,[ItemPosY]
    26. mov eax,[00ADA8DC]
    27. mov [eax+60], esi
    28. popad
    29. jmp ChangeValueRet
    30.  
    31.  
    32.  
    33.  
    34. // get this AoB yourself since it changes from computer to computer (not always but for some)
    35. 00ADE6F4: //de ?? ?? ?? ?? ?? 48 75 ?? 0f 48 75 ?? 2f
    36. dd ItemXY
    37.  
    38. ItemXY: // thanks to cam
    39. cmp [esp],004F6134 //85 c0 75 ?? 83 4d ?? ?? 39 45 ?? 74 ?? 50
    40. jne PtInRect
    41. push eax
    42. mov eax,[esp+0C]
    43. mov [ItemPosX],eax
    44. mov eax,[esp+10]
    45. mov [ItemPosY],eax
    46. pop eax
    47. jmp PtInRect
    48.  
    49.  
    50. [DISABLE]
    51. 00ADE6F4:
    52. dd PtInRect
    53.  
    54. 0083FF1E:
    55. cmp [esi+00000cd0],ebx
    56.  
    57. dealloc(ItemXY)
    58. dealloc(ChangeValue)
    59. dealloc(ItemPosX)
    60. dealloc(ItemPosY)
    61.  
     
  4. fre024

    fre024 Banned Banned

    Thx alot for the answers and the info.
     
  5. Ant3

    Ant3 Well-Known Member

    Nickerian, Map ID base + some X offset = Char X.
    pID + some X offset = Item X.

    EDIT: The "Item X/Y" you posted just says '??'. Fail pointer fails?
     
  6. Nickerian

    Nickerian Well-Known Member Coder Donor

    enable the hook :)

    it is fail named in my opinion because the item X/Y is from what positon you take damage, loot, attack
    Char X/Y does nothing, just like everything else you get from the Char Base

    it was most likely named itemX/Y because when people made itemvacs they had to use the other one
     
  7. Ant3

    Ant3 Well-Known Member

    Oh lel, I didn't look at the hook and thought it was the regular one..
     
  8. fre024

    fre024 Banned Banned

    Well, i want the X/Y of the items, because i want to vac monsters to that position.
    Something like this.
    Why wouldn't this work?


    Code (Text):
    1.  
    2. [ENABLE]
    3. alloc(ItemXY,150)
    4. alloc(ItemPosX,12)
    5. alloc(ItemPosY,12)
    6. registersymbol(ItemPosX)
    7. registersymbol(ItemPosY)
    8.  
    9. alloc(ChangeValue, 100)
    10. label(ChangeValueRet)
    11.  
    12. 0083FF1E://39 ?? ?? ?? ?? ?? 8d 8e ?? ?? ?? ?? 74 ?? ?? e8 ?? ?? ?? ?? 39 ?? ?? ?? ?? ?? 8d ?? ?? ?? ?? ?? 74 02
    13. jmp ChangeValue
    14. nop
    15. ChangeValueRet:
    16.  
    17.  
    18. ChangeValue:
    19. pushad
    20. mov esi,[ItemPosX]
    21. mov eax,[00ADA8DC]
    22. mov [eax+20], esi
    23.  
    24. [COLOR="red"]mov ebx,[00ADA544] //Mob offset
    25. mov [ebx+4e8],esi //X-Mob[/COLOR]
    26.  
    27.  
    28. mov esi,[ItemPosY]
    29. mov eax,[00ADA8DC]
    30. mov [eax+60], esi
    31.  
    32. [COLOR="red"]mov ebx,[00ADA544] //Mob offset
    33. mov [ebx+4ec],esi //Y-Mob [/COLOR]
    34.  
    35. popad
    36.  
    37.  
    38.  
    39. jmp ChangeValueRet
    40.  
    41.  
    42.  
    43.  
    44. // get this AoB yourself since it changes from computer to computer (not always but for some)
    45. 00ADE6F4: //de ?? ?? ?? ?? ?? 48 75 ?? 0f 48 75 ?? 2f
    46. dd ItemXY
    47.  
    48. ItemXY: // thanks to cam
    49. cmp [esp],004F6134 //85 c0 75 ?? 83 4d ?? ?? 39 45 ?? 74 ?? 50
    50. jne PtInRect
    51. push eax
    52. mov eax,[esp+0C]
    53. mov [ItemPosX],eax
    54. mov eax,[esp+10]
    55. mov [ItemPosY],eax
    56. pop eax
    57. jmp PtInRect
    58.  
    59.  
    60. [DISABLE]
    61. 00ADE6F4:
    62. dd PtInRect
    63.  
    64. 0083FF1E:
    65. cmp [esi+00000cd0],ebx
    66.  
    67. dealloc(ItemXY)
    68. dealloc(ChangeValue)
    69. dealloc(ItemPosX)
    70. dealloc(ItemPosY)
    71.  
     
  9. Danny1994

    Danny1994 Likes to contribute Coder

    Changing Mob 1 XY will cause to AB/DC/FAB/CRASH.
     
  10. fre024

    fre024 Banned Banned

    Then it should be like this?
    Code (Text):
    1.  
    2. [ENABLE]
    3. alloc(ItemXY,150)
    4. alloc(ItemPosX,12)
    5. alloc(ItemPosY,12)
    6. registersymbol(ItemPosX)
    7. registersymbol(ItemPosY)
    8.  
    9. alloc(ChangeValue, 100)
    10. label(ChangeValueRet)
    11.  
    12. 0083FF1E://39 ?? ?? ?? ?? ?? 8d 8e ?? ?? ?? ?? 74 ?? ?? e8 ?? ?? ?? ?? 39 ?? ?? ?? ?? ?? 8d ?? ?? ?? ?? ?? 74 02
    13. jmp ChangeValue
    14. nop
    15. ChangeValueRet:
    16.  
    17.  
    18. ChangeValue:
    19. pushad
    20. mov esi,[ItemPosX]
    21. mov eax,[00ADA8DC]
    22. mov [eax+20], esi
    23.  
    24. [COLOR="red"]mov ebx,[00ADA544] //Mob offset
    25. mov ebx, [ebx+28]
    26. mov ebx, [ebx+04]
    27. mov ebx, [ebx+4e8]
    28. mov ebx,esi //X-Mob[/COLOR]
    29.  
    30.  
    31. mov esi,[ItemPosY]
    32. mov eax,[00ADA8DC]
    33. mov [eax+60], esi
    34.  
    35. [COLOR="red"]mov ecx,[00ADA544] //Mob offset
    36. mov ecx, [ecx+28]
    37. mov ecx, [ecx+04]
    38. mov ecx, [ecx+4ec]
    39. mov ecx,esi //Y-Mob[/COLOR]
    40.  
    41.  
    42.  
    43. popad
    44.  
    45.  
    46.  
    47. jmp ChangeValueRet
    48.  
    49.  
    50.  
    51.  
    52. // get this AoB yourself since it changes from computer to computer (not always but for some)
    53. 00ADE6F4: //de ?? ?? ?? ?? ?? 48 75 ?? 0f 48 75 ?? 2f
    54. dd ItemXY
    55.  
    56. ItemXY: // thanks to cam
    57. cmp [esp],004F6134 //85 c0 75 ?? 83 4d ?? ?? 39 45 ?? 74 ?? 50
    58. jne PtInRect
    59. push eax
    60. mov eax,[esp+0C]
    61. mov [ItemPosX],eax
    62. mov eax,[esp+10]
    63. mov [ItemPosY],eax
    64. pop eax
    65. jmp PtInRect
    66.  
    67.  
    68. [DISABLE]
    69. 00ADE6F4:
    70. dd PtInRect
    71.  
    72. 0083FF1E:
    73. cmp [esi+00000cd0],ebx
    74.  
    75. dealloc(ItemXY)
    76. dealloc(ChangeValue)
    77. dealloc(ItemPosX)
    78. dealloc(ItemPosY)
    79.  
     
  11. Nickerian

    Nickerian Well-Known Member Coder Donor

    The position will be updated each time you press your loot button which means if there is no items the position will be 0,0 or the last place where you looted the item

    i havent tested but i dont think you can change their positions by changing the Mob X/Y but who knows :)
    if it works there is several ways to make it none ab/dc
     

Share This Page