**大家好! 我最近开始尝试使用autohotkey。 在这个特定的脚本中,我需要帮助隔离并只运行脚本的一部分。
此Autohotkey脚本与游戏进行交互。 我有可玩的角色A - D. 我想根据选择的字符自动激活宏。 (并且如果角色正在切换,也会停用任何其他宏) 要确定选择哪个字符,请使用IMAGESEARCH命令。</ em>
现在我的问题:是否可以在同一个脚本中只运行一个多个宏的宏?就我而言,我遇到的问题是&#34;同样的热键已经存在&#34;错误。如果这在某种程度上是可能的,那将是非常好的,尽管我无法找到任何特别的东西,因为它很难描述和搜索。
我非常感谢你能给我这个主题的所有答案:)**
#IfWinActive Program
If WinActive("ahk_exe Program.exe")
CoordMode, Pixel
;SELECTION CHECKS;
K0:
$~LButton::
Sleep, 100
ImageSearch, FoundX, FoundY, 53, 1233, 2491, 1287,*2 C:\Users\XYZ\Desktop\CharacterA.png
if ErrorLevel = 2
SoundBeep, 750, 500
else if ErrorLevel = 1
goto K1
else
goto CharacterA
return
K1:
ImageSearch, FoundX, FoundY, 53, 1233, 2491, 1287,*2 C:\Users\XYZ\Desktop\CharacterB.png
if ErrorLevel = 2
SoundBeep, 750, 500
else if ErrorLevel = 1
goto K2
else
goto CharacterB
return
K2:
ImageSearch, FoundX, FoundY, 53, 1233, 2491, 1287,*2 C:\Users\XYZ\Desktop\CharacterC.png
if ErrorLevel = 2
SoundBeep, 750, 500
else if ErrorLevel = 1
goto K3
else
goto CharacterC
return
K3:
ImageSearch, FoundX, FoundY, 53, 1233, 2491, 1287,*2 C:\Users\XYZ\Desktop\CharacterD.png
if ErrorLevel = 2
SoundBeep, 750, 500
else if ErrorLevel = 1
goto K0
else
goto CharacterD
return
;Chars;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
CharacterA:
SoundPlay, C:\Users\XYZ\Desktop\CA_Voiceline.wav
examplemacro
Return
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
CharacterB:
SoundPlay, C:\Users\XYZ\Desktop\CB_Voiceline.wav
examplemacro
Return
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
CharacterC:
SoundPlay, C:\Users\XYZ\Desktop\CC_Voiceline.wav
examplemacro
Return
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
CharacterD:
SoundPlay, C:\Users\XYZ\Desktop\CD_Voiceline.wav
examplemacro
Return
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
答案 0 :(得分:0)
我相信您可以使用gosub
命令来实现此目的。您可以在此命令here上阅读更多信息。
如果我了解您要使用的流程,则脚本中的更改会将所有goto字符*行更改为:
else
gosub CharacterA
目前尚未经过测试,但我会在今天晚些时候返回并在有时间完全测试结果后更新。