冰楓論壇
標題:
TwMs v269.3 自動按鍵和自動藥水
[打印本頁]
作者:
wangjiaxin857
時間:
2025-4-2 17:13
標題:
TwMs v269.3 自動按鍵和自動藥水
//TwMs v269.3 自動按鍵和自動藥水
[ENABLE]
Alloc(Auto_Key_Hook,512,1430AE992)
Alloc(KeyTable,256,1430AE992)
Alloc(HPMPTable,256,1430AE992)
Alloc(AutoPotion,4,1430AE992)
Alloc(AutoKey,4,1430AE992)
AutoPotion://自動藥水開關(0=關閉,1=開啟)
dd 0
AutoKey://自動按鍵(0=關閉,1=開啟)
dd 1
HPMPTable://格式:按鍵代碼,鍵碼,延遲(毫秒),初始計時,閾值
dd 01490000, 21, #500, 0, #1500 //HP藥水 默認使用按鍵是 PgUp
dd 01510000, 22, #500, 0, #500 //MP藥水 默認使用按鍵是 PgDn
dd 0, 0, 0, 0, 0 //這行務必要保留
//請自行添加按鍵
KeyTable://格式:按鍵代碼,鍵碼,延遲(毫秒),初始計時
dd 001D0030, 11, #60000, 0 //默認是 ctrl
dd 0, 0, 0, 0 //這行務必要保留
Auto_Key_Hook:
push rbx
push rsi
push rcx
push rdx
push r8
push r9
push r10
push r11
sub rsp,20
//獲取當前時間
call 14565A690
mov ebx,eax
//檢查自動喝藥開關
cmp dword ptr [AutoPotion],1
jne Check_AutoKey //如果自動藥水開關關閉,檢查普通按鍵開關
//檢查HP/MP
mov rsi,HPMPTable
Check_HPMP:
mov ecx,dword ptr [rsi] //讀取按鍵代碼
cmp ecx,0 //檢查是否到表尾
je Check_AutoKey //檢查完自動藥水後檢查普通按鍵開關
//檢查延遲時間
mov edx,ebx
mov edi,dword ptr [rsi+0C] //獲取上次使用時間
sub edx,edi
cmp edx,dword ptr [rsi+8] //比較是否達到延遲時間
jb Next_Check
//檢查HP/MP值
mov rcx,148E7C3B0
mov rcx,[rcx]
mov edx,dword ptr [HPMPTable+4] //獲取HP藥水的鍵碼
cmp dword ptr [rsi+4],edx //與當前項的鍵碼比較
jne Check_MP_Value
Check_HP_Value:
mov rcx,[rcx+338] //HP偏移
jmp Check_Value
Check_MP_Value:
mov rcx,[rcx+348] //MP偏移
Check_Value:
mov eax,[rcx+40] //讀取當前值
cmp eax,dword ptr [rsi+10] //比較當前值和閾值
jg Next_Check
//使用藥水
mov r8,dword ptr [rsi] //按鍵代碼
mov edx,dword ptr [rsi+4] //鍵碼
mov rcx,148B6C768//Key_Base
mov rcx,qword ptr [rcx]
call 1452BE2D0//Key_Call
mov dword ptr [rsi+0C],ebx //更新使用時間
jmp Loop_End //使用藥水後直接結束
Next_Check:
add rsi,14 //移到下一個配置
jmp Check_HPMP
//檢查自動按鍵開關
Check_AutoKey:
cmp dword ptr [AutoKey],1
jne Loop_End //如果自動按鍵開關關閉,直接結束
//自動按鍵
Auto_Key:
mov rsi,KeyTable
Loop_Start:
mov ecx,dword ptr [rsi]
cmp ecx,0
je Loop_End
mov edx,ebx
mov edi,dword ptr [rsi+0C]
sub edx,edi
cmp edx,dword ptr [rsi+8]
jb Skip_Key
mov dword ptr [rsi+0C],ebx
mov r8,dword ptr [rsi]
mov edx,dword ptr [rsi+4]
mov rcx,148B6C768
mov rcx,qword ptr [rcx]
call 1452BE2D0
Skip_Key:
add rsi,10
jmp Loop_Start
Loop_End:
add rsp,20
pop r11
pop r10
pop r9
pop r8
pop rdx
pop rcx
pop rsi
pop rbx
call 143725980//Hook_Opcode
jmp 1430AE992+5//Hook_Address+5
1430AE992://Hook_Address
jmp Auto_Key_Hook
[DISABLE]
1430AE992://Hook_Address
call 143725980//Hook_Opcode
DeAlloc(Auto_Key_Hook)
DeAlloc(KeyTable)
DeAlloc(HPMPTable)
DeAlloc(AutoPotion)
DeAlloc(AutoKey)
複製代碼
歡迎光臨 冰楓論壇 (https://bingfong.com/)
Powered by 冰楓