AHK: использование функции RandomBezier - PullRequest
0 голосов
/ 27 марта 2020

Я пытаюсь использовать RandomBezier.ahk (https://github.com/MasterFocus/AutoHotkey/tree/master/Functions/RandomBezier), чтобы рандомизировать путь мыши, чтобы кликать по предметам в игре.
Пример .ahk в этом github работает для меня, но при попытке использовать его в моей собственной программе, он не работает при вызове функции RandomBezier.
У меня есть файлы в той же локальной директории.

Любая помощь в том, чтобы заставить эту функцию работать?
Спасибо

#SingleInstance force
#Include RandomBezier.ahk

^j::
screenWidth := A_ScreenWidth
screenHeight := A_ScreenHeight

//I'm using ratios so that I'm not hardcoding based on a given display resolution
Play_X := floor(0.02604*A_ScreenWidth)
Play_Y := floor(0.37037*A_ScreenHeight)
RandomBezier(0, 0, %Play_X%, %Play_Y%, "T1200 RO RD OT100 OB-100 OL0 OR0 P4-3") //<-- this line doesn't do anything. the mouse doesn't move.
;MouseMove, %Play_X%, %Play_Y%, 10 <--this line works, so I know that the variables Play_X, Play_Y works 
Sleep 50
Click 

1 Ответ

0 голосов
/ 27 марта 2020

Это классическая c ошибка в попытке использовать устаревший синтаксис в месте, где он не принадлежит (хотя я бы сказал, что он больше нигде не принадлежит).
Параметры функции передаются как выражения , а не как устаревшие параметры текста.
Таким образом, вместо устаревшего способа ссылки на переменную
RandomBezier(0, 0, %Play_X%, %Play_Y%,,
вы делаете
RandomBezier(0, 0, Play_X, Play_Y,.

В целом, я бы порекомендовал вам попытаться избавиться от устаревшего синтаксиса. Сейчас уже не 2008 год.
Чтение этой страницы документации является хорошим началом для изучения различий
https://www.autohotkey.com/docs/Language.htm

...