Всё гораздо проще. "Вот сюда" можно вписать переменную (не массив) как тебе и сказали. Просто вписываешь ты её неправильно.
$pic = "13s.bmp" // задаём переменную
IF_PICTURE_IN ($x-16,$y,$x,$y+10, $pic)
...
Переменная и не должна стоять в кавычках. Значение переменной это всё имя файла - строковая переменная уже в кавычках.
Про флаги. Это переменные принимающие значения в зависимости от определённых условий/событий. Например, нашёл - присвоил переменной 1, не нашёл - 0.
В нашем случае лучше присвоить переменной сразу нужное значение.
Вот ты ищешь первую картинку
$pic1 = ""
if_picture_in(..... , "0.bmp")
$pic1 = "0.bmp"
...
end_if
if_picture_in(..... , "1.bmp")
$pic1 = "1.bmp"
...
end_if
...
if_picture_in(..... , "20.bmp")
$pic1 = "20.bmp"
...
end_if
Так же и вторая. Ну ты понял. Эти переменные $pic1, $pic2 используешь при поиске во второй части кода.
...
Можно сделать всё компактнее и проще. Т.к. имена номерные можно перебирать их в цикле.
$pic1 = ""
$pic2 = ""
GETSCREEN
$i = 0
FOR($i,$i<20)
if_picture_in(..... , STRCONCAT($i, ".bmp")) // ищем 1
$pic1 = STRCONCAT($i, ".bmp") // запоминаем имя найденной
$i = 100 // досрочно выходим из цикла для ускорения
end_if
END_CYC
// ищем вторую часть марлезонского балета
$i = 0
FOR($i,$i<20)
if_picture_in(..... , STRCONCAT($i, "s.bmp")) // ищем 2
$pic2 = STRCONCAT($i, "s.bmp")
$i = 100
end_if
END_CYC
// финальный поиск-сравнение
if (($pic1 ! "") & ($pic2 ! "")) // это чтобы небыло ошибки если не нашли 1 или 2
scanpicture($var, 314,253,940,280, $pic2)
while (arrsize($var) > 0)
$y = arrpop($var)
$x = arrpop($var)
IF_PICTURE_IN ($x-16,$y,$x,$y+10, $pic1)
//...
END_IF
end_cyc
end_if
Вот и всё.
Если всё это не на одном экране, добавляем GETSCREEN по вкусу.
И не нужны (ну совершенно!) никакие GOTO, тем более по переменной-метке.
Лучше всё таки подналечь и добавить break/continue для выпрыгивания/продолжения циклов
и return для выпрыгивания из подпрограмм.
Выпрыгиватели желательно многоуровневые типа: ExitLoop (2) выскочить из двух уровней вложенных циклов...