【问题标题】:Making AHK script in Notepad ++在记事本++中制作A​​HK脚本
【发布时间】:2020-05-10 03:11:06
【问题描述】:

我正在尝试制作一个 ahk 脚本来尝试简化一次性使用的脚本。几乎我在一个游戏中一个接一个地运行超过 1000 个命令。目前我有这样的东西。我将所有命令都放在一个文本文件中,只是没有任何 ahk 编码。

.waypointadd 1 100234 40 -469
.waypointadd 2 99549 34 5
.waypointadd 3 100615 37 -160
.waypointadd 4 100817 27 -457
.waypointadd 5 100503.5 10.5 -647.5
.waypointadd 6 100494.5 10.5 -625.5

这会持续一段时间。我不熟悉使用表达式等,我非常想使它按回车键,键入命令,然后按回车键,然后转到下一个。我显然不能手动执行此操作。我尝试过使用一些基本的替换表达式和东西,但不确定如何做到这一点。

最后我希望它看起来像这样

send {enter}
send (command 1)
send {enter}
send {enter}
send (command 2)
send {enter}

【问题讨论】:

    标签: autohotkey


    【解决方案1】:

    你可以把它绑定到一个键上,比如......

    1::
    loop, 1 {
      send {enter}
      send (command 1)
      send {enter}
      send {enter}
      send (command 2)
      send {enter}
    }
    

    或者当你按下一个键时产生一个函数。 lmk 是否有帮助

    doSomething() {
      send {enter}
      send (command 1)
      send {enter}
      send {enter}
      send (command 2)
      send {enter}
    }
    
    1::
    doSomething()
    

    【讨论】:

      【解决方案2】:

      您可以将所有命令存储在剪贴板中(CTRL+C 它们),然后循环遍历所有命令:

      Loop, Parse, Commands, `n, `r ;split by linefeed, ignore carriage return
      {
          SendInput, % A_LoopField "{Enter 2}"
          Sleep, 1000 ;however long you need
      }
      

      将命令放入脚本的方法很多,我只是从剪贴板中加载它们,应该很容易方便,只需复制你想要的命令块然后启动脚本.
      然后是parsing loop
      然后SendInput 用于发送当前命令,然后按两次Enter
      或者,如果您的游戏支持从剪贴板粘贴,最好将您要发送的任何内容加载到剪贴板,然后发送 CTRL+V。

      如果使用 SendInput 的代码运行速度过快,您可以尝试切换到正常的Send,甚至可以使用SetKeyDelay 来增加按键之间的延迟。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-06-16
        • 2016-07-30
        • 1970-01-01
        • 1970-01-01
        • 2013-09-29
        • 1970-01-01
        • 2012-01-16
        相关资源
        最近更新 更多