xfmxd52 發表於 2026-5-23 15:35:52

TwMs v279.1 自動按鍵和自動藥水

//TwMs v269.3 自動按鍵和自動藥水



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 ,1

jne Check_AutoKey                //如果自動藥水開關關閉,檢查普通按鍵開關



//檢查HP/MP

mov rsi,HPMPTable

Check_HPMP:

mov ecx,dword ptr     //讀取按鍵代碼

cmp ecx,0                  //檢查是否到表尾

je Check_AutoKey           //檢查完自動藥水後檢查普通按鍵開關



//檢查延遲時間

mov edx,ebx

mov edi,dword ptr //獲取上次使用時間

sub edx,edi

cmp edx,dword ptr   //比較是否達到延遲時間

jb Next_Check



//檢查HP/MP值

mov rcx,148E7C3B0

mov rcx,

mov edx,dword ptr   //獲取HP藥水的鍵碼

cmp dword ptr ,edx        //與當前項的鍵碼比較

jne Check_MP_Value



Check_HP_Value:

mov rcx,          //HP偏移

jmp Check_Value



Check_MP_Value:

mov rcx,          //MP偏移



Check_Value:

mov eax,           //讀取當前值

cmp eax,dword ptr //比較當前值和閾值

jg Next_Check



//使用藥水

mov r8,dword ptr      //按鍵代碼

mov edx,dword ptr   //鍵碼

mov rcx,148B6C768//Key_Base

mov rcx,qword ptr

call 1452BE2D0//Key_Call

mov dword ptr ,ebx //更新使用時間

jmp Loop_End               //使用藥水後直接結束



Next_Check:

add rsi,14                 //移到下一個配置

jmp Check_HPMP



//檢查自動按鍵開關

Check_AutoKey:

cmp dword ptr ,1

jne Loop_End              //如果自動按鍵開關關閉,直接結束



//自動按鍵

Auto_Key:

mov rsi,KeyTable



Loop_Start:

mov ecx,dword ptr

cmp ecx,0

je Loop_End

mov edx,ebx

mov edi,dword ptr

sub edx,edi

cmp edx,dword ptr

jb Skip_Key

mov dword ptr ,ebx

mov r8,dword ptr

mov edx,dword ptr

mov rcx,148B6C768

mov rcx,qword ptr

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





1430AE992://Hook_Address

call 143725980//Hook_Opcode



DeAlloc(Auto_Key_Hook)

DeAlloc(KeyTable)

DeAlloc(HPMPTable)

DeAlloc(AutoPotion)

DeAlloc(AutoKey)  有大大更新嗎

頁: [1]
查看完整版本: TwMs v279.1 自動按鍵和自動藥水