Основной раздел > Использование

Пауза основного действия для выполнения другого действия каждые N минут

(1/2) > >>

PerfectO:
Здравствуйте. правильно ли я написал скрипт? задача: цикличное выполнения основного действия, но раз в 1 минуту выполнять другое действия пока основное на паузе. после выполнения другого действия, продолжается цикличное выполнения основного действия. я правильно понимаю, что отсчет 1 минуты для запуска другого действия идет после запуска скрипта в кликере?


--- Code: (clickermann) ---go: // далее произойдет зацикливание до метки GO
// ДЕЙСТВИЕ РАЗ В 1 МИНУТУ
IF($time1 < $_time_t)
$time1 = $_time_t + 60
 
KEYPRESS(#B) //
WAIT(12)
KEYPRESS(#F2)
WAIT(1.55)
// Тут будет макрос выбора
WAIT(20)
END_IF // конец первого условия
 
KEYPRESS(#1) // вне условий можно написать действия которые должны выполняться постоянно
KEYPRESS(#TAB)
KEYPRESS(#3)
WAIT(0.3)
KEYPRESS(#TAB)
KEYPRESS(#3)
WAIT(0.3)
KEYPRESS(#TAB)
KEYPRESS(#3)
WAIT(0.3)
WAIT(0.35)
KEYPRESS(#1)
WAIT(1.25)
KEYPRESS(#C)
WAIT(1.25)
KEYPRESS(#1)
WAIT(1.25)
KEYPRESS(#F)
 
WAITMS (500) // задержка скрипта 500 мс для разгрузки процессора
goto(go) // переход к метке GO
--- End code ---

UPDATE: проверил на практике. вроде, все работает. единственный момент, который хотелось бы улучишь, это тот факт, что сейчас "ДЕЙСТВИЕ РАЗ В 1 МИНУТУ" стартует сразу после запуска скрипта. как прописать, чтобы сначала запускалось основное действия, а уже через 1 минуту и с дальнейшим условием "РАЗ В 1 МИНУТУ" запускалось это периодическое действие?

Vint:

--- Quote from: PerfectO on March 05, 2023, 05:06:21 PM ---UPDATE: проверил на практике. вроде, все работает. единственный момент, который хотелось бы улучишь, это тот факт, что сейчас "ДЕЙСТВИЕ РАЗ В 1 МИНУТУ" стартует сразу после запуска скрипта. как прописать, чтобы сначала запускалось основное действия, а уже через 1 минуту и с дальнейшим условием "РАЗ В 1 МИНУТУ" запускалось это периодическое действие?

--- End quote ---

Добавь перед меткой начальное задание времени

--- Code: (clickermann) ---$time1 = $_time_t + 60
--- End code ---

"Раз в минуту" в этом коде очень условно, приблизительно от 60 до +66.8 сек.

PerfectO:

--- Quote from: Vint on March 06, 2023, 10:35:20 AM ---Добавь перед меткой начальное задание времени

--- Code: (clickermann) ---$time1 = $_time_t + 60
--- End code ---

--- End quote ---
Подскажи, пожалуйста, как это правильно сделать. мой вариант ниже не запускает сразу основное действие, а просто делает паузу в 10 секунд, потом запускается "ДЕЙСТВИЕ РАЗ В 1 МИНУТУ" и только потом основное действие.

--- Code: (Clickermann) ---go: // далее произойдет зацикливание до метки GO
// ДЕЙСТВИЕ РАЗ В 1 МИНУТУ
IF($time1 < $_time_t)
WAIT(10)
$time1 = $_time_t + 60
--- End code ---


--- Quote from: Vint on March 06, 2023, 10:35:20 AM ---"Раз в минуту" в этом коде очень условно, приблизительно от 60 до +66.8 сек.

--- End quote ---
это не критично, такой диапазон подходит.

Vint:

--- Quote from: PerfectO on March 07, 2023, 01:03:11 AM ---Подскажи, пожалуйста, как это правильно сделать.

--- End quote ---
Просто добавить первой строкой указанную строку и нажать "применить".


--- Quote from: PerfectO on March 07, 2023, 01:03:11 AM ---мой вариант ниже не запускает сразу основное действие, а просто делает паузу в 10 секунд, потом запускается "ДЕЙСТВИЕ РАЗ В 1 МИНУТУ" и только потом основное действие.

--- End quote ---
По указанному обрывку ничего нельзя сказать.

PerfectO:

--- Quote from: Vint on March 07, 2023, 12:52:36 PM ---Просто добавить первой строкой указанную строку и нажать "применить".

--- End quote ---
Спасибо, работает.

Чтобы не плодить темы, спрошу тут. есть макрос, который работает с привязкой Clickermann к окну игры:


--- Code: (clickermann) ---KEYPRESS(#1) //Удар мечом
WAIT(0.5)
KEYDOWN(#UP) // 1. поворот персонажа налево на 45 градусов за 0.5 сек
WAIT(0.5)
KEYUP(#UP)
WAIT(0.5)
KEYDOWN(#DOWN) // 2. поворот персонажа направо на 90 градусов за 1 сек
WAIT(1)
KEYUP(#DOWN)
WAIT(1)
KEYDOWN(#UP) // 3. поворот персонажа налево на 45 градусов за 0.5 сек, чтобы оказаться в изначальной точке до всех поворотов
WAIT(0.5)
KEYUP(#UP)
WAIT(0.5)
--- End code ---
В игре с камерой от 3 лица делаю поворот персонажа методом зажатия кнопок UP (поворот влево) и DOWN (поворот вправо), что приблизительно 0.5 сек = 45 градусов, 1 сек = 90 градусов. но из-за лагов игры/интернета/ПК на дистанции по времени это не всегда 45 и 90 градусов, а иногда меньше/больше. можно ли в режиме привязки к окну настроить, чтобы персонажа периодически корректировал свое положение и становился/смотрел строго в изначальную точку до всех поворотов, например, при появлении определенного цвета пикселя окна игры на нужной вертикали? постарался объяснить задачу на скриншоте из игры. надеюсь, будет понятно.



на форуме есть тег "спойлер"? как "спрятать" картинку?

Navigation

[0] Message Index

[#] Next page

Go to full version