教你如何编写一个简单的符合自己需求的AHK脚本(附代码
注意!有可能会被封号!注意!有可能会被封号!注意!有可能会被封号!(不过发邮件给客服可解)下载的教程可以看这篇帖子http://bbs.17173.com/thread-11190886-1-1.html开始正题,从一键喝药开始
$1::
Send {1}
Send {2}
Send {3}
Send {4}
Send {5}
Return这个是简单的一键喝药脚本,第一行的$1::表示按下1触发12345五个键位,$表示1这个键被下面的代码替代了,所以不会触发循环,return结束。大括号里面只有一个命令时可以不加,复杂的命令则必须要加
学会这个之后可以考虑一些别的操作
比如熔岩护盾这个技能由护甲决定数值,我们有坚岩药水+3000护甲放在键1,有一个其他药水可以在药水持续时间内加100%护甲放在键2
我们想要每次按下熔岩护盾时触发这两个药水获得更高的数值,可以这样写
$^r::
Send 1
Send 2
Sleep 20
Send ^r
Return把熔岩护盾这个技能放在ctrl+r(^表示ctrl键,^r就是ctrl+r),$屏蔽Ctrl+r键不会无限循环
(为什么要放在ctrl+r是因为不会干扰你在168聊天吹牛{:3127:})
sleep 20 表示触发12之后等待20毫秒防止网络延迟,具体数值可以自己调整,return表示结束
然后是地雷自动引爆
有简单的
Loop{
Send d
Sleep 350
}loop表示循环执行下面的代码,这段代码就表示每隔350毫秒按一次d,除非手动退出ahk,否则不会停止
不过,因为有链爆地雷这个技能的存在,一直按d键会丢失大量dps,所以我们用右键松开引爆的方法(因为我喜欢右键扔雷,想改的话把所有的RButton改成你想要的键)
$RButton::
Send {RButton Down}
Loop
{
GetKeyState, state, RButton , P
if state = U
{
Send {RButton Up}
Sleep 130
Send {d}
Break
}
}
Return这段代码也很好理解
$RButton:: 表示屏蔽鼠标右键,并用下面的代码替代
Send, {RButton Down} 表示发送鼠标右键按下的指令
Loop{ 表示循环
{}里表示循环内容
GetKeyState, state, RButton , P 表示监视鼠标状态,state为状态参数,有U和D两种,U是Up表示抬起,D为Down表示按下,RButton表示被监视的键位是鼠标右键,P表示获取物理状态
if state = U表示如果鼠标的物理状态为抬起
{}里表示如果鼠标右键抬起会发生的事情
Send {RButton Up}表示发送弹起鼠标右键的指令
Sleep 130表示等待130毫秒防止网络延迟
Send {d}表示发送d键
break表示跳出循环
return表示结束用地雷杖的可以参考一下这段
$RButton::
Send {RButton Down}
Loop
{
GetKeyState, state, RButton , P
if state = U
{
Send {RButton Up}
Sleep 130
Send {d}
Break
}
}
Loop
{
GetKeyState, state, RButton , P
if state = U
{
Sleep 1630
Send {d}
Break
}
}
Return多加了个循环
还可以用下面这段代码表示只在流放之路运行时起效,避免在网页之类的地方干扰使用,放在第一行就好
#IfWinActive ahk_exe PathOfExile_x64.exe注意这段代码是指PathOfExile_x64.exe这个进程,如果不确定的话ctrl+alt+del打开任务管理器查看一下
另外,所有的符号均是英文符号
对AHK有兴趣学习的可以去这个网站http://ahkcn.sourceforge.net/docs/commands/(中文化的AHK帮助文档)
上面的网站偶尔会挂掉,可以去下面这个
https://wyagd001.github.io/zh-cn/docs/commands/Send.htm#Raw
本帖最后由 魂殇灬驭诗追梦 于 2020-6-17 17:25 编辑
好东西学到了 这个有点厉害,请问如果是药侠的话,那么12345,这五个药水是不是要每个药水下面都最好根据药剂持续时间编辑好sleep的时长? 先mark在学 感觉学不会。。 看不懂,鼠标宏不是更安全吗 好东西收藏 看不太懂 但是感觉有点东西 一直用右键引爆宏,玩土也雷很轻松 手动点赞,厉害厉害 油炸大腰子 发表于 2020-1-16 22:18
这个有点厉害,请问如果是药侠的话,那么12345,这五个药水是不是要每个药水下面都最好根据药剂持续时间编 ...
sleep的作用是推迟下一个指令发送的时间,如果你想要一个药剂生效之后生效第二个的话可以sleep,如果只是想要全体药剂不间断的话,要使用循环,不过提醒一下,这种复杂的指令可能会导致封号,而且还需要考虑到网络延迟 魂殇灬驭诗追梦 发表于 2020-1-17 11:12
sleep的作用是推迟下一个指令发送的时间,如果你想要一个药剂生效之后生效第二个的话可以sleep,如果只是 ...
唉……真是没法两全啊,本来还想着套用你这个方法让所有的药剂根据时长来保证不断药呢,看样子还是得手动…… $W::
Sleep 200
Send {d}
Return
烟雾地雷放在W上这样写对吗? 谢谢哦受益匪浅!!!!! 之前只会简单的一键喝药 ,学习到了 楼主厉害 撒旦前往113245 发表于 2020-1-17 11:30
$W::
Sleep 200
Send {d}
$代表$后面的键位被替换掉了你需要添加一个send {w} 油炸大腰子 发表于 2020-1-17 11:16
唉……真是没法两全啊,本来还想着套用你这个方法让所有的药剂根据时长来保证不断药呢,看样子还是得手动 ...
其实如果你不怕被封的话也可以自动喝药,我简单写了一个你参考一下$1::
send 1
send 2
send 3
send 4
SetTimer, send_1, 4500
SetTimer, send_2, 6000
SetTimer, send_3, 4000
SetTimer, send_4, 5000
return
send_1:
Send 1
return
send_2:
Send 2
return
send_3:
Send 3
return
send_4:
Send 4
return
按下1触发脚本,发送1234指令然后等待循环,4秒发送一次1,6秒发送一次2 魂殇灬驭诗追梦 发表于 2020-1-17 11:43
其实如果你不怕被封的话也可以自动喝药,我简单写了一个你参考一下
按下1触发脚本,发送1234指令然后等待 ...
非常感谢,我先存下……但真心怕封。
再次感谢。 总觉得这种东西很危险 这个真是技术贴。 不兴无应 发表于 2020-1-17 11:47
总觉得这种东西很危险
一键喝药之类的简单指令不会被封,不过稍微复杂点的例如上面的循环吃药就有可能,不过GGG对脚本的打击主要是打击工作室,个人的话发个邮件就可以解了