Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: KingDrakonov on August 14, 2018, 08:55:31 PM
-
Помогите разобраться почему не работает, далжно пахать
цель пока простая
где то было написано что можно перечислять через запитую рисунки. не работает
покупка. вначале самое дорогое их 7 улучшений всего, в каждой из 3х идет дешевое к дорогому 2,6,20
// Пакупка 3 если не чего не находит чтоб искал все время
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (1200,325, 1479,702, "Башня_\Usileniya_Magiya_1.bmp", -1, 90)
$check = 1
LCLICK($_return1, $_return2+280)
WAITMS(100)
ELSE
IF_PICTURE_IN (1200,325, 1479,702, "Башня_\Usileniya_Ataka_4.bmp", -1, 90)
$check = 1
LCLICK($_return1, $_return2+280)
WAITMS(100)
ELSE
IF_PICTURE_IN (1200,325, 1479,702, "Башня_\Usileniya_zashita_4.bmp", -1, 90)
$check = 1
LCLICK($_return1, $_return2+280)
WAITMS(100)
ELSE
IF_PICTURE_IN (1200,325, 1479,702, "Башня_\Usileniya_z_mag_4.bmp", -1, 90)
$check = 1
LCLICK($_return1, $_return2+280)
WAITMS(100)
ELSE
// Не брать
IF_PICTURE_IN (1200,325, 1479,702, "Башня_\Usileniya_Enepgiya_1.bmp", -1, 90)
$check = 1
LOGWRITE ("Не нужное 3")
ELSE
IF_PICTURE_IN (1200,325, 1479,702, "Башня_\Usileniya_Hil.bmp_4", -1, 90)
$check = 1
LOGWRITE ("Не нужное 3")
ELSE
IF_PICTURE_IN (1200,325, 1479,702, "Башня_\Usileniya_Voskresenie.bmp_4", -1, 90)
$check = 1
LOGWRITE ("Не нужное 3")
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_IF
END_IF
END_IF
END_IF
END_IF
END_IF
END_CYC
// Проверка надписи если нету идем дальше Денег не хватает закрыть
WAIT(2) // на всякий случай
WHILE
GETSCREEN
IF_PICTURE_IN (973,414, 1304,479, "Башня_\Net_cherepov.bmp", -1, 90)
LCLICK($_return1+70, $_return2+100) // закрыли и идем дальше
WAITMS(100)
END_IF
END_CYC
// Пакупка 2 тоже самое только чуть другие кардиналы поиска, и заместо _4 стоит _2
// Пакупка 1 --\\--
// закрыть
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (1365,247, 1516,388, "Башня_\Zakryt.bmp", -1, 90)
$check = 1
LCLICK($_return1+7, $_return2+7)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
// Идти дальше
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (1387,414, 1581,578, "Башня_\Idti_dalshe.bmp", -1, 100)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
следующая проблема немного другая три сейфа надо 1н открыть случайным образом
ТО работает то нет и подвисает
-
строка 52-58 там надо чтобы, не искал все время а просто глянул, есть то нажал, нету пропустил
а ты поставил искать беспрерывно. как помню
вроде так правильно а там хз, вроде не проверял эту часть
// Проверка надписи если нету идем дальше Денег не хватает закрыть
WAIT(2) // на всякий случай
WHILE
GETSCREEN
IF_PICTURE_IN (973,414, 1304,479, "Башня_\Net_cherepov.bmp", -1, 90)
LCLICK($_return1+70, $_return2+100) // закрыли и идем дальше
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
и ты дописал 4 завершения забыл поставить исходник с 3мя, я писал с семи для полной картины пака вроде там не каких изменений не заметил. подправил чтобы не путать других
-
строка 52-58 там надо чтобы, не искал все время а просто глянул, есть то нажал, нету пропустил
ну тогда зачем же там цикл? тем более цикл без условия (в твоем варианте).
убирай его, все равно он игнорируется в таком виде.
WAIT(2) // на всякий случай
GETSCREEN
IF_PICTURE_IN (973,414, 1304,479, "Башня_\Net_cherepov.bmp", -1, 90)
LCLICK($_return1+70, $_return2+100) // закрыли и идем дальше
WAITMS(100)
ELSE
WAITMS(50)
END_IF
-
строка 52-58 там надо чтобы, не искал все время а просто глянул, есть то нажал, нету пропустил
ну тогда зачем же там цикл? тем более цикл без условия (в твоем варианте).
убирай его, все равно он игнорируется в таком виде.
WAIT(2) // на всякий случай
GETSCREEN
IF_PICTURE_IN (973,414, 1304,479, "Башня_\Net_cherepov.bmp", -1, 90)
LCLICK($_return1+70, $_return2+100) // закрыли и идем дальше
WAITMS(100)
ELSE
WAITMS(50)
END_IF
Что то не понял
эту часть можно у уменьшить до
GETSCREEN // делает скрен
IF_PICTURE_IN (973,414, 1304,479, "Башня_\Net_cherepov.bmp", -1, 90) // ищет
LCLICK($_return1+70, $_return2+100) // закрыли и идем дальше
WAITMS(50) // ожидание 50мс
END_IF
или подругому можно нописать
ну ладно и еще убрать можно 50 микро сек
ну меня больше волнует то что выше факт то что повисает и искать не хочет
-
я понял что ты имел виду
было у меня
WHILE
GETSCREEN
IF_PICTURE_IN (973,414, 1304,479, "Башня_\Net_cherepov.bmp", -1, 90)
LCLICK($_return1+70, $_return2+100) // закрыли и идем дальше
WAITMS(100)
END_IF
END_CYC
проверил этот кусок нехочет проходить его ашибка
так как не чего нету, смотрит одним глазом как и надо
//WHILE
GETSCREEN
IF_PICTURE_IN (973,414, 1304,479, "Башня_\Net_cherepov.bmp", -1, 90)
LCLICK($_return1+70, $_return2+100) // закрыли и идем дальше
WAITMS(100)
END_IF
//END_CYC
-
Спс всем и за глупой ошибки не работало
Помогите с другим есть три сейфа надо по одному кликнуть случайным образом.
Желательно на верх скрипта вынести переменную,отключения и авто выбора того которого я хочу
-
У сейфов могут быть или них постоянные и известные уже координаты или они ищутся через scanpicture. Предположим, что мы каждый раз их ищем по картинке, а значит, они оказываются в массиве в последовательности х1,у1,х2,у2,х3,у3.
$safe_x= 3 // вынесено наверх/ 1,2,3 - это выбранный вами вариант. Включение рандома - 0, отключение вообще поиска сейфов - 4 (или любое число больше 3).
If($safe_x=0) //если ничего на выбрано
$safe_x=rnd(1,3)
End_if
If($safe_x<4)
GETSCREEN
SCANPICTURE($ARR_SCAN, 0,0, $_xmax,$_ymax, "picture.bmp", -1, 100)
lclick ($ARR_SCAN[2*($safe_x-1)], $ARR_SCAN[2*($safe_x-1)+1] ) // т.к. не знаю размер сейфов, то смешение, чтоб кликал ближе к центру, делаете сами (либо слегка обрезаете картинку сейфа слева сверху - еще и быстрее искать будет)
End_if
halt
Если координаты уже есть и хочется всегда использовать рандом, то можно было бы просто в клике прописать все возможные координаты х (считаем, что сейфы в ряд поставлены, т.е. по у не отличаются):
lclick (RNDFROM (x1,x2,x3), y)
-
Да ты прав они стоят в ряд сейфы, игра в оконном режиме, па этому надо постоянно искать их. Активация сейфа кнопкой они все одинаковые. кнопка примерно 30х100пх промеж них 100пх в итоге занимают 500пх от начало 1й до конца 3й кнопки. я захватываю примерно еще 100-200пх во все стороны + к тому окно с правой стороны экрана,
привязывать нельзя стоит защита кликер видит только черный экран
$safe_x= 0 // вынесено наверх/ 1,2,3 - это выбранный вами вариант. Включение рандома - 0, отключение вообще поиска сейфов - 4 (или любое число больше 3).
If($safe_x=0) //если ничего на выбрано
$safe_x=rnd(1,3)
End_if
If($safe_x<4)
GETSCREEN
SCANPICTURE($ARR_SCAN, 721,514, 1586,660, "Otkryt_seif.bmp", -1, 100)
lclick ($ARR_SCAN[2*($safe_x-1)], $ARR_SCAN[2*($safe_x-1)+1] )
End_if
Код работает вроде, четыре раза открыл сейф 1й раз 2й и 3 раза 3й сейф, на случайку не очень похоже. Завтра пройду гляну.
К стате как прописать чтобы в логе показывал какой открыт сейф
-
А где условие нахождения картинки? Найдено не найдено все равно клик, а так как массив пуст еще и ошибка.
К тому же нет очистки массива, SCANPICTURE при каждом сканировании будет добавлять значения в $ARR_SCAN.
Вот исправленный код.
Также теперь рандом не будет выдавать одинаковые числа подряд.
// 1,2,3 - выбор сейфа
// 0 - Включение рандома
// 4 - отключение поиска сейфов
$safe_x = 0
If($safe_x=0)
$safe_x=rnd(1,3)
WHILE($safe_x=$safe_xs)
$safe_x=rnd(1,3)
END_CYC
$safe_xs=$safe_x
End_if
If($safe_x<4)
GETSCREEN
SCANPICTURE($ARR_SCAN, 721,514, 1586,660, "Otkryt_seif.bmp", -1, 100)
IF(ARRSIZE($ARR_SCAN)/2 > 2) // Если найдено 3 картинки
LCLICK ($ARR_SCAN[2*($safe_x-1)], $ARR_SCAN[2*($safe_x-1)+1])
LOGWRITE ("Клик по Сейфу №: ", $safe_x)
WAITMS(50)
END_IF
UNDEFINE($ARR_SCAN) // Очистка массива
End_if
WAIT(1)
-
этот скрипт доже не работает открыл 12 сейфов и все первые. Может быть он разщитан на открытия с подряд сейфов, но у меня для открытия следующего сейфа надо пройти 2-5 этажей патом отрыть сейф надо
-
разщитан
:o :-[
А по делу, вот эта фиговина одноразовая
// 1,2,3 - выбор сейфа
// 0 - Включение рандома
// 4 - отключение поиска сейфов
$safe_x = 0
If($safe_x=0)
$safe_x=rnd(1,3)
...
После первого выбора, рандом отключается. Пусть автор переделает.
-
:o :-[
А по делу, вот эта фиговина одноразовая
После первого выбора, рандом отключается. Пусть автор переделает.
Чего???
// 1,2,3 - выбор сейфа
// 0 - Включение рандома
// 4 - отключение поиска сейфов
$safe_x = 0
If($safe_x=0)
$safe_x=rnd(1,3)
WHILE($safe_x=$safe_xs)
$safe_x=rnd(1,3)
END_CYC
$safe_xs=$safe_x
End_if
LOGWRITE ($safe_x)
WAITMS(500)
Лог:
11:24:29 1
11:24:30 3
11:24:30 2
11:24:31 1
11:24:31 2
11:24:32 1
11:24:32 2
11:24:33 3
11:24:33 1
11:24:34 2
11:24:34 1
11:24:35 3
11:24:35 2
-
А, ну да.
А зачем тогда вообще условие, если перед ним всегда сбрасываем? Это и сбило с толку.
Аааа, это я не проснулся. Там же на все случаи жизни, которые не просили.
-
Я не знаю почему не работает у меня ХЗ...ХЗ
Вот мой лог полный прохождения половина пути
13:12:57 Ищем
13:12:59 Сундук открыть
13:12:59 Открываем сейф
13:13:01 Клик по Сейфу №: 2 как видно 2й 1
13:13:06 Ищем
13:13:07 В бой
13:13:07 Зачистка этажа - Бой
13:13:08 Бой
13:13:33 Ищем
13:13:34 В бой
13:13:34 Зачистка этажа - Бой
13:13:35 Бой
13:13:55 Ищем
13:13:56 Сундук открыть
13:13:56 Открываем сейф
13:13:58 Клик по Сейфу №: 2 как видно 2й 2
13:14:04 Ищем
13:14:06 В бой
13:14:06 Зачистка этажа - Бой
13:14:07 Бой
13:14:27 Ищем
13:14:28 улучшение
13:14:28 Покупка 3
13:14:28 Покупка 3 не нахожу
13:14:30 Покупка 2
13:14:31 Покупка 1
13:14:37 Ищем
13:14:41 В бой
13:14:41 Зачистка этажа - Бой
13:14:42 Бой
13:15:03 Ищем
13:15:05 Сундук открыть
13:15:05 Открываем сейф
13:15:07 Клик по Сейфу №: 2 как видно 2й 3
13:15:12 Ищем
13:15:16 В бой
13:15:16 Зачистка этажа - Бой
13:15:17 Бой
13:15:38 Ищем
13:15:38 В бой
13:15:38 Зачистка этажа - Бой
13:15:39 Бой
13:16:06 Ищем
13:16:07 Сундук открыть
13:16:07 Открываем сейф
13:16:09 Клик по Сейфу №: 2 как видно 2й 4
13:16:15 Ищем
13:16:16 улучшение
13:16:16 Покупка 3
13:16:16 Покупка 3 не нахожу
13:16:18 Покупка 2
13:16:19 Покупка 1
13:16:25 Ищем
13:16:27 В бой
13:16:27 Зачистка этажа - Бой
13:16:28 Бой
13:16:50 Ищем
13:17:01 В бой
13:17:01 Зачистка этажа - Бой
13:17:02 Бой
13:17:23 Ищем
13:17:24 Сундук открыть
13:17:24 Открываем сейф
13:17:27 Клик по Сейфу №: 2 как видно 2й 5
13:17:32 Ищем
13:17:32 В бой
13:17:32 Зачистка этажа - Бой
13:17:33 Бой
13:20:49 Ищем
13:20:50 улучшение
13:20:50 Покупка 3
13:20:50 Покупка 3 не нахожу
13:20:52 Покупка 2
13:20:53 Покупка 1
13:21:01 Ищем
13:21:01 В бой
13:21:01 Зачистка этажа - Бой
13:21:02 Бой
13:21:25 Ищем
13:21:26 Сундук открыть
13:21:26 Окрашиваем сейф
13:21:29 Клик по Сейфу №: 2 как видно 2й 6
13:21:32 Пройдено
Шесть раз открыл и все 2й сейф пппппп
Я даже переместил переменную с начала скрипта обратно к коду на последний сейф
Код занимает уже 500 строк ну там можно мусор убрать и логи все почти все будет 420-450
Твой код начинается с 129-148
Что скажешь в чем причина
-
Что скажешь в чем причина
И где твой код?
-
весь код выложить прохождения
твой вот и показываю где стоит
рисунком
(http://static2.keep4u.ru/2018/08/17/BUFER-OBMENA1844e01fd30ba0821c.jpg)
переменную переместил к коду обратно решил попробовать хотя не должно было измениться что то, с чем то конфликта не должно быть
-
Вот накидал простенький код
Рандом работает
skip3:
$safe_x = 0
// skip3:
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (944,280, 1591,507, "KRS.bmp", -1, 100)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("1")
GOTO(skip)
ELSE
WAITMS(50)
END_IF
END_CYC
skip2:
If($safe_x=0)
$safe_x=rnd(1,3)
WHILE($safe_x=$safe_xs)
$safe_x=rnd(1,3)
END_CYC
$safe_xs=$safe_x
End_if
If($safe_x<4)
GETSCREEN
SCANPICTURE($ARR_SCAN, 944,280, 1591,507, "KRS.bmp", -1, 100)
IF(ARRSIZE($ARR_SCAN)/2 > 2) // Если найдено 3 картинки
LCLICK ($ARR_SCAN[2*($safe_x-1)], $ARR_SCAN[2*($safe_x-1)+1])
LOGWRITE ("Клик по Сейфу №: ", $safe_x)
WAITMS(50)
END_IF
UNDEFINE($ARR_SCAN) // Очистка массива
End_if
WAIT(1)
GOTO(skip3)
skip:
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (1139,309, 1591,507, "KRS.bmp", -1, 100)
$check = 1
LCLICK($_return1, $_return2)
LOGWRITE ("2")
GOTO(skip2)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
Лог
20:03:57 2
20:04:00 Клик по Сейфу №: 3
20:04:03 1
20:04:04 2
20:04:07 Клик по Сейфу №: 1
20:04:09 1
20:04:10 2
20:04:13 Клик по Сейфу №: 3
20:04:16 1
20:04:16 2
20:04:19 Клик по Сейфу №: 1
20:04:22 1
20:04:23 2
20:04:26 Клик по Сейфу №: 3
20:04:28 1
20:04:29 2
20:04:32 Клик по Сейфу №: 1
20:04:35 1
20:04:35 2
20:04:38 Клик по Сейфу №: 3
20:04:41 1
20:04:42 2
20:04:45 Клик по Сейфу №: 2
20:04:47 1
20:04:48 2
20:04:51 Клик по Сейфу №: 1
20:04:54 1
20:04:54 2
20:04:57 Клик по Сейфу №: 3
20:05:00 1
20:05:01 2
20:05:04 Клик по Сейфу №: 1
20:05:06 1
20:05:07 2
20:05:10 Клик по Сейфу №: 3
Конечно частенько 1,3 выпадает
без кода лишнего прекрасно
20:27:42 Клик по Сейфу №: 2
20:27:46 Клик по Сейфу №: 1
20:27:50 Клик по Сейфу №: 2
20:27:54 Клик по Сейфу №: 3
20:27:58 Клик по Сейфу №: 1
20:28:02 Клик по Сейфу №: 3
20:28:06 Клик по Сейфу №: 2
20:28:10 Клик по Сейфу №: 3
20:28:14 Клик по Сейфу №: 2
20:28:18 Клик по Сейфу №: 1
20:28:22 Клик по Сейфу №: 3
20:28:26 Клик по Сейфу №: 2
20:28:30 Клик по Сейфу №: 3
20:28:34 Клик по Сейфу №: 1
А вот не работает
// skip3:
$safe_x = 0
skip3:
$check = 0
WHILE($check = 0)
......
Лог
:20:21 1
20:20:21 2
20:20:24 Клик по Сейфу №: 2
20:20:26 1
20:20:27 2
20:20:30 Клик по Сейфу №: 2
20:20:32 1
20:20:33 2
20:20:36 Клик по Сейфу №: 2
20:20:38 1
20:20:39 2
20:20:42 Клик по Сейфу №: 2
20:20:44 1
20:20:45 2
20:20:47 Клик по Сейфу №: 2
20:20:50 1
20:20:50 2
20:20:53 Клик по Сейфу №: 2
20:21:05 1
20:21:05 2
20:21:08 Клик по Сейфу №: 2
20:21:11 1
20:21:11 2
20:21:14 Клик по Сейфу №: 2
Можноли это подправить
Я перенес переменную к основному коду заработало
21:56:44 Клик по Сейфу №: 1
21:57:57 Клик по Сейфу №: 3
21:58:57 Клик по Сейфу №: 2
22:00:11 Клик по Сейфу №: 1
22:01:21 Клик по Сейфу №: 2
22:02:38 Клик по Сейфу №: 1
22:04:04 Клик по Сейфу №: 3
-
Ну сколько можно писать что выпрыгивать из циклов или подпрограмм не допустимо.
GOTO не должно вести за грань WHILE FOR или SUB иначе добро пожаловать глюки.
-
не обращал внимания
извини постараюсь не допускать эту ошибку
помогите с другим часто в одном итомже месте надо найти одну из несколько картинок
читал где то что можно перечислять через запитую
не работает ?????? или это на оборот поиск всех кортинок
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp","file2.bmp","file3.bmp","file4.bmp", -1, 100)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
-
Где ты такое мог прочитать? В справке черным по белому описан синтаксис. В функции допустимо указывать только одну картинку.
Если картинок много можно организовать цикл
$check = 0
WHILE($check = 0)
GETSCREEN
FOR($i=1,($i<5)&($check = 0)) // Перебор file1.bmp - file4.bmp
IF_PICTURE_IN (0,0, $_xmax,$_ymax, STRCONCAT("file",$i,".bmp"), -1, 100)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
END_CYC
-
Спасибо огромное жалко что нельзя оставить свои имина у картинок, если изменится картинка будет не большая путаница
если правильно понял
1я группа FOR($i=1,($i<6)&($check = 0))
2я группа FOR($i=6,($i<11)&($check = 0))
-\\-
file1...file10...
-
Спасибо огромное жалко что нельзя оставить свои имина у картинок, если изменится картинка будет не большая путаница
Вполне можно. Кликер может получить список имен файлов из конкретной папки по полному пути, или относительно загруженному скрипту. Требуется 4.13 версия, только там функция GETFILELIST заработала корректно.
Массив $a_file переписывается каждый раз при вызове GETFILELIST поэтому очищать его не требуется.
GETFILELIST($a_file, "Image_1\*.bmp") // Получаем массив имен файлов
$check = 0
WHILE($check = 0)
GETSCREEN
FOR($i=0,($i<ARRSIZE($a_file))&($check = 0)) // Перебор всех картинок их папки Image_1
IF_PICTURE_IN (0,0, $_xmax,$_ymax, $a_file[$i], -1, 100)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
END_CYC
-
если правильно понял
1я группа FOR($i=1,($i<6)&($check = 0))
2я группа FOR($i=6,($i<11)&($check = 0))
-\\-
file1...file10...
1я группа FOR($i=1,($i<6)&($check = 0)) - от 1 до 5
2я группа FOR($i=5,($i<11)&($check = 0)) - от 5 до 10
В 4.13 версии введены новые операторы сравнения, больше или равно и меньше или равно. Поэтому если ты работаешь в этой версии писать можно так
1я группа FOR($i=1,($i<=5)&($check = 0)) - от 1 до 5
2я группа FOR($i=5,($i<=10)&($check = 0)) - от 5 до 10
-
проверьте так можно хуже не будет. после обеда буду пробовать
ошибка черному по белому не вижу пака впрытык
LOGWRITE ("Усилие-улучшение 3")
// GETFILELIST($a_file, "Image_1\*.bmp") // Получаем массив имен файлов
$check = 0
WHILE($check = 0)
GETSCREEN
GETFILELIST($a_file, "Usileniya_3\*.bmp") // Получаем массив имен файлов
FOR($i=0,($i<ARRSIZE($a_file))&($check = 0)) // Перебор всех картинок их папки Image_1
IF_PICTURE_IN (1213,323, 1466,412, $a_file[$i], -1, 100)
$check = 1
LCLICK($_return1+46, $_return2+280)
WAITMS(50)
ELSE
GETFILELIST($a_file, "Usileniya_3-\*.bmp") // Получаем массив имен файлов
FOR($i=0,($i<ARRSIZE($a_file))&($check = 0)) // Перебор всех картинок их папки Image_1
IF_PICTURE_IN (1213,323, 1466,412, $a_file[$i], -1, 100)
$check = 1
// LCLICK($_return1+46, $_return2+280)
LOGWRITE ("Усилие 3 ненужное")
WAITMS(100)
ELSE // удалить 5 строк лишние
LOGWRITE ("Усилие 3 ЧТОТО НЕТО СТОП")
HALT // удалить стоп
WAITMS(50)
END_IF // удалить
END_IF
END_CYC
END_CYC
LOGWRITE ("Усилие-улучшение 2")
--\\--
так вроде правильней
LOGWRITE ("Усилие-улучшение 3")
// GETFILELIST($a_file, "Image_1\*.bmp") // Получаем массив имен файлов
$check = 0
WHILE($check = 0)
GETSCREEN
GETFILELIST($a_file, "Usileniya_3\*.bmp") // Получаем массив имен файлов
FOR($i=0,($i<ARRSIZE($a_file))&($check = 0)) // Перебор всех картинок их папки Image_1
IF_PICTURE_IN (1213,323, 1466,412, $a_file[$i], -1, 100)
$check = 1
LCLICK($_return1+46, $_return2+280)
WAITMS(50)
END_IF
END_CYC
ELSE
GETFILELIST($a_file, "Usileniya_3-\*.bmp") // Получаем массив имен файлов
FOR($i=0,($i<ARRSIZE($a_file))&($check = 0)) // Перебор всех картинок их папки Image_1
IF_PICTURE_IN (1213,323, 1466,412, $a_file[$i], -1, 100)
$check = 1
// LCLICK($_return1+46, $_return2+280)
LOGWRITE ("Усилие 3 ненужное")
WAITMS(100)
ELSE // удалить 5 строк лишние
LOGWRITE ("Усилие 3 ЧТОТО НЕТО СТОП")
HALT // удалить стоп
WAITMS(50) // удалить
END_IF
END_CYC
END_CYC
LOGWRITE ("Усилие-улучшение 2")
--\\--
Извините за глупые вопросы я языков программирования не знаю учюсь
-
Вот так правильно, ELSE то там зачем приписал?! Альтернатива не может быть нигде кроме как в условии IF_.
LOGWRITE ("Усилие-улучшение 3")
$check = 0
WHILE($check = 0)
GETSCREEN
GETFILELIST($a_file, "Usileniya_3\*.bmp") // Получаем массив имен файлов
FOR($i=0,($i<ARRSIZE($a_file))&($check = 0)) // Перебор всех картинок их папки Image_1
IF_PICTURE_IN (1213,323, 1466,412, $a_file[$i], -1, 100)
$check = 1
LCLICK($_return1+46, $_return2+280)
WAITMS(50)
END_IF
END_CYC
GETFILELIST($a_file, "Usileniya_3-\*.bmp") // Получаем массив имен файлов
FOR($i=0,($i<ARRSIZE($a_file))&($check = 0)) // Перебор всех картинок их папки Image_1
IF_PICTURE_IN (1213,323, 1466,412, $a_file[$i], -1, 100)
$check = 1
// LCLICK($_return1+46, $_return2+280)
LOGWRITE ("Усилие 3 ненужное")
WAITMS(100)
ELSE // удалить 5 строк лишние
LOGWRITE ("Усилие 3 ЧТОТО НЕТО СТОП")
HALT // удалить стоп
WAITMS(50) // удалить
END_IF
END_CYC
END_CYC
-
Помогите еще с одним всю голову переломал, может просто устал поэтому не доходит
Магу сам попробовать сделать по другому но получается большоват
1ю картинку находит переходит к следующиму поиску-выполнению как полагается
1ю не находит 2ю находит и кликает но начинает этот код сначала и так 6 раз пака не найдет 1ю, если не нашел то кликает на другую кнопку и останавливает скрипт (координаты пусть берет от 2го поиска или 3й поиск дополнительно) + лог; не нашел проход
$check = 0
WHILE($check = 0)
GETSCREEN
LOGWRITE("1") // лог 1й поиск
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Sobrat_nagradu.bmp", -1, 100)
$check = 1
LCLICK($_return1+RND(7, 14), $_return2+RND(7, 14))
WAITMS(50)
ELSE
LOGWRITE("2") // лог 2й поиск
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Sled.bmp", -1, 100)
$check = 1
LCLICK($_return1+RND(-10, 10), $_return2+RND(-10, 10))
WAITMS(50)
END_IF
END_IF
END_CYC
-
$check = 0
WHILE($check < 6)
GETSCREEN
LOGWRITE("1") // лог 1й поиск
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Sobrat_nagradu.bmp", -1, 100)
$check = 6
LCLICK($_return1+RND(7, 14), $_return2+RND(7, 14))
WAITMS(50)
ELSE
LOGWRITE("2") // лог 2й поиск
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Sled.bmp", -1, 100)
INC($check,1)
IF($check < 6)
LCLICK($_return1+RND(-10, 10), $_return2+RND(-10, 10))
WAITMS(50)
ELSE
LCLICK(100,500) // 6ой раз найдена картинка Sled.bmp
WAITMS(50)
HALT
END_IF
ELSE
WAITMS(50)
END_IF
END_IF
END_CYC
-
спасибо огромное
ты как палочка выручалочка
(https://b.radikal.ru/b21/1808/5e/d4d6bad28181.jpg)
еще вопросы будут. игра не полностью перевидена на автоматику, да еще обновление обещают может там что то замороченное будет
-
появился еще вопросик
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Трата_\Sborka_p.bmp", -1, 100) // координаты отсюдова
print("цена X=", $_return1, ", Y=", $_return2)
WAITMS(50)
IF_PIXEL_IN ($_return1-96,$_return2-8, $_return1+120,$_return2+19, 4145895) // а вот это строчку как написать
print("пиксель X=", $_return1, ", Y=", $_return2)
$check = 1
WAITMS(50)
LOGWRITE ("Собран предмет")
HALT // стоп
ELSE
WAITMS(50)
LOGWRITE ("начал с начала")
HALT
END_IF
END_IF
END_CYC
HALT
-
если не возможно написать по другому так и сказали бы
IF_PIXEL_IN ($_return1-96,$_return2-8, $_return1+120,$_return2+19, 4145895) // а вот это строчку как написать
хотя это можно обединить
IF_PIXEL_IN ($X1-96,$Y1-8, $X2+120,$Y2+19, 4145895)
Или нет вариантов кругом придется писать
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Трата_\Sborka_p.bmp", -1, 100)
$X = $_return1-96
$Y = $_return2-8
$X1 = $_return1+120
$Y1 = $_return2+19
WAITMS(50)
IF_PIXEL_IN ($X,$Y, $X1,$Y1, 4145895)