Jump to content
Moopler
  • 0
Sign in to follow this  
cemen123

Question Auto attack for EMS v118

Question

Can I ask is there auto attack funtion for maplestory, as googled but did not see it.

Can any warm-hearted tell me how I could move my finger from pressing the attack button for 3 hours pls?

Thanks in advance.

Share this post


Link to post

4 answers to this question

Recommended Posts

  • 0
Spoiler

/*
  > EMS v118.2
  + Map Filtered Auto Attack: Shift
  + Auto Familiar spawn
*/

define(TSingleton__CUserPool,0211A8B8) // 8B ? ? ? ? ? ? E8 ? ? ? ? ? ? ? ? 0F 84 ? ? ? ? 39
define(TSingleton__CMobPool,0211A8BC) // 8B 0D ? ? ? ? ? E8 ? ? ? ? 8B ? 85 ? 74 ? 8B ? ? 8B
define(summon_delay, #240000) //respawn every 4 mins, just in case you dc
define(mob_limit,#1)
define(people_limit,#1)

[enable]
alloc(hook,1080)
alloc(key_press,128)
alloc(spawn_familiar,128)

label(return)
label(do_attack)
label(do_summon)
label(exit)

alloc(delay,4)
delay:
dd 0

alloc(last_tick,4)
last_tick:
dd 0

key_press:
mov esi,[0211A9D4] // 8B 15 ? ? ? ? 85 D2 74 23
mov ecx,[esi+a8]
push eax
push 00
call 0182C690 // A1 ?? ?? ?? ?? 85 ?? 74 ?? 8D ?? ?? 8B ?? 8B ?? FF
ret

spawn_familiar:
mov ecx,[021161F4] //context ptr
mov eax, 0097FB67 //Big Spider
push eax
call 018AF260
ret

hook:
sub esp,0C
push ebx
push esi

push ebx
push eax

inc [delay] //there is literally no reason to run this hook every time maple calls it
cmp dword ptr [delay], #10
jne exit
mov [delay], 0

//To remove familiar spawn and map check
//jmp do_attack

call GetTickCount
sub eax,[last_tick]
cmp eax,summon_delay
//http://unixwiz.net/techtips/x86-jumps.html
jnbe do_summon

//add Map IDs here to attack on
mov ebx, [0211B24C]
mov ebx, [ebx+147c] //Store mapid

cmp ebx, #100000000 //Henesys - just an example
je do_attack

cmp ebx, #100010000 //hill north of hene - example
je do_attack

exit:
pop eax
pop ebx
jmp return

do_attack:
mov ebx,[TSingleton__CUserPool]
mov ebx,[ebx+18]
mov eax,people_limit
cmp ebx,eax
jge exit
mov eax,[TSingleton__CMobPool]
mov eax,[eax+10]
mov ebx,mob_limit
cmp eax,ebx
jle exit

mov eax,002A0000 //shift
call key_press
jmp exit

do_summon:
call spawn_familiar
call GetTickCount
mov [last_tick],eax
jmp exit

0182E420:
jmp hook
return:

//familiar summon bypass
018AF60F:
db 90 90

[disable]
0182E420: //83 ec 0c 53 56 57 b9 ? ? ? ? e8
sub esp,0C
push ebx
push esi

018AF60F:
xor ebx, ebx

dealloc(hook)
dealloc(key_press)
dealloc(spawn_familiar)
dealloc(last_tick)
dealloc(delay)

 

  • Like 2

Share this post


Link to post
  • 0
1 minute ago, akke said:

/*
  > EMS v118.2
  + Map Filtered Auto Attack: Shift
  + Auto Familiar spawn
*/

define(TSingleton__CUserPool,0211A8B8) // 8B ? ? ? ? ? ? E8 ? ? ? ? ? ? ? ? 0F 84 ? ? ? ? 39
define(TSingleton__CMobPool,0211A8BC) // 8B 0D ? ? ? ? ? E8 ? ? ? ? 8B ? 85 ? 74 ? 8B ? ? 8B
define(summon_delay, #240000) //respawn every 4 mins, just in case you dc
define(mob_limit,#1)
define(people_limit,#1)

[enable]
alloc(hook,1080)
alloc(key_press,128)
alloc(spawn_familiar,128)

label(return)
label(do_attack)
label(do_summon)
label(exit)

alloc(delay,4)
delay:
dd 0

alloc(last_tick,4)
last_tick:
dd 0

key_press:
mov esi,[0211A9D4] // 8B 15 ? ? ? ? 85 D2 74 23
mov ecx,[esi+a8]
push eax
push 00
call 0182C690 // A1 ?? ?? ?? ?? 85 ?? 74 ?? 8D ?? ?? 8B ?? 8B ?? FF
ret

spawn_familiar:
mov ecx,[021161F4] //context ptr
mov eax, 0097FB67 //Big Spider
push eax
call 018AF260
ret

hook:
sub esp,0C
push ebx
push esi

push ebx
push eax

inc [delay] //there is literally no reason to run this hook every time maple calls it
cmp dword ptr [delay], #10
jne exit
mov [delay], 0

//To remove familiar spawn and map check
//jmp do_attack

call GetTickCount
sub eax,[last_tick]
cmp eax,summon_delay
//http://unixwiz.net/techtips/x86-jumps.html
jnbe do_summon

//add Map IDs here to attack on
mov ebx, [0211B24C]
mov ebx, [ebx+147c] //Store mapid

cmp ebx, #100000000 //Henesys - just an example
je do_attack

cmp ebx, #100010000 //hill north of hene - example
je do_attack

exit:
pop eax
pop ebx
jmp return

do_attack:
mov ebx,[TSingleton__CUserPool]
mov ebx,[ebx+18]
mov eax,people_limit
cmp ebx,eax
jge exit
mov eax,[TSingleton__CMobPool]
mov eax,[eax+10]
mov ebx,mob_limit
cmp eax,ebx
jle exit

mov eax,002A0000 //shift
call key_press
jmp exit

do_summon:
call spawn_familiar
call GetTickCount
mov [last_tick],eax
jmp exit

0182E420:
jmp hook
return:

//familiar summon bypass
018AF60F:
db 90 90

[disable]
0182E420: //83 ec 0c 53 56 57 b9 ? ? ? ? e8
sub esp,0C
push ebx
push esi

018AF60F:
xor ebx, ebx

dealloc(hook)
dealloc(key_press)
dealloc(spawn_familiar)
dealloc(last_tick)
dealloc(delay)

Thank you very much akke:)

Share this post


Link to post
  • 0
1 hour ago, akke said:
  Reveal hidden contents


/*
  > EMS v118.2
  + Map Filtered Auto Attack: Shift
  + Auto Familiar spawn
*/

define(TSingleton__CUserPool,0211A8B8) // 8B ? ? ? ? ? ? E8 ? ? ? ? ? ? ? ? 0F 84 ? ? ? ? 39
define(TSingleton__CMobPool,0211A8BC) // 8B 0D ? ? ? ? ? E8 ? ? ? ? 8B ? 85 ? 74 ? 8B ? ? 8B
define(summon_delay, #240000) //respawn every 4 mins, just in case you dc
define(mob_limit,#1)
define(people_limit,#1)

[enable]
alloc(hook,1080)
alloc(key_press,128)
alloc(spawn_familiar,128)

label(return)
label(do_attack)
label(do_summon)
label(exit)

alloc(delay,4)
delay:
dd 0

alloc(last_tick,4)
last_tick:
dd 0

key_press:
mov esi,[0211A9D4] // 8B 15 ? ? ? ? 85 D2 74 23
mov ecx,[esi+a8]
push eax
push 00
call 0182C690 // A1 ?? ?? ?? ?? 85 ?? 74 ?? 8D ?? ?? 8B ?? 8B ?? FF
ret

spawn_familiar:
mov ecx,[021161F4] //context ptr
mov eax, 0097FB67 //Big Spider
push eax
call 018AF260
ret

hook:
sub esp,0C
push ebx
push esi

push ebx
push eax

inc [delay] //there is literally no reason to run this hook every time maple calls it
cmp dword ptr [delay], #10
jne exit
mov [delay], 0

//To remove familiar spawn and map check
//jmp do_attack

call GetTickCount
sub eax,[last_tick]
cmp eax,summon_delay
//http://unixwiz.net/techtips/x86-jumps.html
jnbe do_summon

//add Map IDs here to attack on
mov ebx, [0211B24C]
mov ebx, [ebx+147c] //Store mapid

cmp ebx, #100000000 //Henesys - just an example
je do_attack

cmp ebx, #100010000 //hill north of hene - example
je do_attack

exit:
pop eax
pop ebx
jmp return

do_attack:
mov ebx,[TSingleton__CUserPool]
mov ebx,[ebx+18]
mov eax,people_limit
cmp ebx,eax
jge exit
mov eax,[TSingleton__CMobPool]
mov eax,[eax+10]
mov ebx,mob_limit
cmp eax,ebx
jle exit

mov eax,002A0000 //shift
call key_press
jmp exit

do_summon:
call spawn_familiar
call GetTickCount
mov [last_tick],eax
jmp exit

0182E420:
jmp hook
return:

//familiar summon bypass
018AF60F:
db 90 90

[disable]
0182E420: //83 ec 0c 53 56 57 b9 ? ? ? ? e8
sub esp,0C
push ebx
push esi

018AF60F:
xor ebx, ebx

dealloc(hook)
dealloc(key_press)
dealloc(spawn_familiar)
dealloc(last_tick)
dealloc(delay)

 

Edited your post. Use please next time the code and the spoiler function! :)

 

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  
×