TwMS v1.46.3_ICS_人物座標左右走
//TwMS v1.46.3_ICS_人物座標左右走
//原創:Onion
//好處是不會有偏移問題(需開起小地圖)
[Enable]
Alloc(AutoLRICS,512)
Alloc(SetX,4)
Alloc(MyLR,4)
Label(AutoLR)
Label(GetWall)
Label(GetChrX)
Label(GoRight)
Label(GoLeft)
SetX:
ReadMem([00D39410]+F90, 4)
MyLR:
DD 1 //開啟後向右走
00D3E7C8:
DD AutoLRICS
AutoLRICS:
Cmp [Esp],008F828F
Jne GetFocus
Mov [Esp],AutoLR
Jmp GetFocus
AutoLR:
Call GetWall
Mov [ebp-04],Eax
Xor Ecx,Ecx
Xor Eax,Eax
Cmp [ebp-04],Eax
Jmp 008F8559
GetWall:
Call GetChrX
Mov Ecx,[SetX]
Sub Eax,Ecx //角色X值 - 設定X值
Cmp Eax,0
Jle GoRight
Call GetChrX
Mov Ecx,[SetX]
sub Ecx,Eax //設定X值 - 角色X值
cmp Ecx,0
Jle GoLeft
Mov Eax,[MyLR]
Ret
GetChrX:
Mov Eax,[00D39410]
Mov Eax,[Eax+F90]
Ret
GoRight:
Mov [MyLR],1
Mov Eax,1
Ret
GoLeft:
Mov [MyLR],FFFFFFFF
Mov Eax,FFFFFFFF
Ret
[Disable]
00D3E7C8:
DD GetFocus
DeAlloc(MyLR)
DeAlloc(SetX)
DeAlloc(AutoLRICS)
版主,您好
回覆刪除如果您方便的話,
可以教一下這個數據該如何更新嗎
他看起來跟AOB不太像
所以我也不知道該如何更新
[Enable]
//TEMS146定時無敵 + 損血
//Made by 歐歐=]
alloc(GodMode,64)
alloc(GetNowHP,128)
alloc(OuDelayHook,64)
alloc(OuDelay,256)
alloc(OuDelayNew,128)
alloc(OuDelayTimer,256)
alloc(OuDelayFinish,256)
alloc(OuDelayFinishA,256)
alloc(OuDelayFinishB,256)
alloc(OuDelayTime,4)
alloc(OuDelayStatus,4)
alloc(OuDelayCount,12)
alloc(OuLossHPValue,12)
alloc(OuLossHPCount,4)
alloc(OuLossHPValue,4)
alloc(OuLossHPCount,4)
OuDelayTime:
dd 7530 //預設:50秒/延遲時間(毫秒)
GetNowHP:
mov eax,[00D34C1C]
add eax,48
mov [eax],19
mov eax,[00D34F08]
mov eax,[eax+2134]
ret
OuDelayHook:
Cmp [Esp],005EA13F
Jne IsRectEmpty
Mov [Esp],OuDelay
Jmp IsRectEmpty
OuDelay:
Cmp [OuDelayStatus],1
Je OuDelayFinish
Cmp [OuDelayCount],0
Je OuDelayNew
Jmp OuDelayTimer
OuDelayNew:
Push Eax
Call GetTickCount
Add Eax, [OuDelayTime]
Mov [OuDelayCount],Eax
Pop Eax
Jmp OuDelay
OuDelayTimer:
Push Eax
Call GetTickCount
Cmp Eax, [OuDelayCount]
Pop Eax
Jle GodMode
push eax
call GetNowHP
mov [OuLossHPValue],eax
pop eax
mov [OuDelayCount], 0
Mov [OuDelayStatus],1
Jmp OuDelay
OuDelayFinish:
push eax
call GetNowHP
cmp [OuLossHPValue],eax
pop eax
jne OuDelayFinishA
jmp 005EA13F
OuDelayFinishA:
add [OuLossHPCount],1
push eax
call GetNowHP
mov [OuLossHPValue],eax
pop eax
cmp [OuLossHPCount],5 //無敵時間到後,血量變更次數
jge OuDelayFinishB
jmp 005EA13F
OuDelayFinishB:
mov [OuLossHPCount],0
Mov [OuDelayStatus],0
jmp 005EA13F
GodMode:
Test eax,eax
Jmp 005EA143
00D3D794:
dd OuDelayHook
[Disable]
00D3D794:
dd IsRectEmpty
dealloc(GodMode)
dealloc(GetNowHP,)
dealloc(OuDelayHook)
dealloc(OuDelay)
dealloc(OuDelayNew)
dealloc(OuDelayTimer)
dealloc(OuDelayFinish)
dealloc(OuDelayFinishA)
dealloc(OuDelayFinishB)
dealloc(OuDelayTime)
dealloc(OuDelayStatus)
dealloc(OuDelayCount)
dealloc(OuLossHPValue)
dealloc(OuLossHPCount)
dealloc(OuLossHPValue)
dealloc(OuLossHPCount)
基本上這數據要更新的跟一般的完全無敵一樣
刪除他只是加了超級多的判斷式來達到秒數控制跟血量變更偵測的目的
喔!還有一個是血量的Pointer,你可以參考Pointer更新教學
如果要的話我更新好給你看
謝謝您~
刪除另外能否指導這個數據該如何更新
以後我就能嘗試自己更新了~"~
是只要更新幾個位址就好嗎
判斷的地方都不用動@_@?
基本上是的
刪除