不想用Q群里面打无良广告、运行后再删除程序仍有相关注册表项目清不掉、更没有制作公司或制作人合法签名的EXE文件,所以自行尝试AHK代码。接触AHK没几天,网上搜到的相关代码只搜到一个B站视频带有代码,但不弄成文字我咋复制?自行尝试写了一份。非程序员,代码冗杂什么的可处理不了。仅供参考。
以下是全部代码,若运行提示错误把分号和中文去掉一些。能适用于文章标题功能,具体看代码注释部分,已测试可用。
#IfWinActive ahk_exe BNSR.exe ;只在剑灵窗口开启/暂停/继续AHK,可删除
;气功用[开启,大部分代码和剑士的相同,此文只保留剑士的
;枪手用]开启,大部分代码和剑士的相同,此文只保留剑士的
;剑士用9开启
;都是用0暂停/继续/重载
;启动AHK后这4个键(此文2个键9和0)是不能做为字符在游戏里面输入的
F1::
MouseGetPos, mouseX, mouseY
PixelGetColor, color, %mouseX%, %mouseY%, RGB
clipboard = (%mouseX%,%mouseY%)=="%color%" ;用F1取色,并复制到剪贴板
return
;上面5行是取色用途,每次启动游戏部分窗口位置不一样(打怪点位置换了也需要改)
;用法:鼠标移动到需要取色的位置按F1,然后坐标和色值就在剪贴板了
;游戏需要用到F1把此段落删除或每一行前面加分号注释掉
9::
Loop
{
{
send t
sleep 10
if (GetColor(389,851)=="0x656565") ;Q键没有亮起就转向(也可以取目标血条最左端)
{
send {left down}
sleep 300 ;按下方向键LEFT0.3秒转向
send {left up}
}
}
if (GetColor(470,955)=="0x17A6C5" OR GetColor(484,952)=="0x5D8F9C") ;剑士c键技能,消除i,j键窗口没有退出的影响
{
send c
}
if (GetColor(389,851)!="0x656565") ;Q键亮起使用技能,攻击2500以上此处IF删掉就按T可以了
{
if (GetColor(393,805)=="0xA0A1C0") ;展开
{
send {tab}
}
if (GetColor(523,952)=="0x5B7DDF") ;苍龙舞
{
send v
}
if (GetColor(522,907)=="0xD7E8C1") ;天隙流光
{
send 4
}
if (GetColor(431,796)=="0x589AE5") ;御剑连斩
{
click
}
if (GetColor(403,675)=="0xD5CAB3") ;星,我已更改为R键(可以shift+e,代码写法我注释掉的部分)
{
send r
;send {LShift down}
;sleep 100
;send e
;send {LShift up}
}
}
if (GetColor(1685,1054)=="0xA42402" AND GetColor(1671,1043)!="0xDBDBDB") ;有人申请队伍
;AND后面是避免礼品箱取的礼品箱上的色值,前面是有人申请队伍时出现的图标上取的点
{
send {alt down} ;这里需要呼出鼠标指针
sleep 50
click 1685,1054 ;同IF里面
send {alt up}
sleep 300
click 1685,590 ;接受2个字位置上的
}
if (GetColor(394,141)=="0xF3F3F4" AND GetColor(623,671)=="0xF7E401") ;在线奖励(和申请队伍图标冲突,取色该窗口2个点)
{
send {esc} ;这个窗口无目标技能消除不了,所以写了这个IF
}
if (GetColor(1471,966)=="0xEACD63" AND GetColor(1488,993)=="0xFFFFFF") ;被人邀请队伍,弹出窗口上取色2个点
{
send y
}
if ((GetColor(1640,1048)=="0x6D322A" OR GetColor(1631,1036)=="0xC24D50") AND GetColor(825,99)!="0xF0771E") ;武器损坏
{
send 5
sleep 5000
}
if (GetColor(1132,761)=="0xFFAF00") ;拾取
{
send f
sleep 150
send f
sleep 150
send f
sleep 150
send y ;可能橙色竞拍,拾取到紫色物品
}
if (GetColor(1651,379)=="0xC59C70" AND GetColor(389,851)=="0x656565") ;完成任务后接取任务,前个点在任务完成图标上
;AND后面是Q键没亮即没有战斗目标
{
send i
sleep 1000
click 1651,379
sleep 100
c:=0
while (c<9)
{
send f
sleep 100
c++
}
send j
sleep 1000
click 561,279 ;入手书信4个字位置
sleep 500
click 632,350 ;入手书信勇猛任务图标
sleep 100
c:=0
while (c<9)
{
send f
sleep 100
c++
}
if (GetColor(1649,722)=="0xBC9C50") ;接了净化之光任务会占勇猛图标,必须增加此处
{
click 1727,825 ;选神秘水碎片
sleep 150
send f
}
sleep 100
send j ;再次按j和i退出这2个窗口,有可能没有退出,所以上文有【剑士c键技能】语句
sleep 100
send i
sleep 100
}
;下面的IF避免接取任务时被怪打到而不接任务,AND前面是小地图出现的几个蓝色箭头、后面是没战斗目标的情况
if ((GetColor(1764,41)=="0x23A4E0" OR GetColor(1827,41)=="0x229FD9" OR GetColor(1883,56)=="0x219AD2") AND GetColor(389,851)=="0x656565")
{
send j
sleep 1000
click 561,279 ;入手书信4个字位置
sleep 500
click 632,350 ;入手书信勇猛任务图标
sleep 100
c:=0
while (c<9)
{
send f
sleep 100
c++
}
sleep 150
send j
}
}
Return
0::
reload ;重载,有pause功能(适合一个文件定义了几个热键的情况,我这已把气功、枪手的代码删了,可改用pause)
return
GetColor(x,y)
{
PixelGetColor, color, x, y, RGB
StringRight color,color,10 ;
return color
}
Return
;再次强调,加入一个无目标可用的技能避免任务窗口或者背包窗口(j和i)没有退出而不攻击 作者:未认证的二等兵士 https://www.bilibili.com/read/cv12978691?from=search 出处:bilibili