Здравствуйте, гость ( Вход | Регистрация )

> -Счётчик, -Lua-
Levo222
сообщение 20.6.2020, 12:08
Сообщение #1


*****

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 то цикл полностью завершает свою работу.
Т.е. важно чтобы скрипт помнил какие контейнеры он уже открывал, чтобы больше к ним не возвращаться.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
cirus
сообщение 29.6.2020, 11:05
Сообщение #2


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26702
Пользователь №: 16.971
Возраст: 29



Цитата
Вот такая конструкция:
Не работает чтоли?

Работает.
Цитата
А разве таким образом нельзя получать состояние переменных в таблице?

Нет.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме
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
cirus   Работает. Нет.   29.6.2020, 11:05
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

 

- Текстовая версия | Версия для КПК Сейчас: 19.4.2024, 11:34
Designed by Nickostyle