[enable]
//更新時間 2009/11/16
//maxRush(二版定點瞬移) v109(CRC)
//原作者;maxjojo
//更新者 :tony19961125
//maxRushCounter: 設定 N 個定點數量
//maxRushOnOff : 0= 關 1= 重新抓定點 ( 設熱鍵 = 1 )
//RushCounter : 目前定點位置
//步驟1:走到定點,按F4後 跳一下 (設為第1個定點)
//步驟2:按下 F5 暫停續抓定點
//步驟3:走到下一個定點後,按F5後 跳一下 (設為下一個定點)
//重複2及3設定點,設完最後一個定點後再跳一下就會到第1個定點
//以後只要按跳就會依你所設的定點順序跳了
//要換圖 請先按 F5,等到了新地圖再從步驟1開始
registersymbol(maxRush)
registersymbol(maxRushCounter)
registersymbol(maxRushOnOff)
registersymbol(RushCounter)
alloc(maxRush, 1024)
registersymbol(HotKeyj)
alloc(HotKeyj, 128)
alloc(maxRushCounter,4)
alloc(maxRushOnOff,4)
alloc(RushCounter,4)
label(doRushNormal)
label(getEDIValue)
label(getEDIValue2)
label(getEDIValue3)
label(doRushTele)
label(doRushTeleStart)
label(doRushTeleReturn)
label(doRushTeleEnd)
label(HotchkF4)
label(HotchkF5)
label(HotchkF500)
label(normalj)
alloc(loctn,64)
alloc(After_time,4)
After_time:
dd 0
maxRushCounter:
dd 3
RushCounter:
dd 1
maxRushOnOff: // 0= 關 1= 重新抓定點 2= 續抓定點 3= 跳定點
dd 1
maxRush: //
Push Eax
Mov Eax,[00b94658] // char pointer
Add Eax,0F00
Mov Eax, [Eax]
Sub Eax, C // char pid
Cmp Esi,Eax
Pop Eax
Je doRushNormal
jmp 009887A4 ///
doRushNormal:
call doRushTele
JA 009887A4 ///
xor eax,eax
pop esi
jmp 009887A3 ///
doRushTele:
pushfd
mov eax, [00b947c0] //
mov eax,[eax+18]
cmp eax,[After_time]
jl doRushTeleReturn
mov eax, [00b947c0] //
mov eax,[eax+18]
mov [After_time],eax
add [After_time],3e8 //延遲一秒
Cmp [maxRushOnOff],1
je getEDIValue
Cmp [maxRushOnOff],2
je getEDIValue2
Cmp [maxRushOnOff],3
je doRushTeleStart
doRushTeleReturn:
popfd
ret
// platform id detect.
getEDIValue:
mov [RushCounter],1
mov eax,[esi+114]
mov [loctn+4],eax
cmp [maxRushCounter],1
jle getEDIValue3
mov [maxRushOnOff],2
jmp doRushTeleReturn
getEDIValue2:
add [RushCounter],1
mov ecx,[RushCounter]
mov eax,[esi+114]
mov [loctn+ecx*4],eax
cmp ecx,[maxRushCounter]
jge getEDIValue3
jmp doRushTeleReturn
getEDIValue3:
mov [maxRushOnOff],3
jmp doRushTeleReturn
// start charactor teleport
doRushTeleStart:
mov ecx,[RushCounter]
cmp ecx,[maxRushCounter]
jge doRushTeleEnd
add [RushCounter],1
mov ecx,[RushCounter]
mov eax,[loctn+ecx*4]
mov [esi+110],eax
jmp doRushTeleReturn
doRushTeleEnd:
mov [RushCounter],1
mov eax,[loctn+4]
mov [esi+110],eax
jmp doRushTeleReturn
0098879E: //
jmp maxRush
HotKeyj:
cmp eax,3e0000 //熱鍵 F4
je HotchkF4
cmp eax,3f0000 //熱鍵 F5
je HotchkF5
jmp normalj
HotchkF4: //重新抓定點
mov [maxRushOnOff],1
mov [RushCounter],1
jmp normalj
HotchkF5:
cmp [maxRushOnOff],0 //暫停
je HotchkF500 //等於則續抓定點
mov [maxRushOnOff],0
jmp normalj
HotchkF500:
mov [maxRushOnOff],2
jmp normalj
normalj:
and dword ptr [ebp-34],00
push ebx
jmp 0092704C
00927047:
jmp HotKeyj
[DISABLE]
0098879E://
db 77 04 33 c0 5e
00927047:
and dword ptr [ebp-34],00
push ebx
dealloc(maxRush)
dealloc(maxRushCounter)
dealloc(maxRushOnOff)
unregistersymbol(maxRush)
unregistersymbol(maxRushCounter)
unregistersymbol(maxRushOnOff)
dealloc(loctn)
unregistersymbol(RushCounter)
dealloc(RushCounter) |