Недавно пришлось связаться с такой же ситуацией. Поскольку лично моему боту не нужна графика, а только данные из таблиц, то я включил карту на ф10 и подвинул ее в сторону. Таким образом видно только окна и черный экран. Поэтому вот такая функция получилась. Плюс её в том, что не зависит от того какой скил стоит в этом месте. Запускать в таймере.
Жаль, что в киборе нет инструмента для определения координаты пикселя во вкладке графика. Приходится сохранять картинку с первым пикселем и нужным, потом смотреть на размер.
CODE:
int x_armor =640, y_armor =600-26; //пиксели над кнопкой
int x_repair=640+52, y_repair=600-26; //в выключенном состоянии
int x_boost =640+52+52, y_boost =600-26;//должны быть равны 0
int check_sk_get=gettime();
function check_skills_t() //проверка пикселя над скилом, должен быть черным если выключен
{
int xmt,ymt;
if(gettime()-check_sk_get>10000)
{
if(getcolor(x_armor,y_armor,w)==0) {getmouse(xmt,ymt,w); mouse(LEFT, x_armor, y_armor+26,1,w); goto r1;}
if(getcolor(x_repair,y_repair,w)==0) {getmouse(xmt,ymt,w); mouse(LEFT, x_repair, y_repair+26,1,w); goto r1;}
if(getcolor(x_boost,y_boost,w)==0) {getmouse(xmt,ymt,w); mouse(LEFT, x_boost, y_boost+26,1,w); goto r1;}
check_sk_get=gettime();
}
return;
r1:;
check_sk_get=gettime();
sleep(500); mousemove(xmt,ymt,w); sleep(200);//вернуть мышь где была
}
|