以下是我參考很多位大大的心血所修改出來的,有興趣的人就自行取用吧~
語法概述:
1.請用按鍵精靈啟動
2.啟動後就可以背景執行(不過關於顏色,小弟仍無法改善,若有高手大大可以指教一下如何抓記憶體內的顏色碼)
3.內有自動喝紅水跟藍水,各三組(1~3紅水 4~6藍水)
4.有自動放技能,但因顏色判別可能會有些問題
5.使用時因HP跟MP的記憶體基碼,我是以我電腦抓出來的,就不知道各位大大的合不合了
PS:小弟已經測試過了,紅水跟藍水不會亂喝,技能也可以施放
Plugin hwnd = Window.GetKeyFocusWnd()
Rem
//hp剩下多少喝水就是後面括號的地方數字自己改
dhp1=int(10000)
dhp2=int(8000)
dhp3=int(6000)
//mp剩下多少喝水
dmp1=int(600)
dmp2=int(450)
dmp3=int(300)
//hp基址
VBSCall ReadMemory(&H0F284960,2,ghp)
//VBSCall ReadMemory(&H0F284964,2,maxghp)
//目前血量內存位址
HP_Addr = int(ghp)
//最大血量內存位址
MaxHP = int(maxghp)
//mp基址
VBSCall ReadMemory(&H0C95A1B4,2,gmp)
//VBSCall ReadMemory(&H0C95A1B8,2,maxgmp)
//目前魔法內存位址
MP_Addr = int(gmp)
//最大魔法內存位址
MixMP = int(maxgmp)
//將內存位址以變數傳入
//VBSCall ReadMemory(HP_Addr,1,HP)
//VBSCall ReadMemory(MP_Addr,1,MP)
//VBSCall ReadMemory(mixHP,1,TOP_HP)
//VBSCall ReadMemory(mixMP,1,TOP_MP)
If HP_Addr<dhp1
Gosub hp1
Delay 1000
EndIf
If MP_Addr<dmp1
Delay 1000
Gosub mp1
EndIf
If HP_Addr<dhp2
Gosub hp2
Delay 1000
EndIf
If MP_Addr<dmp2
Gosub mp2
Delay 1000
EndIf
If HP_Addr<dhp3
Gosub hp3
Delay 1000
EndIf
If MP_Addr<dmp3
Gosub mp3
Delay 1000
EndIf
//施放技能
VBSCall SkillColor=GetPixelColor(136,88)
If SkillColor
IfColor 136,88,F7FBFF,1
Plugin Window.SendKeyPress(hwnd,116)
Delay 5000
Plugin Window.SendKeyPress(hwnd,117)
EndIf
Goto
Sub hp1
//第一組紅水
Plugin Window.SendKeyPress(hwnd,49)
Return hp1
Sub mp1
//第一組藍水
Plugin Window.SendKeyPress(hwnd,52)
Return mp1
Sub hp2
//第二組紅水
Plugin Window.SendKeyPress(hwnd,50)
Return hp2
Sub mp2
//第二組藍水
Plugin Window.SendKeyPress(hwnd,53)
Return mp2
Sub hp3
//第三組紅水
Plugin Window.SendKeyPress(hwnd,51)
Return hp3
Sub mp3
//第三組藍水
Plugin Window.SendKeyPress(hwnd,54)
Return mp3 |