Версия кликера какая? Почему начальные значения не задаются в самом FOR?
версия 4.12
начальные значения
осознал исправляюсь
По первому вопросу.
Если всё написано так как в посте, то должно работать. Такой результат как есть вижу только в двух случаях.
1. Если в скрипте по невнимательности строка IF_PICTURE_IN была повреждена (лишний параметр, не хватает или лишняя скобка), то условие IF не будет выполнятся совсем и тело условия будет работать всегда.
Как раз получим все последние значения.
в пост копировал все с файлов полностью код файла созданного что бы проверить работоспособность этой конструкции и привязку тут не делал, она есть только в основном файле но он пока не тревожит
Ну проверь логами что находит, а что нет
GETSCREEN (12,151,530,225)//выбираем область для анализа экрана
FOR($a=0, $a < 5) //цикл на номер врага с лева на право от 1 до 5
$p[$a]=0
FOR($b=1, $b < 6)
IF_PICTURE_IN (12+$a*103, 151, 12+($a+1)*103, 225, STRCONCAT("variant\",$b, ".bmp"), 16777215, 100) // "
print("нашли ", $b, " в позиции ", $a)
$p[$a]=$b
ELSE
print("НЕ нашли ", $b, " в позиции ", $a)
END_IF
END_CYC
print("враг №"$a," получает ", $p[$a]," мечей" )
END_CYC
halt
логи
[spoiler]
16:20:15 нашли 1 в позиции 0
16:20:15 нашли 2 в позиции 0
16:20:16 нашли 3 в позиции 0
16:20:16 нашли 4 в позиции 0
16:20:16 нашли 5 в позиции 0
16:20:16 враг №0 получает 5 мечей
16:20:17 нашли 1 в позиции 1
16:20:17 нашли 2 в позиции 1
16:20:18 нашли 3 в позиции 1
16:20:18 нашли 4 в позиции 1
16:20:18 нашли 5 в позиции 1
16:20:18 враг №1 получает 5 мечей
16:20:19 нашли 1 в позиции 2
16:20:19 нашли 2 в позиции 2
16:20:19 нашли 3 в позиции 2
16:20:20 нашли 4 в позиции 2
16:20:20 нашли 5 в позиции 2
16:20:20 враг №2 получает 5 мечей
16:20:21 нашли 1 в позиции 3
16:20:21 нашли 2 в позиции 3
16:20:21 нашли 3 в позиции 3
16:20:22 нашли 4 в позиции 3
16:20:22 нашли 5 в позиции 3
16:20:22 враг №3 получает 5 мечей
16:20:22 нашли 1 в позиции 4
16:20:22 нашли 2 в позиции 4
16:20:22 нашли 3 в позиции 4
16:20:22 нашли 4 в позиции 4
16:20:22 нашли 5 в позиции 4
16:20:22 враг №4 получает 5 мечей
[/spoiler]
GETSCREEN (12,151,530,225)//выбираем область для анализа экрана
FOR($a=0, $a < 5) //цикл на номер врага с лева на право от 1 до 5
$p[$a]=0
FOR($b=1, $b < 6)
IF_PICTURE_IN (12+$a*103, 151, 12+($a+1)*103, 225, STRCONCAT("variant\",$b, ".bmp"), -1, 100) // "
print("нашли ", $b, " в позиции ", $a)
$p[$a]=$b
ELSE
print("НЕ нашли ", $b, " в позиции ", $a)
END_IF
END_CYC
print("враг №"$a," получает ", $p[$a]," мечей" )
END_CYC
halt
логи
[spoiler]16:21:39 НЕ нашли 1 в позиции 0
16:21:39 НЕ нашли 2 в позиции 0
16:21:39 нашли 3 в позиции 0
16:21:39 НЕ нашли 4 в позиции 0
16:21:39 НЕ нашли 5 в позиции 0
16:21:39 враг №0 получает 3 мечей
16:21:39 НЕ нашли 1 в позиции 1
16:21:39 нашли 2 в позиции 1
16:21:39 НЕ нашли 3 в позиции 1
16:21:39 НЕ нашли 4 в позиции 1
16:21:40 НЕ нашли 5 в позиции 1
16:21:40 враг №1 получает 2 мечей
16:21:40 НЕ нашли 1 в позиции 2
16:21:40 НЕ нашли 2 в позиции 2
16:21:40 НЕ нашли 3 в позиции 2
16:21:40 НЕ нашли 4 в позиции 2
16:21:40 нашли 5 в позиции 2
16:21:40 враг №2 получает 5 мечей
16:21:40 НЕ нашли 1 в позиции 3
16:21:40 нашли 2 в позиции 3
16:21:40 НЕ нашли 3 в позиции 3
16:21:40 НЕ нашли 4 в позиции 3
16:21:40 НЕ нашли 5 в позиции 3
16:21:40 враг №3 получает 2 мечей
16:21:41 НЕ нашли 1 в позиции 4
16:21:41 НЕ нашли 2 в позиции 4
16:21:41 НЕ нашли 3 в позиции 4
16:21:41 НЕ нашли 4 в позиции 4
16:21:41 НЕ нашли 5 в позиции 4
16:21:41 враг №4 получает 0 мечей
[/spoiler]
коды скопированы полностью без редактирования, логи разумеется тоже. похоже проблема связана какраз с изображениями, но в чем именно понять не могу. после смены черного на синий цвет оба кода выдают одинаково верные логи
[spoiler]16:27:14 НЕ нашли 1 в позиции 0
16:27:15 НЕ нашли 2 в позиции 0
16:27:15 нашли 3 в позиции 0
16:27:15 НЕ нашли 4 в позиции 0
16:27:15 НЕ нашли 5 в позиции 0
16:27:15 враг №0 получает 3 мечей
16:27:16 НЕ нашли 1 в позиции 1
16:27:16 нашли 2 в позиции 1
16:27:16 НЕ нашли 3 в позиции 1
16:27:16 НЕ нашли 4 в позиции 1
16:27:17 НЕ нашли 5 в позиции 1
16:27:17 враг №1 получает 2 мечей
16:27:17 НЕ нашли 1 в позиции 2
16:27:17 НЕ нашли 2 в позиции 2
16:27:18 НЕ нашли 3 в позиции 2
16:27:18 НЕ нашли 4 в позиции 2
16:27:18 нашли 5 в позиции 2
16:27:18 враг №2 получает 5 мечей
16:27:18 НЕ нашли 1 в позиции 3
16:27:18 нашли 2 в позиции 3
16:27:19 НЕ нашли 3 в позиции 3
16:27:19 НЕ нашли 4 в позиции 3
16:27:19 НЕ нашли 5 в позиции 3
16:27:19 враг №3 получает 2 мечей
16:27:20 НЕ нашли 1 в позиции 4
16:27:20 НЕ нашли 2 в позиции 4
16:27:21 НЕ нашли 3 в позиции 4
16:27:21 НЕ нашли 4 в позиции 4
16:27:21 НЕ нашли 5 в позиции 4
16:27:21 враг №4 получает 0 мечей
[/spoiler]
...Зависит от того как рендерится.
Даже на одном типе OC может быть включен разный режим сглаживания экранных шрифтов, что влияет, например на текст в Win и FLASH.
такого кода может хватить для браузерной игрушки в неполноэкранном режиме при условии что диоганали разрешение и даже отношение сторон мониторов разное или я тут утопией занимаюсь и надо искать другой монитор?
#name "gneci"
#include "loka.cms" //подгружаю файл подпрограммы, файл ф той же папке что и скрипт имя -loka для определения целевой локации
//тут я переменные всовываю
$HWnd = 0 // Дескриптор окна(указатель на окно)
DEFINE($xn , 0) // размер окна по горизонтали
DEFINE($yn , 0) //размер окна по вертикали
DEFINE($xmax , 1250) // размер окна по горизонтали
DEFINE($ymax , 920) //размер окна по вертикали
$HWnd = WNDFIND ("RPG TCG Жнецы душ") // ищем игру жнецы душь открытую в браузере вкладка должна быть активной
wait(1) // Ждем 1 сек.
//тут подготовка к запуску
if ($HWnd > 0) // Проверяем нашлось ли окно
WNDSTATE($HWnd, 1) // разворачиваем окно
WndPos ($HWnd,$xn,$yn) // Двигаем окно
WaitMS(500)
WndSize ($HWnd, $xmax, $ymax) // Меняем его размер
WAITMS(300)
MOVE($xmax-30,$yn+300)//ставлю курсор на пустое место
WAITMS(300)
WHEELUP(10) // колесиком прокручиваю полосу прокрутки вверх
WAITMS(300)
WHEELDOWN (1)// чуть прокручиваем вниз 3 строки текста)
WaitMS(500)
print("нашел окно") // в логах пишет если нашел нужное окно
loka() // запускаю подпрограмму loka переменные в нее не передаются
print("локация врага(осн)",$lokx,"; ",$loky)
ELSE
print("фигня с окном") // не нашел окно
WaitMS(500)
end_if
halt
Про 3 вопрос совсем не понятно. Что не работает? В "той" теме обсуждается не один вопрос и код не один. К тому же она очень... нет, ОЧЕНЬ старая и под старые версии.
http://crapware.aidf.org/forum/index.php?topic=33.msg708#msg708 вот точная ссылка на пост.
именно не понимаю команды "GOSUB(UPDATE_DATE)" у меня с такой командой не работает код и даже полностью скопированый код приводимый в посте как пример у меня дает сомнительный результат(вернее отсутствие такового)
но судя по другим темам
http://crapware.aidf.org/forum/index.php?topic=2886.msg18843#msg18843это и правда проблема версий программы