This is working excellent for me and I have to share ti with you guys. It is a bit of a pain to start everything out but easy if you follow the directions. I will try to make this as clear as I can....
First you will need several files. So go ahead and download the files attached to this post, then return here and continue...
STEP 1: Find the address for Non-agro. Extract and place the Unpacked Dekaron Executable in your 2Moons Bin Folder. Open OllyDbg Program, if it pops up about an older dll file just click Yes. Open the Unpacked Dekaron Executable with the OllyDbg Program. Search Command
movzx eax,word ptr [esi+00000154]
STEP 2: Find the address for Vac. Search Command
mov edx,[eax+1c]
STEP 3: Find the address for Autopots. Search Command
cmp dword ptr [eax+08],13
STEP 4: Launch 2Moons using GameGuard Killer. Extract and places the launcher.exe and the gameguard folder in the 2Moons Bin folder. Double click the launcher.exe to start 2Moons without GameGuard running.
STEP 5: At the login screen, press the Windows key to minimize 2Moons and launch Cheat Engine 5.4 and "Attach To Process" dekaron.exe
STEP 6: Select the memory address in the little window and click Select.
STEP 7: Change "Value Type" to Float and change the "Value" to 1000 and click first scan button.
STEP 8: Login to 2Moons and select your character and go to any map where you are safe.
STEP 9: Minimize 2Moons again and in Cheat Engine 5.4 change the "Value" to 18 and click Next Scan -
ATTENTION: the number isn't always 18 for all maps. If it doesn't give you a single address, you will need to either load a different character or read the maplist.cvs to find the number for the map you are on! 18 works 95% of the time for me!
STEP 10: Highlight the single address on the left and click the little red Arrow to "Copy all selected items to the address list"
STEP 11: Right-Click on the address that you added to the window at the bottom of Cheat Engine 5.4 Change Record --> Value --> 99
That gives you Zoom!
STEP 12: Click Memory view --> Tool --> Auto assemble, then Template --> Code injection and put this address:
0053DDDA
Now you have a window with info in it! In the middle you will see text telling you where to put your code! That is where you must paste the following...
(!empty($user->lang['QUOTE'])) ? $user->lang['QUOTE'] : ucwords(strtolower(str_replace('_', ' ', 'QUOTE'))):
[ENABLE]
alloc(newmem,1024)
label(returnhere)
label(originalcode)
label(exit)
0053DDDA:
jmp newmem
nop
nop
returnhere:
newmem:
originalcode:
movzx eax,word ptr [esi+00000154]
//mov eax,01
//mov word ptr [esi+00000156],ax
mov [esi+00000070],40400000 // speed mob
//40c00000 = 6 lv 1
//41400000 = 12 lv 2
//41c00000 = 24 lv 3
mov byte ptr [esi+00000174],00 // malee attack range = 0
mov byte ptr [esi+00000244],00 // magic attack range = 0
mov [esi+00000240],0000000 //other attack range = 0
mov [esi+0000023c],0000000 //other attack range = 0
mov [esi+00000238],0000000 //other attack range = 0
mov eax,03
mov word ptr [esi+00000154],ax
exit:
jmp returnhere
[DISABLE]
dealloc(newmem)
0053DDDA:
movzx eax,word ptr [esi+00000154]
Now Execute to have Non-aggro!
STEP 13: Click Memory view --> Tool --> Auto assemble, then Template --> Code injection and put this address:
0045A19DPaste the following...
(!empty($user->lang['QUOTE'])) ? $user->lang['QUOTE'] : ucwords(strtolower(str_replace('_', ' ', 'QUOTE'))):
[ENABLE]
alloc(newmem,1024)
label(returnhere)
label(originalcode)
label(exit)
0045A19D:
jmp newmem
nop
returnhere:
newmem:
originalcode:
mov edx,[eax+1c]
mov [ecx+20],edx
mov edx,99
mov [eax+1C],edx
mov edx,999 // number boss spawn
mov [eax+8c],edx
mov edx,01 // time delay between spawn
mov [eax+90],edx
mov edx,99 // num mob follow me
mov [eax+3C],edx
mov [ecx+20],edx
exit:
jmp returnhere
[DISABLE]
dealloc(newmem)
0045A19D:
mov edx,[eax+1c]
Now Execute to have Vac!
STEP 14: Click Memory view. Search --> Find Assembly Code and key in
cmp dword ptr [eax+08],13 and get the address. Tool --> Auto assemble, then template --> Code injection and put this address:
0052DC8FPaste the following...
(!empty($user->lang['QUOTE'])) ? $user->lang['QUOTE'] : ucwords(strtolower(str_replace('_', ' ', 'QUOTE'))):
[ENABLE]
alloc(newmem,1024)
label(returnhere)
label(originalcode)
label(exit)
label(check_mana)
label(finished_check)
0052DC8F:
jmp newmem
nop
nop
nop
nop
nop
returnhere:
newmem:
originalcode:
cmp dword ptr [eax+08],01 // checking for HP pot?
jne check_mana
mov dword ptr[eax+08],11 // change to auto pot
mov dword ptr[eax+10],11
check_mana:
cmp dword ptr [eax+08],02 // checking for MP pot?
jne finished_check
mov dword ptr[eax+08],12 // change to auto pot
mov dword ptr[eax+10],12
finished_check:
cmp dword ptr [eax+08],13
je 0052dd2a
exit:
jmp returnhere
[DISABLE]
dealloc(newmem)
0052DC8F:
cmp dword ptr [eax+08],13
je 0052dd2a
Now Execute to have Autopots!
I hope this help a few people! Good luck.
By the way, I didn't create this, I found it like everything else. I don't have the Authors info or I would post it here as well! I know the unpacked dekeron file came from a person named InstantDeath. And the GameGuard killer I believe came from Nebular. Sorry for anyone I might have left out!