Вы не так меня поняли. Скрипт выполняется лишь один раз, что бы отправить в систему сообщение о том, что клавиша была зажата, а сообщения о отжатии нету, в результате чего клавиша остаётся зажатой всегда. После этого скрипт заканчивается и про кликер мы забываем. При ручном нажатии в систему опять отправляется сообщение о том, что клавишу зажали(но она была зажата кликером до этого, так что ничего не меняется), а вот при ручном отжатии клавиша наконец то вырубается.
Суть в том, что при использовании L(R)Down такой подход работает, а вот с KeyDown нет. То есть, скрипт состоящий из одной строки:
LDown($_xmouse,$_ymouse)
выполненный лишь один раз зажимает ЛКМ до тех пор, пока она не будет нажата и отжата вручную. А вот этот код:
KeyDown(#A)
такого результата не даст. В блокноте будет лишь одна буква А.
Задержки в цикле были бы не лишними, а то кликер будет напрягать процессор по чем зря. 20 мс вполне достаточно.
Скрипт на три секунды максимум, сомневаюсь что процессор сгорит за это время.
Объявлять переменные в кликермане не требуется, он сам это сделает при необходимости.
Будет ли переменная объявленная кликером в условии равна нулю?