[enable] 
//單純控怪方向 for TWMS0109 
//功能:走,跳怪方向【左趴往左,右趴往右,坐下停止控制】 
//致命的吸引力【定點及跟隨角色二種模式,啟動方式提示:5秒】 
//================================================= 
alloc(MyLR,1024) 
registersymbol(MyLR) 
alloc(MyDir,4) 
alloc(MyCt,4) 
alloc(MyPt1,4) 
label(MyLR1) 
label(GoLR) 
label(GoLR1) 
label(GoLR2) 
label(GoLR3) 
label(GoLR4) 
label(GoLR5) 
label(GoLRback) 
label(JmpLR) 
label(JmpLR1) 
label(JmpLR2) 
label(JmpLRback) 
label(MyState) 
label(MyCharX) 
label(LRDir1) 
label(LRDir2) 
label(LRDir3) 
label(LRDir4) 
label(LRDir5) 
label(LRDir6) 
MyDir: 
DD 1 
MyLR: 
pop edi 
pop esi 
pop ebp 
pop ebx 
push eax 
cmp [00b94668],00000000                   
je MyLR1 
//mov eax,[00B38708] 
//mov eax,[eax+18] 
//cmp eax,0 
//jne MyLR1 
pop eax 
cmp dword ptr [esp], 00990260 
je GoLR 
cmp dword ptr [esp], 00990698 
je JmpLR 
ret 
MyLR1: 
pop eax 
ret 
//================================ 
GoLR: 
add esp,4 
call MyState 
push 03 
pop ecx 
mov [edi+20],eax 
xor edx,edx 
div ecx 
cmp [MyDir], 1 
je GoLRback 
cmp [MyDir], 3 
je GoLR1 
cmp [MyDir], 4 
je GoLR3 
cmp edx, [MyDir] 
je GoLRback 
mov [esi+000004e0],0 
jmp GoLRback 
GoLR1: 
push eax 
call MyCharX 
jmp GoLR4 
GoLR3: 
push eax 
mov eax,[MyPt1] 
GoLR4: 
cmp edx, 1 
je GoLR5           
jg GoLR2 
cmp eax,[esi+1c4] 
pop eax 
mov [esi+000004e0],5 
jl GoLRback 
mov [esi+000004e0],0 
jmp GoLRback 
GoLR2: 
cmp eax,[esi+1c4] 
pop eax 
mov [esi+000004e0],5 
jg GoLRback 
mov [esi+000004e0],0 
jmp GoLRback 
GoLR5: 
pop eax 
mov [esi+000004e0],0 
GoLRback: 
jmp 0099026A 
//================================ 
JmpLR: 
add esp,4 
call MyState 
cmp [MyDir], 1 
je JmpLRback 
cmp [MyDir], 2 
mov eax,2 
je JmpLRback 
cmp [MyDir], 0 
mov eax,3 
je JmpLRback 
cmp [MyDir], 4 
je JmpLR1 
call MyCharX 
jmp JmpLR2 
JmpLR1: 
mov eax,[MyPt1] 
JmpLR2: 
cmp eax,[esi+1c4] 
mov eax,2 
mov [esi+000004e0],5 
jg JmpLRback 
mov eax,3 
JmpLRback: 
push 03 
jmp  0099069A 
//================================ 
MyCharX: 
mov eax [00B94658]// 8B 0D ?? ?? ?? 00 E8 ?? ?? ?? ?? EB ?? 8B ?? ?? F7 
mov eax, [eax+0E50] 
ret 
//================================ 
MyState: 
push eax 
mov eax, [00B94658]  
mov eax, [eax+0398]  
cmp eax, a  
je LRDir1 
cmp eax, b  
je LRDir2 
cmp eax, 14 
je LRDir3 
cmp eax, 15 
je LRDir3 
mov [MyCt], 0 
jmp LRDir4 
LRDir1: 
mov [MyDir],2 
cmp [MyCt], 32 
ja LRDir5 
inc [MyCt] 
jmp LRDir4 
LRDir2: 
mov [MyDir],0 
cmp [MyCt], 32 
ja LRDir6 
inc [MyCt] 
jmp LRDir4 
LRDir3: 
mov [MyDir],1 
jmp LRDir4 
LRDir5: 
mov [MyDir],3 
jmp LRDir4 
LRDir6: 
mov [MyDir],4 
call MyCharX 
mov [MyPt1],eax 
LRDir4: 
pop eax 
ret 
00415F2E:   
jmp MyLR 
[disable] 
00415F2E:  
db 5f 5e 5d 5b c3 
dealloc(MyLR) 
unregistersymbol(MyLR) 
dealloc(MyDir) 
dealloc(MyCt) 
dealloc(MyPt1) |