


alloc(newmem,2048)
alloc(NO_OFF,10)
label(code)
label(start)
label(exit)
label(next)
newmem:
pushad
mov ebp,esp
sub esp,8
mov eax,[1AB7CDC]
mov eax,[eax+b8]
cmp eax,0//进图判断
je exit
mov ebx,[eax+b0]
mov [ebp-4],ebx//开头单位指针,此指针每次循环都+4
mov ebx,[eax+b4]
sub ebx,4
mov [ebp-8],ebx//结束单位指针
//开始循环遍历地图各单位
start:
mov ebx,[ebp-4]
mov ecx,[ebx]
mov eax,[ecx+644]
cmp eax,0//判断阵营,跳过自己人
je next
cmp [ecx+90],#529//怪物
je code
cmp [ecx+90],#273//apc
je code
jne next
//可以开始进行自己对单位的操作了
code:
pushad
push 0
push 0
push 0
push 0
push 0
push 0
push 4
push 0
push 0
push 0//Z轴
push [ecx+3CE8]//y
push [ecx+3CE4]//x
push #66666//伤害
push #20022//代码
mov ecx,1AB7CDC//人物基址
mov ecx,[ecx]
push ecx
call 86EC60// #模拟call
popad
//进入下一次循环
next:
cmp ebx,[ebp-8]
je exit
add [ebp-4],4
jmp start
exit:
mov esp,ebp
push #200
call sleep //延迟函数当下段用
cmp [NO_OFF],#1//判断开关
jne @f
jmp newmem
@@:
popad
ret
[ENABLE]
NO_OFF:
dd #1
CREATETHREAD(newmem)
[DISABLE]
NO_OFF:
dd #0