1. Nikanr - 27 Августа, 2020 - 13:49:09 - перейти к сообщению
Иногда бывает такая ситуация, что у нас пошел вызов самописной функции в основном коде скрипта, а в это время сработал таймер и вызвалась та же функция с таймера (допустим рандомный клик по координатам в определенной области), что в моем случае привело к ошибке (отключились таймеры во время работы скрипта). Можно ли это как-нибудь исправить, кроме как не использовать самописные функции в таймере, а в ручную прописывать тот же код из самописных функций?
2. Kibor - 27 Августа, 2020 - 13:51:10 - перейти к сообщению
Nikanr пишет:
отключились таймеры во время работы скрипта
Такого быть не должно.
Пример?
3. Nikanr - 28 Августа, 2020 - 05:03:07 - перейти к сообщению
Открываем безымянный с помощью paint, получаем указатель на контрол, грузим картинку.
Скрипт поочередно кликает в рандомные области левого и правого квадрата + в таймере проверяется, если обнаружили картинку круг, то кликнуть в области квадрата по середине. Если мы в таймере при нахождении картинки не вызываем функции mouse_ и pause_ , а используем стандартные функции, все работает исправно. Скрипт останавливается нажатием ctrl+shift+p. Но если мы будем использовать функцию mouse_ и pause_ , скрипт при обнаружении картинки кликнет в другую область, перестанет искать картинку и реагировать на нажатия ctrl+shift+p.
Демонстрация проблемы: Тык
Папка с картинками на гугл диске: Тык
Скрипт поочередно кликает в рандомные области левого и правого квадрата + в таймере проверяется, если обнаружили картинку круг, то кликнуть в области квадрата по середине. Если мы в таймере при нахождении картинки не вызываем функции mouse_ и pause_ , а используем стандартные функции, все работает исправно. Скрипт останавливается нажатием ctrl+shift+p. Но если мы будем использовать функцию mouse_ и pause_ , скрипт при обнаружении картинки кликнет в другую область, перестанет искать картинку и реагировать на нажатия ctrl+shift+p.
Демонстрация проблемы: Тык
Папка с картинками на гугл диске: Тык
Код: (Отобразить)
4. Kibor - 28 Августа, 2020 - 05:12:01 - перейти к сообщению
Так..
Таймер не отключается.
Просто так делать нельзя.
Посмотрите как генерирует код визуальный редактор если используете таймеры и вызываете с них функции.
Он генерирует для каждого таймера свои функции, которые он будет вызывать.
Нельзя вызывать с таймера функции которые вызываются с основного кода или с другого таймера.
Таймер не отключается.
Просто так делать нельзя.
Посмотрите как генерирует код визуальный редактор если используете таймеры и вызываете с них функции.
Он генерирует для каждого таймера свои функции, которые он будет вызывать.
Нельзя вызывать с таймера функции которые вызываются с основного кода или с другого таймера.