Если я раньше в теме(для просмотра ссылки Вам необходимо авторизоваться) спрашивал "почему это не получается", то теперь я нашёл закономерность.
Я использую следующий код для инициализации игрового окна:
CODE:win w=selectwindow("Название другого окна");
int deltaY = 0;
if (w.widthclient > 200) {
activate(w);
visualwindow(0, 0, 0, w.widthclient, w.heightclient, 1285, 780, 25, w);
} else {
deltaY = 18;
w = -1;
}
/* дальнейший код */
При первом запуске скрипт работает нормально, команда типа "getcolor(x, y+deltaY, w)" ориентируется по координатам окна и возвращает некий код цвета.
Если после этого побаловаться "шпионом" и узнать информацию некоторых точек с другого окна (размеры второго окна я не меняю), то после этого скрипт перестаёт захватывать другое окно, не показывается миниатюрный обзор, координаты отсчитываются не относительно окна, а относительно экрана, та же команда "getcolor()" возвращает исключительно нули.
Исправляется это перезапуском программы "Кибор" (закрыть и вновь открыть).
Повторяю, код скриптов, как и размер другого окна (второе окно всё время в ширину экрана), я вообще не меняю. |