|
-Счётчик, -Lua- |
|
|
Levo222 |
20.6.2020, 12:08
|
Journeyman
Сообщений: 399
Регистрация: 18.11.2017 Группа: Пользователи Наличность: 0
Пользователь №: 18.689
|
Как на Lua создать счетчик последовательного выполнения действия с присвоением каждому действию кликов координат? (с досрочным выходом из цикла в случае достижения макс числа) code
Код Local TCicleMax = 3 --максимальное кол-во Count = Count + 1 local H1 = Kleft(100, 200) --первый контейнер local H2 = Kleft(100, 300) --второй контейнер local H3 = Kleft(100, 400) --третий контейнер
local h = findwindow("Containtg") local t = os.clock() While t > os.clock() do while Контейнер не полон (789, 9) ~= 9078784 do --Выполнять до тех пор пока контейнер не полон workwindow (h [1][1]) hint ("Проверяю заполненность") wait (100) if Контейнерполон (789, 9) == 9078785 -- and что-то еще (10, 82) ~= 0 then hint ("Контейнер полон") alarm ("Контейнер полон.wav") --но вот как узнать какой контейнер по счёту? потому что всего их 3. И если все 3 гонять по кругу это будет тупо. --Смотрим счётчик wait (10) --Если счётчик 3 (т.е. применялись H1, H2, H3) break --т.е. все 3 контейнера полны alarm ("Все контейнеры наполнены.wav") else --счетчик не 3 --Проверка следующего контейнера-- for i=1, #h do hint ("Открытие") workwindow (h[i][1]) --drawtext(HNDL, '...\r\n...', 70, 300, 48, 'Segoe Print', 65279, 16000000) send217 ("5") wait (500) --Здесь нужна какая-то функция открытия того контейнера, которыйне нажимался еще Kleft(Контейнер который не нажимался) --Т.е. H2/H3 второй/третий контейнер wait (500) send217 ("у") wait (1500) alarm ("Открытие контейнера.wav") end else hint ("Контейнер не заполнен") wait (200) end end alarm ("Завершение работы.wav") --log("Завершение работы") wait (500)
end
Если достигнуто TCicleMax, т.е. где-то в цикле уже прожимались H2 и H3 то цикл полностью завершает свою работу. Т.е. важно чтобы скрипт помнил какие контейнеры он уже открывал, чтобы больше к ним не возвращаться.
|
|
|
|
|
|
Сообщений в этой теме
Levo222 -Счётчик 20.6.2020, 12:08 cirus Создать массив, в который записывать выполнялось л... 20.6.2020, 13:01 Levo222
Создать массив, в который записывать выполнялось ... 20.6.2020, 14:23 cirus
--lua
local H = {{100, 200}, {100, 300}, {100, 40... 20.6.2020, 17:21 Levo222
--lua
local H = {{100, 200}, {100, 300}, {100, 40... 20.6.2020, 21:37 cirus
Вместо log использовать move. 20.6.2020, 21:45 Levo222
Вместо log использовать move.
Всё работает вроде... 20.6.2020, 22:02 Levo222
Вместо log использовать move.
Почему для
log ... 21.6.2020, 5:46 cirus
break для выхода из цикла. 20.6.2020, 22:21 Levo222
break для выхода из цикла.
Тут вот какая проблем... 20.6.2020, 22:44 cirus
Объявить её до цикла да и всё. 20.6.2020, 22:51 Levo222
Объявить её до цикла да и всё.
Как инициировать ... 20.6.2020, 23:19 cirus
end_script() 20.6.2020, 23:36 Levo222
end_script()
Так, а теперь есть скрипт ч... 20.6.2020, 23:51 cirus
break прерывает цикл. 21.6.2020, 0:02 Levo222
break прерывает цикл.
То есть в if он не будет р... 21.6.2020, 0:04 Levo222 почему мне
log (count[i])
Выдаёт ... 21.6.2020, 0:42 cirus
Значит нет такой переменной. 21.6.2020, 0:47 Levo222 Мне надо чтобы гоняло цикл пока count полностью не... 21.6.2020, 0:49 cirus
Ответ тот же.
Где скрипт? 21.6.2020, 0:56 Levo222
Где скрипт?
Вроде дошло
while count[i... 21.6.2020, 1:00 Levo222 еще одна проблема
Угу
Если одно окно выпало, то ... 21.6.2020, 1:16 cirus
Что это за бред. Можно только одно окно сделать р... 21.6.2020, 1:29 Levo222 ууууууууууууууууууу 21.6.2020, 1:41 Levo222
workwindow (W[i][1], W[i... 21.6.2020, 2:08 cirus
С такой логикой если будет 50 окон, то в функцию ... 21.6.2020, 1:47 Levo222 l;kj;lk'l 21.6.2020, 2:49 Levo222 Вобщем ошибка такая:
43: attemp to compare number ... 21.6.2020, 9:51 cirus не работает
Кусок кода не может работать.
Точка ... 21.6.2020, 10:19 Levo222 Вот это вот не работает почему-то?
local w1 = find... 21.6.2020, 10:53 cirus
Переменная e не объявлена.
С 1 надо начинать цик... 21.6.2020, 11:23 Levo222
Переменная e не объявлена.
while Wcount[e... 21.6.2020, 15:00 cirus Опишите что вообще надо сделать. Или предлагаете п... 21.6.2020, 15:26 Levo222
Опишите что вообще надо сделать. Или предлагаете ... 21.6.2020, 15:45 cirus
Зачем? Findwindow возвращает массив, размер котор... 21.6.2020, 16:39 Levo222
Зачем? Findwindow возвращает массив, размер котор... 21.6.2020, 17:09 cirus
--lua
local WM_CLOSE = 0x0010
local window_name =... 21.6.2020, 18:48 Levo222
[code]--lua
local window_name = {'Блокнот... 27.6.2020, 4:56 Levo222 Мда. Туплю сегодня. Только понял что for i=0 вызыв... 22.6.2020, 8:34 cirus
Вывести в лог переменную c. 22.6.2020, 10:01 Levo222
Вывести в лог переменную c.
Я имел ввиду порядко... 27.6.2020, 4:07 cirus
Вывести значение переменной в лог и посмотреть.
... 27.6.2020, 11:42 Levo222
Где скрипт, который выдаёт такую ошибку?
Вобщем ... 28.6.2020, 5:55 cirus
Надо не городить, а понимать что в каком порядке ... 28.6.2020, 10:45 Levo222
[code]if count == {0, 0, 0} then
Это что?
[s]А, ... 28.6.2020, 11:00 Levo222 Не могу понять,
Вот такая конструкция:
while do
... 29.6.2020, 7:11 Levo222 local W = findwindow(window_name[i... 5.7.2020, 2:13 Fors1k if W then ?
Это выражение срабатывает, если W не n... 5.7.2020, 2:27 cirus
Тоже самое что:
if W ~= nil then 5.7.2020, 2:24 Levo222 У меня постоянно вылазит ошибка
Хотя все endы на... 5.7.2020, 2:37 cirus
Если пишет значит есть ошибка. Выкладывайте код и... 5.7.2020, 2:44 Levo222
Если пишет значит есть ошибка. Выкладывайте код и... 5.7.2020, 11:29 cirus Он же пишет в какой строке ошибка.
5.7.2020, 11:36 Levo222
Он же пишет в какой строке ошибка.
Криво скопиро... 5.7.2020, 11:49 cirus
Значит нет окна с таким именем. 5.7.2020, 12:00 Levo222
Значит нет окна с таким именем.
Я всякие имена в... 5.7.2020, 12:01 cirus
В какой этой? 5.7.2020, 12:03 Levo222
В какой этой?
Немного разница есть в ошибках: Ко... 5.7.2020, 12:08 cirus
Если окно не найдено, то h будет nil. Поэтому wor... 5.7.2020, 12:19 Levo222
Если окно не найдено, то h будет nil. Поэтому wor... 5.7.2020, 12:29 cirus
Естественно. Над этим подумайте:
--lua
do
local ... 5.7.2020, 12:35 Levo222
Естественно. Над этим подумайте:
[code]--lua
do
... 5.7.2020, 12:48 cirus
Никакие, только числа сравниваются с 0. 5.7.2020, 12:53 Levo222 Область видимости переменных
Теперь у меня на
... 5.7.2020, 13:44 Levo222 Как сделать Блок участка
[codebox]for forcount=1,... 5.7.2020, 13:56 cirus
Все.
--lua
log 'clear' log 'mode comp... 5.7.2020, 13:54 cirus
Объявить переменные вначале скрипта. 5.7.2020, 13:57 Levo222
Объявить переменные вначале скрипта.
Дак по ходу... 5.7.2020, 14:27 cirus
И что? Будет другое значение, вот и все.
Не видн... 5.7.2020, 14:34 Levo222
И что? Будет другое значение, вот и все.
Не видн... 5.7.2020, 15:11 cirus
Добавить переменную, в которую записывать сколько... 5.7.2020, 15:24 Levo222
Добавить переменную, в которую записывать сколько... 5.7.2020, 15:27 Fors1k Можно было написать [..codebox..] [../codebox..] и... 5.7.2020, 19:48 Levo222
Благодарю за совет о том, что мне можно было напи... 6.7.2020, 23:10 Fors1k я тебе там такими терминами заверну про акцептенат... 7.7.2020, 1:42 Madeus Чет походу все сводится к непониманию синтаксиса L... 5.7.2020, 21:11 cirus
Конкатенация nil приведёт к ошибке, надо так:
log... 5.7.2020, 21:16 Madeus Так и задумывалось, увидеть ошибку и понять почему... 5.7.2020, 21:37 Fors1k Для того, чтобы не путаться в областях видимости, ... 5.7.2020, 22:10 cirus Не будет путаницы если давать переменным осмысленн... 5.7.2020, 22:53
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|