[ENABLE]
registersymbol(xHookHotKey)
alloc(xHookHotKey,128)
registersymbol(xHotKey)
alloc(xHotKey,512)
label(xHotKey1)
label(xHotKey2)
label(xHotKey3)
label(xHotKey4)
label(xHotKey5)
label(xNormal)
//==========11組的空間 16*11
alloc(xKey_Skill,176)
alloc(xSkill_Set,4)
alloc(xSkill_Cnt,4)
alloc(xSkill_Run,4)
alloc(xJustDo1,4)
alloc(xJustDo2,4)
alloc(xJustDo3,4)
//==========可修改偵測組數
xSkill_Cnt:
dd 4
//==========不可修改
xSkill_Set:
dd 0
xSkill_Run:
dd 0
xJustDo1:
dd 00000000
xJustDo2:
dd 0
xJustDo3:
dd 0
//==========
xHookHotKey:
cmp [esp],00500419
//81 ? ? ? ? ? 10 27 00 00
jne ImmGetContext
mov [esp],xHotKey
jmp ImmGetContext
xHotKey:
test eax,eax
je xHotKey1
lea ecx,[esi+00007498]
call 0042259E
je 0050043D
jmp xNormal
xHotKey1:
pushad
cmp [xSkill_Cnt],1
jl xNormal
cmp [xSkill_Set],1 //是否設熱鍵
je xHotKey2
//==========
//PgUp 01490000 //1864
//PgDown 01510000 //1894
//Insert 01520000 //184c
//Delete 01530000 //187c
//Home 01470000 //1858
//End 014f0000 //1888
//==============鍵盤按鍵代碼
//00020000 =1 鍵盤列往右+1 2 = 00030000
//00100000 =q 鍵盤列往右+1 w = 00110000
//001e0000 =a 鍵盤列往右+1 s = 001f0000
//002c0000 =z 鍵盤列往右+1 x = 002d0000
//====讀取熱鍵設定
mov ecx,0 //第1組
imul eax,ecx,10
mov [xKey_Skill+eax+00],01470000 //魔心
mov [xKey_Skill+eax+04],00004e20 //600秒
mov [xKey_Skill+eax+08],0000012c //延遲時間
mov [xKey_Skill+eax+0c],00000000 //下次施放時間
//====
inc ecx //第2組
imul eax,ecx,10
mov [xKey_Skill+eax+00],01490000 //天祝
mov [xKey_Skill+eax+04],00004e20 //240秒
mov [xKey_Skill+eax+08],000003e8 //延遲時間
mov [xKey_Skill+eax+0c],00000000 //下次施放時間
//====
inc ecx //第3組
imul eax,ecx,10
mov [xKey_Skill+eax+00],01520000 //神聖之光
mov [xKey_Skill+eax+04],00004e20 //240秒
mov [xKey_Skill+eax+08],000003e8 //延遲時間
mov [xKey_Skill+eax+0c],00000000 //下次施放時間
//====要增加熱鍵請複製下列這組
inc ecx //第4組
imul eax,ecx,10
mov [xKey_Skill+eax+00],014f0000 //祈禱
mov [xKey_Skill+eax+04],00004e20 //120秒
mov [xKey_Skill+eax+08],000007d0 //延遲時間
mov [xKey_Skill+eax+0c],00000000 //下次施放時間
//====
xor edi,edi
xor ebx,ebx
xor edx,edx
mov [xSkill_Set],1 //已設好
xHotKey2:
mov eax,[00E1CFF0]
mov eax,[eax+1c]
cmp eax,[xSkill_Run] //是否過了延遲時間
jl xHotKey4
sub eax,7d0 //提前2秒檢測(最長延遲2秒)
mov edi,0
xHotKey3:
cmp edi,[xSkill_Cnt]
jge xNormal
imul ecx,edi,10
mov ebx,[xKey_Skill+ecx+0c]
cmp ebx,0
je xHotKey5
cmp eax,ebx
jge xHotKey5
inc edi
jmp xHotKey3
xHotKey4:
cmp [xJustDo2],0
je xNormal
call clock
mov [xJustDo2],0
cmp eax,[xJustDo3]
jg xNormal
mov [xJustDo2],1
mov eax,[xJustDo1]
mov [ebp+0c],eax
jmp xNormal
xHotKey5:
//====強制變更按鍵
mov ebx,[xKey_Skill+ecx+00]
mov [ebp+0c],ebx
mov [xJustDo1],ebx
mov [xJustDo2],1
mov eax,[00E1CFF0]
mov eax,[eax+1c]
mov [xJustDo3],eax
mov edx,[xKey_Skill+ecx+04]
add eax,edx
mov [xKey_Skill+ecx+0c],eax
sub eax,edx
mov edx,[xKey_Skill+ecx+08]
add eax,edx
mov [xSkill_Run],eax
xor eax,eax
mov eax,[xJustDo3]
add eax,a
mov [xJustDo3],eax
jmp xNormal
xNormal:
popad
push [ebp+0C]
mov ecx,[00E1847C]
push [ebp+08]
jmp 00500438
00E25FD4:
DD xHookHotKey
[DISABLE]
00E25FD4:
DD ImmGetContext
//===========
dealloc(xHookHotKey)
unregistersymbol(xHookHotKey)
dealloc(xHotKey)
unregistersymbol(xHotKey)
2014年2月6日 星期四
TwMS v1.50.2_ICS_熱鍵技能不漏放
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言