- UID
- 8784
- 帖子
- 4732
- 主題
- 343
- 精華
- 0
- 積分
- 3298
- 楓幣
- 2833
- 威望
- 3240
- 存款
- 0
- 贊助金額
- 0
- 推廣
- 0
- GP
- 9
- 閱讀權限
- 90
- 性別
- 保密
- 在線時間
- 1162 小時
- 註冊時間
- 2012-6-9
- 最後登入
- 2025-1-6
|
- //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)
複製代碼 |
|