查看: 171174|回复: 276

[攻略] 教你如何编写一个简单的符合自己需求的AHK脚本(附代码

  [复制链接]
派蒂

10

主题

213

帖子

1195

积分

Lv.4

Rank: 4

注意!有可能会被封号!注意!有可能会被封号!注意!有可能会被封号!(不过发邮件给客服可解)下载的教程可以看这篇帖子http://bbs.17173.com/thread-11190886-1-1.html
开始正题,从一键喝药开始
  1. $1::
  2. Send {1}
  3. Send {2}
  4. Send {3}
  5. Send {4}
  6. Send {5}
  7. Return
复制代码
这个是简单的一键喝药脚本,第一行的$1::表示按下1触发12345五个键位$表示1这个键被下面的代码替代了,所以不会触发循环,return结束。大括号里面只有一个命令时可以不加,复杂的命令则必须要加
学会这个之后可以考虑一些别的操作
比如熔岩护盾这个技能由护甲决定数值,我们有坚岩药水+3000护甲放在键1,有一个其他药水可以在药水持续时间内加100%护甲放在键2
我们想要每次按下熔岩护盾时触发这两个药水获得更高的数值,可以这样写
  1. $^r::
  2. Send 1
  3. Send 2
  4. Sleep 20
  5. Send ^r
  6. Return
复制代码
把熔岩护盾这个技能放在ctrl+r(^表示ctrl键,^r就是ctrl+r),$屏蔽Ctrl+r键不会无限循环
为什么要放在ctrl+r是因为不会干扰你在168聊天吹
sleep 20 表示触发12之后等待20毫秒防止网络延迟,具体数值可以自己调整,return表示结束
然后是地雷自动引爆
有简单的
  1. Loop{
  2. Send d
  3. Sleep 350
  4. }
复制代码
loop表示循环执行下面的代码,这段代码就表示每隔350毫秒按一次d,除非手动退出ahk,否则不会停止
不过,因为有链爆地雷这个技能的存在,一直按d键会丢失大量dps,所以我们用右键松开引爆的方法(因为我喜欢右键扔雷,想改的话把所有的RButton改成你想要的键)
  1. $RButton::
  2. Send {RButton Down}
  3. Loop
  4. {
  5. GetKeyState, state, RButton , P
  6. if state = U
  7.     {
  8.     Send {RButton Up}
  9.     Sleep 130
  10.     Send {d}
  11.     Break
  12.     }
  13. }
  14. 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表示结束地雷杖的可以参考一下这段
  1. $RButton::
  2. Send {RButton Down}
  3. Loop
  4. {
  5. GetKeyState, state, RButton , P
  6. if state = U
  7.     {
  8.     Send {RButton Up}
  9.     Sleep 130
  10.     Send {d}
  11.     Break
  12.     }
  13. }
  14. Loop
  15. {
  16. GetKeyState, state, RButton , P
  17. if state = U
  18.     {
  19.     Sleep 1630
  20.     Send {d}
  21.     Break
  22.     }
  23. }
  24. Return
复制代码
多加了个循环

还可以用下面这段代码表示只在流放之路运行时起效,避免在网页之类的地方干扰使用,放在第一行就好
  1. #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 编辑

评分

参与人数 1崇高石 +20 收起 理由
玩家U_137400501 + 20 日推

总评分: 崇高石 + 20   查看全部评分

崇高石是流放之路版块儿的专属货币,可兑换礼包、悬赏币、QB等,还可以用来购买游戏补丁等。 >> 怎么获得崇高石

回复

使用道具 举报

1

主题

18

帖子

88

积分

Lv.1

Rank: 1

太经典了,太有用了额
回复

使用道具 举报

0

主题

21

帖子

92

积分

Lv.1

Rank: 1

66666 收藏了
回复

使用道具 举报

14

主题

95

帖子

1603

积分

Lv.4

Rank: 4

请问大佬,鼠标自动按右键 3秒到5秒一次的代码。。。谢谢
回复

使用道具 举报

格拉维奇

0

主题

76

帖子

440

积分

Lv.2

Rank: 2Rank: 2

看看
回复

使用道具 举报

2

主题

334

帖子

1486

积分

Lv.4

Rank: 4

玩个游戏硬是玩成了程序员
回复

使用道具 举报

0

主题

175

帖子

853

积分

Lv.3

Rank: 3Rank: 3Rank: 3

回复

使用道具 举报

0

主题

33

帖子

117

积分

Lv.1

Rank: 1


好东西学到了
回复

使用道具 举报

0

主题

33

帖子

117

积分

Lv.1

Rank: 1


好东西学到了
回复

使用道具 举报

0

主题

7

帖子

35

积分

Lv.1

Rank: 1

谢谢分享
回复

使用道具 举报

0

主题

12

帖子

176

积分

Lv.1

Rank: 1

发表于 2021-5-24 14:22
为啥win 7我可以用,win10电脑切到游戏用不了,只要出游戏画面就又正常 ,#IfWinActive ahk_exe
前面加上 ...

找到解决办法了,ahk程序 设置管理员那个勾选上
回复

使用道具 举报

0

主题

12

帖子

176

积分

Lv.1

Rank: 1

为啥win 7我可以用,win10电脑切到游戏用不了,只要出游戏画面就又正常 ,#IfWinActive ahk_exe
前面加上这一行,能解决吗 大佬
回复

使用道具 举报

0

主题

12

帖子

176

积分

Lv.1

Rank: 1

发表于 2020-9-29 10:08
同样的问题,请楼主解答

同问 我的也是
回复

使用道具 举报

希拉克

0

主题

22

帖子

38

积分

Lv.1

Rank: 1

我就写过一键喝药的
回复

使用道具 举报

格拉维奇

0

主题

105

帖子

572

积分

Lv.2

Rank: 2Rank: 2

感谢大佬的干货,以后要开始自己弄ahk玩了~~
回复

使用道具 举报

德瑞索

22

主题

329

帖子

1900

积分

Lv.4

Rank: 4

第n次来复习了,谢谢大佬
回复

使用道具 举报

库鲁

6

主题

192

帖子

1008

积分

Lv.4

Rank: 4

好东西,感谢分享
回复

使用道具 举报

德瑞索

3

主题

300

帖子

1368

积分

Lv.4

Rank: 4

谢了,温故知新
回复

使用道具 举报

塑型者

20

主题

1088

帖子

6209

积分

Lv.8

Rank: 8Rank: 8

学是学会了...自己也写出来了,实验了一下,的确好用

但是我被你们的评论下的也不敢用了,怕被封
回复

使用道具 举报

福尔

7

主题

133

帖子

829

积分

Lv.3

Rank: 3Rank: 3Rank: 3

感谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

论坛合作、疑问请点击给我发信息 点击链接加入群聊【17173有料社区】