冰楓論壇
標題:
maxRush(定點瞬移) v1.3 for TWMS V.98
[打印本頁]
作者:
qkckcqkckcq
時間:
2012-9-26 12:27
標題:
maxRush(定點瞬移) v1.3 for TWMS V.98
//maxRush(定點瞬移) v1.3 for TWMS V.98
//原作者;maxjojo
//maxRush v1.3 Address:008F518B aob=77 ? 33 c0 5e c3 6a ? 58 5e c3 55
//EIP:maxRush
//maxRushCounter: 設定 N 個定點數量
//maxRushOnOff : 0= 抓定點位置 1=啟動瞬移
//RushCounter : 目前定點位置
//Round : 設定第幾圈,會跳到第 N+1 的定點,0為不啟動。
[ENABLE]
registersymbol(maxRush)
registersymbol(maxRushCounter)
registersymbol(maxRushOnOff)
registersymbol(RushCounter)
alloc(maxRush, 1024)
alloc(maxRushCounter,4)
alloc(maxRushOnOff,4)
alloc(RushCounter,4)
label(doRushNormal)
label(getEDIValue)
label(doRushTele)
label(doRushTeleStart)
label(doRushTeleReturn)
label(doRushResetCounterEnd)
alloc(loctn,64)
label(doRushTeleEnd)
label(doEnd)
registersymbol(Round)
alloc(Round,4)
alloc(VarRound,4)
alloc(After_time,4)
Round:
dd 0
VarRound:
dd 0
maxRushCounter:
dd 2
RushCounter:
dd 1
maxRushOnOff:
dd 0
// {1: On, (char teleport, 定點瞬移) |
// 0: Off (platform id detect,平台ID檢測) }
//配合 KK 抓取位置
00400fd0:
dd maxRush
After_time:
dd 0
maxRush:
Push Eax
Mov Eax,[00adc0d4] // char pointer
Add Eax, 0D6C
Mov Eax, [Eax]
Sub Eax, C // char pid
Cmp Esi,Eax
Pop Eax
Je doRushNormal
jmp 008F5191
doRushNormal:
call doRushTele
ja 008F5191
jmp 008F518D
doRushTele:
pushfd
mov eax, [00ae0714]
mov eax,[eax+1dc]
cmp eax,[After_time]
jl doRushTeleReturn
mov eax, [00ae0714]
mov eax,[eax+1dc]
mov [After_time],eax
add [After_time],3e8 //延遲一秒
Cmp [maxRushOnOff],0
je getEDIValue
call doRushTeleStart
doRushTeleReturn:
popfd
ret
// platform id detect.
getEDIValue:
mov eax,[esi+114]
lea edx,[loctn]
mov ecx,[RushCounter]
shl ecx,1
shl ecx,1
mov [edx+ecx],eax
jmp doRushTeleReturn
// start charactor teleport
doRushTeleStart:
add [RushCounter],1
mov ebx,[maxRushCounter]
cmp [RushCounter],ebx
ja doRushTeleEnd
lea edx,[loctn]
mov ecx,[RushCounter]
shl ecx,1
shl ecx,1
mov eax,[edx+ecx]
mov [esi+110],eax
jmp doRushResetCounterEnd
doRushTeleEnd:
cmp [Round],0
je doEnd
add [VarRound],1
mov ebx,[Round]
cmp [VarRound],ebx
jbe doEnd
mov [VarRound],0
lea edx,[loctn]
mov ecx,[RushCounter]
shl ecx,1
shl ecx,1
mov eax,[edx+ecx]
mov [esi+110],eax
jmp doRushResetCounterEnd
doEnd:
mov [RushCounter],0 // reset counter (歸零重來)
jmp doRushTeleStart
doRushResetCounterEnd:
ret
[DISABLE]
dealloc(maxRush)
dealloc(maxRushCounter)
dealloc(maxRushOnOff)
dealloc(PlatformIDList)
unregistersymbol(maxRush)
unregistersymbol(maxRushCounter)
unregistersymbol(maxRushOnOff)
dealloc(loctn)
unregistersymbol(RushCounter)
dealloc(RushCounter)
unregistersymbol(Round)
dealloc(Round)
dealloc(VarRound)
dealloc(After_time)
複製代碼
歡迎光臨 冰楓論壇 (https://bingfong.com/)
Powered by 冰楓