Насчет возможности просто где-то циферки написать - и чтоб всё само перенастроилось, не знаю, есть ли возможность.
А так можно везде использовать относительные координаты (не "100,200" а " $xstart+100, $ystart+200"). Т.е. допустим, привязываете к какой-то точке (или через поиск картинки - что надежнее, т.к. каждый раз одинаково кликнуть вы не сможете) и переделываете все координаты как точку отсчета +/- какое-то значение.
У меня для удобства вот такая подпрограмма, чтобы вручную не высчитывать координаты квадратов. Надо просто следовать инструкции в логах и после копировать результаты вместо координат х1,у1,х2,у2.
SUB(координаты,$name,$num)
WAITMS(300)
$xxxxx=GETVAR (STRCONCAT("$x",$name)) // если картинка не была найдена, будет сообщение об интерпретации строки - игнорируем
$yyyyy=GETVAR (STRCONCAT("$y",$name)) //если картинка не была найдена, будет сообщение об интерпретации строки - игнорируем
Print ($name," отчет от ", $xxxxx,"-",$yyyyy)
Print ("SHIFT для подтверждения, клик для смены")
WHILE(iskeydown(#SHIFT )=0)
If(iskeydown(1)=1)
while(iskeydown(1)=1)
waitms(10)
End_cyc
$xxxxx=$_return1
$yyyyy=$_return2
Print ($xxxxx,"-",$yyyyy)
End_If
END_CYC
Print ("отчет от ", $xxxxx,$yyyyy)
WAITMS(200)
FOR($a=0,$a<$num) // повторяем N раз
WAITMS(100)
Print ("1 кликните и нажмите ALT")
WHILE(iskeydown(#ALT )=0)
IF(iskeydown(1)=1)
while(iskeydown(1)=1)
waitms(10)
End_cyc
$xxx1=$_xmouse
$yyy1=$_ymouse
Print ("1 ",$xxx1,$yyy1 )
END_IF
END_CYC
Print ("2 кликните и нажмите ALT")
WAITMS(300)
WHILE(iskeydown(#ALT )=0)
IF(iskeydown(1)=1)
while(iskeydown(1)=1)
waitms(10)
End_cyc
$xxx2=$_xmouse
$yyy2=$_ymouse
Print ("2 ",$xxx2,$yyy2 )
END_IF
END_CYC
WAITMS(100)
Print("записываю относительные координаты квадрата ", $a+1)
$xx1= $xxx1-$xxxxx
$yy1= $yyy1-$yyyyy
$xx2= $xxx2-$xxxxx
$yy2= $yyy2-$yyyyy
If ($xx1>0)
$xx1= STRCONCAT("+",$xx1)
END_IF
If ($yy1>0)
$yy1= STRCONCAT("+",$yy1)
END_IF
If ($xx2>0)
$xx2= STRCONCAT("+",$xx2)
END_IF
If ($yy2>0)
$yy2= STRCONCAT("+",$yy2)
END_IF
$stroka=strconcat("$x", $name, $xx1, ",$y",$name,$yy1, ",$x", $name, $xx2, ",$y",$name,$yy2)
print($stroka)
WAITMS(100)
// print("save")
// SCREENSHOTEX($xxx1,$yyy1, $xxx2,$yyy2, $stroka, 0)
END_CYC
END_SUB
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "start.bmp", -1, 90) // название картинки, по которой будет осуществляться привязка
print("start+")
$xstart=$_return1 // собственно названия точки отсчета
$ystart=$_return2 //собственно названия точки отсчета
Else
Print("-")
End_if
////////// вызов подпрограммы ////////////////////////////////////////
координаты("start",1) /// запуск подпрограммы - отсчет от найденной картинки, если нашли и подтвердили кнопкой SHIFT. Если не найдено или же решили от другого места - сперва клик, потом SHIFT. В кавычках наименование начальной координаты (картинки) от которой ищем относительные координаты, цифра - количество квадратов, координаты которых надо заменить на относительные.
halt