alloc(new,1024)
label(lop)
label(state)
label(getstate)
label(next)
label(end)
new:
pushad
mov eax,[1AB7CDC]//人物基址
mov eax,[eax+b8]//进图判断
cmp eax,0
je end
mov eax,[1AB7CDC]//人物基址
add eax,18c//18C x坐标偏移
mov [1800100],eax //x坐标
add eax,4//190 y坐标
mov [1800104],eax //y坐标
mov eax,[1AB7CDC]//人物基址
mov eax,[eax+b8]//
mov eax,[eax+b0]// eax 里为首地址
lop:
mov ebx,[eax]
mov ebx,[ebx+90]//obj类型
cmp ebx,#273//APC
je state
cmp ebx,#529//怪物
je state
cmp ebx,#289//物品
je state
jmp next
state:
mov ecx,[eax]
mov ebx,[ecx+644]//阵营
cmp ebx,0
jne getstate
jmp next
getstate: //吸
mov ecx,[eax]
mov ebx,[ecx+a8]//基址+a8
add ebx,c//基址+A8+C x坐标
mov ecx,[1800100]
mov ecx,[ecx]
mov [ebx],ecx
add ebx,4//基址+A8+10 y坐标
mov ecx,[1800104]
mov ecx,[ecx]
mov [ebx],ecx
next:
add eax,4
mov ebx,[1AB7CDC]//人物基址
mov ebx,[ebx+b8]//
mov ebx,[ebx+b4]//
cmp eax,ebx //判断
jne lop
mov cx,ffff
end:
dec cx
cmp cx,0
jne end
popad
cmp [1800108],1
jne new
ret
[ENABLE]
1800108:
dd 0
CreateThread(new)
[DISABLE]
dealloc(new)
1800108:
dd 1
label(lop)
label(state)
label(getstate)
label(next)
label(end)
new:
pushad
mov eax,[1AB7CDC]//人物基址
mov eax,[eax+b8]//进图判断
cmp eax,0
je end
mov eax,[1AB7CDC]//人物基址
add eax,18c//18C x坐标偏移
mov [1800100],eax //x坐标
add eax,4//190 y坐标
mov [1800104],eax //y坐标
mov eax,[1AB7CDC]//人物基址
mov eax,[eax+b8]//
mov eax,[eax+b0]// eax 里为首地址
lop:
mov ebx,[eax]
mov ebx,[ebx+90]//obj类型
cmp ebx,#273//APC
je state
cmp ebx,#529//怪物
je state
cmp ebx,#289//物品
je state
jmp next
state:
mov ecx,[eax]
mov ebx,[ecx+644]//阵营
cmp ebx,0
jne getstate
jmp next
getstate: //吸
mov ecx,[eax]
mov ebx,[ecx+a8]//基址+a8
add ebx,c//基址+A8+C x坐标
mov ecx,[1800100]
mov ecx,[ecx]
mov [ebx],ecx
add ebx,4//基址+A8+10 y坐标
mov ecx,[1800104]
mov ecx,[ecx]
mov [ebx],ecx
next:
add eax,4
mov ebx,[1AB7CDC]//人物基址
mov ebx,[ebx+b8]//
mov ebx,[ebx+b4]//
cmp eax,ebx //判断
jne lop
mov cx,ffff
end:
dec cx
cmp cx,0
jne end
popad
cmp [1800108],1
jne new
ret
[ENABLE]
1800108:
dd 0
CreateThread(new)
[DISABLE]
dealloc(new)
1800108:
dd 1