|
Подскажитепжлста #2, вон скин там есть этот скрипт |
|
|
Levo222 |
12.2.2019, 6:56
|
Journeyman
Сообщений: 399
Регистрация: 18.11.2017 Группа: Пользователи Наличность: 0
Пользователь №: 18.689
|
Как сделать так, чтобы незадолго до этого: Цитата(cirus @ 12.2.2019, 6:16) Код log clear log mode compact while mod(min 5) != 0 or sec != 0 // ждать когда минуты будут кратны 5 и секунды равны 0 hint (24 clRed 500 500 -1 -1 (Ждём когда минуты будут кратны 5\nи секунды равны 0\n hour min sec)) wait 10 end_while log hour min sec
-
За 10 секунд он сделал действия подготовки? Т.е. ожидание кратности не должно быть первичным Я вроде бы всунул её внутрь скрипта, но каша получилась,
//////////// ========================================== ///////////////////////
задача #2 сделать 1 цикл внутри которого можно путём раскоментирования выбирать конкретное действие в каждый период цикла т.е. У меня есть задача накормить 4-х поросят за 20 минут. В первые 5 мин зеленого поросёнка, В начале следующих 5 мин красного поросёнка, в начале следующих 5 минут красного поросёнка, а в начале следующих 5 мин опять зеленого поросёнка. Каждый следующий цикл эта задача может изменяться в части цвета поросят. Нужно задать код внутри цикла ожидания действий вручную изменение точки нажатия(выбора поросят) чтобы не писать по 100500 циклов допустим // 1==== kleft 1200 470 abs //зеленый // kleft 1200 550 abs //красный // 2==== // kleft 1200 470 abs //зеленый kleft 1200 550 abs //красный // 3==== // kleft 1200 470 abs //зеленый kleft 1200 550 abs //красный // 4==== kleft 1200 470 abs //зеленый // kleft 1200 550 abs //красный
вот у меня есть 4 цикла я вручную раскоментировал на 30 минут какого поросёнка в какой промежуток кормить и он должен это выполнить + действия по подготовке кормушки чтобы открыть дверцу за 10 сек и достать корм из холодильника за 10 сек чтобы он не успел протухнуть -
Вобщем цель следующая: Задаю в скрипте цвета поросят в каждый период(их 4). Нажимаю на скрипт он смотрит сколько осталось до кратности 5-ти минутам, когда остаётся 10-20 сек, он Жмёт "Достать еду!" Замирает в ожидании 07:09:59 и нажимает Зеленого поросёнка. Переходит в ожидание начала следующего 5-ти минутного периода, но с учётом "Достать еду!" за 10 секунд до начала - повторить 5 раз - 07:09:45 - достать еду 07:09:59 - кинуть красному поросёнку [почему не использую 00:00 потому что нужно время на нажатие и отклик] ждать следующего кратного 5-ти минутам периода Не использую таймеры иначе все Цитата(sutra @ 12.2.2019, 6:36) всё может запросто поплыть.
как уже сказали. 07:14:45 - достать еду 07:15:00 - кинуть зеленому Как Предподготовку то перед поиском кратности провести?
|
|
|
|
Levo222 |
12.2.2019, 17:57
|
Journeyman
Сообщений: 399
Регистрация: 18.11.2017 Группа: Пользователи Наличность: 0
Пользователь №: 18.689
|
Цитата(cirus @ 12.2.2019, 16:25) код
Код init_arr %pig Свин1 Свин2 Свин3 Свин4 set #z 1
log clear log mode compact
while #z < 5 while mod(min 5) != 4 or sec < 40 or sec > 50 hint (24 clRed 500 500 -1 -1 (Ждём подготовки\n hour min sec)) wait 10 end_while log Достали еду hour min sec
while mod(min 5) != 4 or sec < 59 hint (24 clRed 500 500 -1 -1 (Ждём кормления\n hour min sec)) wait 10 end_while log Кормим %pig[#z] hour min sec log
wait 1000 set #z #z + 1 end_while end_script Он ждёт подготовки 21 час P.S: Как ассоциировать свиней с нажатием конкретной кнопки? Например чтобы заместо Свин 1 было [kleft 1200 550 abs(красный)] Свин 2 [kleft 1200 470 abs(зеленый)] Свин 3 [kleft 1200 470 abs(зеленый)] Свин 4 [kleft 1200 550 abs(красный)]?
|
|
|
|
Levo222 |
13.2.2019, 4:35
|
Journeyman
Сообщений: 399
Регистрация: 18.11.2017 Группа: Пользователи Наличность: 0
Пользователь №: 18.689
|
Цитата(cirus @ 13.2.2019, 5:29) Какой ещё 21 час? Он ждёт когда будет 4 мин 40 сек, 9 мин 40 сек, 14 мин 40 сек и т. д.
Да всё нормально, он у меня текущее время показывал))) вот я и.... Теперь нужно заместо выделенного жирным -
Код init_arr %pig !!! Свин1 Свин2 Свин3 Свин4!!! set #z 1
log clear log mode compact
while #z < 5 while mod(min 5) != 4 or sec < 40 or sec > 50 hint (24 clRed 500 500 -1 -1 (Ждём подготовки\n hour min sec)) wait 10 end_while log Достали еду hour min sec wait 100 Kleft 70, 10 abs //1 ВКЛАДКА 30, 2 -70, 3- 110, 4 -150 х //звук wait random (300) + 200 Kleft 132 200 // открыть дверцу wait random (300) + 200 kleft 1200 300 abs // достать еду wait random (300) + 200 kleft 1200 480 abs //задать цикл пищеварения 5 мин wait random (300) + 200 while mod(min 5) != 4 or sec < 59 hint (24 clRed 500 500 -1 -1 (Ждём кормления\n hour min sec)) wait 10 end_while log Кормим %pig[#z] hour min sec log
wait 1000 set #z #z + 1 end_while end_script -
чтобы init_arr %pig Свин1 Свин2 Свин3 Свин4 это было kleft 1200 550 abs kleft 1200 470 abs kleft 1200 470 abs kleft 1200 550 abs Присвоить - переменной [Зеленый] - kleft 1200 470 abs переменной [Красный] - kleft 1200 550 abs Итого: За цикл должно быть накормлено в таком порядке: Красный, Зеленый, Зеленый, Красный set R=Kleft 1200 550 abs set G=Kleft 1200 470 abs init_arr %pig #R, #G, #G, #R???
Цитата(sutra @ 13.2.2019, 8:16) Так сколько свиней то? 4 или 2 ?
Свиней 2 типа (IMG: style_emoticons/default/biggrin.gif) , но фактически беру 4 интервала, за каждый интервал может быть накормлена только 1 тип свиньи, тип задается вначале перед запуском скрипта. Фактически это подброс монеты - какая свинья выстрелит - вручную это делать лень.
|
|
|
|
sutra |
13.2.2019, 5:03
|
Adept
Сообщений: 923
Регистрация: 10.8.2018 Группа: Пользователи Наличность: 0
Пользователь №: 19.007
|
Ну так задай координаты кликов массивом. вместо 1200 550 и т.д. Задай kleft 1200 %pigclick[#z] abs init_arr %pigclick 550 470 470 550 Цитата какая свинья выстрелит - вручную это делать лень. Так колором можно посмотреть. Конечно трудно соображать в уме, когда сам не видел конкретики. Код init_arr %pigclick 550 470 470 550 set #z 1 //... kleft 1200 %pigclick[#z] abs set #z 2 //... kleft 1200 %pigclick[#z] abs и так далее.
|
|
|
|
sutra |
13.2.2019, 8:36
|
Adept
Сообщений: 923
Регистрация: 10.8.2018 Группа: Пользователи Наличность: 0
Пользователь №: 19.007
|
Цитата Это в непосредственно в цикл кормления или подготовки? Ну как я понимаю, там где надо кормить. Подготовка то вроде стандартная и одинаковая для всех. Подготовка - это там где заремаренные многоточия. Цитата log Кормим %pig[#z] Вот вместо этого ставишь kleft 1200 %pigclick[#z] abs
|
|
|
|
Levo222 |
13.2.2019, 14:00
|
Journeyman
Сообщений: 399
Регистрация: 18.11.2017 Группа: Пользователи Наличность: 0
Пользователь №: 18.689
|
Цитата(sutra @ 13.2.2019, 12:36) Ну как я понимаю, там где надо кормить. Подготовка то вроде стандартная и одинаковая для всех.
Подготовка - это там где заремаренные многоточия.
Вот вместо этого ставишь kleft 1200 %pigclick[#z] abs
Так как сделать 4 цикла то? Он останавливается после 1-го -
Код init_arr %pigclick 550 470 470 550 set #z 1 //kleft 1200 %pigclick[#z] abs set #z 2 //kleft 1200 %pigclick[#z] abs set #z 3 //kleft 1200 %pigclick[#z] abs set #z 4 //kleft 1200 %pigclick[#z] abs
log clear log mode compact for #i 1 4 while #z < 5 while mod(min 5) != 4 or sec < 40 or sec > 50 hint (24 clRed 500 500 -1 -1 (Ждём подготовки\n hour min sec)) wait 10 end_while log Достали еду hour min sec wait 100 Kleft 70, 10 abs //1 wait random (300) + 200 Kleft 132 200 // открыть дверцу wait random (300) + 200 kleft 1200 300 abs // достать еду wait random (300) + 200 kleft 1200 480 abs //задать цикл 5 мин wait random (300) + 200 while mod(min 5) != 4 or sec < 59 hint (24 clRed 500 500 -1 -1 (Ждём кормления\n hour min sec)) wait 10 end_while log Кормим kleft 1200 %pigclick[#z] abs hour min sec // %pig[#z] hour min sec log wait 1000 set #z #z + 1 end_while end_for end_script
Цитата(cirus @ 13.2.2019, 5:29) Он ждёт когда будет 4 мин 40 сек, 9 мин 40 сек, 14 мин 40 сек и т. д.
аналогично для 15 минут нужно, они тоже кратны 5-ти но нужно делать тоже самое но каждые 15 минут
|
|
|
|
cirus |
13.2.2019, 14:42
|
Elder
Сообщений: 3.480
Регистрация: 18.8.2014 Группа: Пользователи Наличность: 26576
Пользователь №: 16.971
Возраст: 29
|
Цитата Он останавливается после 1-го Цитата set #z 1 //kleft 1200 %pigclick[#z] abs set #z 2 //kleft 1200 %pigclick[#z] abs set #z 3 //kleft 1200 %pigclick[#z] abs set #z 4 //kleft 1200 %pigclick[#z] abs И что это? #z равно 4 while #z < 5 пока #z меньше 5, т. е. выполниться 1 раз, потому что на следующем шаге #z будет 5. for в таком виде вообще не имеет смысла. Переменная #z нигде не обнуляется. Цитата kleft 1200 %pigclick[#z] abs hour min sec Что в клике делают hour min sec? Цитата аналогично для 15 минут нужно, они тоже кратны 5-ти но нужно делать тоже самое но каждые 15 минут И как выполнять действия одновременно в 5 и 15 минут? Либо в разное время, либо по очереди.
|
|
|
|
Levo222 |
13.2.2019, 14:57
|
Journeyman
Сообщений: 399
Регистрация: 18.11.2017 Группа: Пользователи Наличность: 0
Пользователь №: 18.689
|
Цитата(cirus @ 13.2.2019, 18:42) И как выполнять действия одновременно в 5 и 15 минут? Либо в разное время, либо по очереди.
Нет отдельно для 5-ти и для 15 мин, это просто разные скрипты То есть так:? КОД
Код init_arr %pigclick 550 470 470 550 set #z 1
log clear log mode compact for #i 1 4 while #z < 5 while mod(min 5) != 4 or sec < 40 or sec > 50 hint (24 clRed 500 500 -1 -1 (Ждём подготовки\n hour min sec)) wait 10 end_while log Достали еду hour min sec wait 100 Kleft 70, 10 abs //1 wait random (300) + 200 Kleft 132 200 // открыть дверцу wait random (300) + 200 kleft 1200 300 abs // достать еду wait random (300) + 200 kleft 1200 480 abs //задать цикл 5 мин wait random (300) + 200 while mod(min 5) != 4 or sec < 59 hint (24 clRed 500 500 -1 -1 (Ждём кормления\n hour min sec)) wait 10 end_while log Кормим kleft 1200 %pigclick[#z] abs // %pig[#z] hour min sec log hour min sec wait 1000 set #z #z + 1 end_while end_for end_script
|
|
|
|
cirus |
13.2.2019, 15:19
|
Elder
Сообщений: 3.480
Регистрация: 18.8.2014 Группа: Пользователи Наличность: 26576
Пользователь №: 16.971
Возраст: 29
|
Цитата То есть так:? for не нужен. А если нужен, то после end_while надо дописать set #z 1 Вот так сейчас у вас: Код set #z 1 for #i 1 4 while #z < 5 log #z set #z #z + 1 end_while end_for end_script Тоже самое без for: Код set #z 1 while #z < 5 log #z set #z #z + 1 end_while end_script Цитата Нет отдельно для 5-ти и для 15 мин, это просто разные скрипты Причём тут разные скрипты. Курсор у винды только один. На 15й минуте будет 3й раз выполняться скрипт для 5 минут и первый раз для 15 минут. Одновременно один курсор будут дёргать друг у друга?
|
|
|
|
Levo222 |
13.2.2019, 15:22
|
Journeyman
Сообщений: 399
Регистрация: 18.11.2017 Группа: Пользователи Наличность: 0
Пользователь №: 18.689
|
Цитата
Цитата(cirus @ 13.2.2019, 19:19) for не нужен. А если нужен, то после end_while надо дописать set #z 1 Вот так сейчас у вас: Код set #z 1 for #i 1 4 while #z < 5 log #z set #z #z + 1 end_while end_for end_script Тоже самое без for: Код set #z 1 while #z < 5 log #z set #z #z + 1 end_while end_script Причём тут разные скрипты. Курсор у винды только один. На 15й минуте будет 3й раз выполняться скрипт для 5 минут и первый раз для 15 минут. Одновременно один курсор будут дёргать друг у друга? Про for понял. Про 5 и 15 Эти скрипты будут выполняться в разное время, вообще никак не пересекаться !=На разных компах Сейчас цикл выполнился как надо, и for никак не помешал, непонятно как он будет работать если нужно выполнить 4 раза по 4 Т.е. после End_While дописываю Set #z 1 и он выполняет 4 по 4? Если я сопоставлю переменные массиву координат #Y в init_arr %pigclick 550 470 470 550 set #R 550 set #G 470 и напишу init_arr %pigclick #R #G #G #R Это будет работать? ----------Upd-------------------- Упс) Не работает Image
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|