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

  [复制链接]

4

主题

222

帖子

990

积分

Lv.3

Rank: 3Rank: 3Rank: 3

mark,挺有用
回复

使用道具 举报

2

主题

42

帖子

298

积分

Lv.2

Rank: 2Rank: 2

楼主你好,我想4s一次用一下1键,1s一次用一下T键,自己修改了一下你前面的代码,没有成功,能帮忙看下如何写嘛?
回复

使用道具 举报

莫维尔

0

主题

43

帖子

317

积分

Lv.2

Rank: 2Rank: 2

Down::
send {LControl down}
while(GetKeyState("Down","P" ) )
{
send {click}
}
send {LControl up}
return
向下键  CTRL+左击


Up::
send {LShift down}
while(GetKeyState("Up","P" ) )
{
send {click}
}
send {LShift up}
return

向上键  SHITF +左击  
回复

使用道具 举报

德瑞索

100

主题

1183

帖子

4546

积分

Lv.7

Rank: 7Rank: 7Rank: 7Rank: 7

楼主你好,我仿照你写个脚本,想要实现按下F2,启动长按E R T,按下F*出长按,
结果发现按F3无法退出循环,
还有就是有其他按键输入时(如长按鼠标右键),脚本长按会失效,按esc键以后,也会失效。
不知道要如何修改

#IfWinActive ahk_exe PathOfExile_x64.exe

$F2::

Send {T Down}
Send {R Down}
Send {E Down}

Loop
{
GetKeyState, state, F3 , P
if state = D
    {
    Break
    }
}
Return

点评

F3无法结束是因为你这个Lodop的作用是监视f3的状态,F3按下结束这个监视循环,和上面的send没有关系,可以send up。其他按键输入影响到脚本,如果不是必须按住的话,可以改成循环点按键位  详情 回复 发表于 2020-3-21 16:04
这段监视f3状态没有意义,f3 按下只是发生了循环结束  详情 回复 发表于 2020-3-31 21:47
回复

使用道具 举报

派蒂

12

主题

303

帖子

2074

积分

Lv.5

Rank: 5Rank: 5

问题自己 想办法 解决了  很蠢...... 本帖最后于  2020-3-19 22:14 编辑

点评

插一句 把~ 换成w 就可以正常启发了.......什么原理  详情 回复 发表于 2020-3-19 22:11
回复

使用道具 举报

0

主题

45

帖子

171

积分

Lv.2

Rank: 2Rank: 2

学习了
回复

使用道具 举报

派蒂

12

主题

303

帖子

2074

积分

Lv.5

Rank: 5Rank: 5

删除 删除 解决了 本帖最后于  2020-3-19 22:15 编辑

点评

~是ahk定义了的热键,这个键位表示应该是不shift的`  详情 回复 发表于 2020-3-21 16:15
回复

使用道具 举报

5

主题

36

帖子

399

积分

Lv.2

Rank: 2Rank: 2

#IfWinActive ahk_exe PathOfExile_x64.exe
这段代码我就收下了,不错不错!

ahk还是蛮不错的,不过写起来太麻烦,代码不熟是个问题。
问一下,有没有寻图的代码?我翻过ahk帮助,只有寻点,会比较烦。

点评

应该是没有的  详情 回复 发表于 2020-3-21 15:28
回复

使用道具 举报

0

主题

39

帖子

150

积分

Lv.2

Rank: 2Rank: 2

太感谢了,手都给我按累了
回复

使用道具 举报

库鲁

1

主题

68

帖子

395

积分

Lv.2

Rank: 2Rank: 2

F5换成1还是不行,国服的,游戏里什么反应都没
本帖最后于  2020-3-19 23:37 编辑

点评

#IfWinActive ahk_exe PathOfExile_x64.exe这一行代码的意思是只有在PathOfExile_x64.exe活动的情况下代码才生效,国服我没有玩过,你在任务管理器里找到国服的程序看一下他的程序名是什么,然后修改一下  详情 回复 发表于 2020-3-21 15:26
回复

使用道具 举报

派蒂

10

主题

213

帖子

1195

积分

Lv.4

Rank: 4

发表于 2020-3-19 23:35
F5换成1还是不行,国服的,游戏里什么反应都没


#IfWinActive ahk_exe PathOfExile_x64.exe这一行代码的意思是只有在PathOfExile_x64.exe活动的情况下代码才生效,国服我没有玩过,你在任务管理器里找到国服的程序看一下他的程序名是什么,然后修改一下
回复

使用道具 举报

派蒂

10

主题

213

帖子

1195

积分

Lv.4

Rank: 4

发表于 2020-3-19 22:18
#IfWinActive ahk_exe PathOfExile_x64.exe
这段代码我就收下了,不错不错!

应该是没有的
回复

使用道具 举报

派蒂

10

主题

213

帖子

1195

积分

Lv.4

Rank: 4

发表于 2020-3-19 19:05
楼主你好,我仿照你写个脚本,想要实现按下F2,启动长按E R T,按下F*出长按,
结果发现按F3无法退出循环, ...

F3无法结束是因为你这个Lodop的作用是监视f3的状态,F3按下结束这个监视循环,和上面的send没有关系,可以send up。其他按键输入影响到脚本,如果不是必须按住的话,可以改成循环点按键位
回复

使用道具 举报

派蒂

10

主题

213

帖子

1195

积分

Lv.4

Rank: 4

发表于 2020-3-18 16:39
楼主你好,我想4s一次用一下1键,1s一次用一下T键,自己修改了一下你前面的代码,没有成功,能帮忙看下如何 ...
  1. F1::
  2. send 1
  3. send t
  4. SetTimer, send_1, 4000
  5. SetTimer, send_2, 1000
  6. return
  7. send_1:
  8.     Send 1
  9. return
  10. send_2:
  11.     Send t
  12. return
复制代码

点评

我觉得可能是F1启动键的问题,你换一个启动键试试。有些笔记本的键盘有Fn键,Fn不亮的时候,按F1键的时候你的脚本不会响应启动。  详情 回复 发表于 2020-4-22 16:30
回复

使用道具 举报

派蒂

10

主题

213

帖子

1195

积分

Lv.4

Rank: 4

发表于 2020-3-19 22:11
删除 删除 解决了

~是ahk定义了的热键,这个键位表示应该是不shift的`
回复

使用道具 举报

塑型者

15

主题

782

帖子

8593

积分

Lv.9

Rank: 9Rank: 9Rank: 9

发表于 2020-3-17 23:52
break结束循环

这个break前面还要加什么吗?直接加在loop里面吗?

点评

嗯,试一下就知道了  详情 回复 发表于 2020-3-31 21:48
回复

使用道具 举报

塑型者

15

主题

782

帖子

8593

积分

Lv.9

Rank: 9Rank: 9Rank: 9

我想实现按一下T就循环,再按一下T就停下,
$^T::
Send T
Loop{
Send T
Sleep 5000
}
这个里面要加啥?
回复

使用道具 举报

0

主题

375

帖子

2265

积分

Lv.5

Rank: 5Rank: 5

发表于 2020-1-19 22:07
我用的是地雷杖连的地雷网,用了楼主的代码,地上总是有不能引爆的地雷。在楼主的指导下,稍微改了下代码, ...

老哥能把你改好的代码发下吗?我也遇到你的问题自己想着改了几次不行啊

点评

原本一个send d 后面再加两个,每个之间加一个sleep做延迟,不推荐这样做  详情 回复 发表于 2020-3-31 21:44
回复

使用道具 举报

伊泽洛

13

主题

232

帖子

2847

积分

Lv.5

Rank: 5Rank: 5

圣物之盾

厉害厉害,学知识了
回复

使用道具 举报

吉尔菲

1

主题

40

帖子

194

积分

Lv.1

Rank: 1

谢谢大佬,很有用,收藏了。
回复

使用道具 举报

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

本版积分规则

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