21. Kibor - 06 Августа, 2018 - 09:09:23 - перейти к сообщению
Помню какой то эмулятор не поддавался программному перемещению. Какой не помню.
22. vikkuzz - 06 Августа, 2018 - 09:24:33 - перейти к сообщению
да,все,понял. добавил клик мышкой перед установкой параметров окна - заработало.
(Добавление)
теперь вопрос такой.... если я писал бота с применением поиска по цвету в определенных координатах при одном положении окна клиента,то если я сейчас изменю расположение окна ,все координаты придется переписывать? или это можно задать программно. смещение координат на определенное расстояние.
(Добавление)
теперь вопрос такой.... если я писал бота с применением поиска по цвету в определенных координатах при одном положении окна клиента,то если я сейчас изменю расположение окна ,все координаты придется переписывать? или это можно задать программно. смещение координат на определенное расстояние.
23. Kibor - 06 Августа, 2018 - 09:48:57 - перейти к сообщению
Если работа на экране, то надо запомнить координаты окна при которых писался бот и после каждого запуска устанавливать скриптом окно в те координаты.
окно лучше располагать в левом верхнем углу.
окно лучше располагать в левом верхнем углу.
24. vikkuzz - 06 Августа, 2018 - 10:00:17 - перейти к сообщению
Kibor пишет:
Если работа на экране, то надо запомнить координаты окна при которых писался бот и после каждого запуска устанавливать скриптом окно в те координаты.
окно лучше располагать в левом верхнем углу.
окно лучше располагать в левом верхнем углу.
вот,я так и делал. проблема в том,что я писал бота на старой версии блюстакса. и когда я через moveclient двигал в х=0 у=0, то рамки блюстакса выходили за край экрана и таким образом экранные и клиентские координаты совпадали. потом я скачал нокс. и обнаружил,что когда его сдвигает в угол, рамки не выходят за край,и получается сдвиг в координатах. потом скачал новый блюстакс, и у него так же. только верхняя шапка у него еще шире и сдвиг еще больше. эти рамки не уходят за край экрана, потому что это видимо запрещено в этих версиях нокса и блюстакса,т.к. просто мышкой их тоже нельзя туда сдвинуть. потому, я думаю, что нужно просто сдвинуть настройки первоначальной установки окна клиента,чтобы все рамки влазили, и тогда бот будет работать на этих эмуляторах. но тогда мне надо переписать координаты. другого пути не вижу.
25. Kibor - 06 Августа, 2018 - 10:14:57 - перейти к сообщению
Если пишется через виз редактор, то надо править руками.
Если пишется кодом, то все координаты я привязываю к левому верхнему углу окна.
То есть при запуске определяется положение окна и координаты идут так примерно
mouse(LEFT, XWin+200, YWin+100);
Поэтому в виз редакторе надо изначально устанавливать положение окна скриптом, что б постоянно в одном был месте.
Если пишется кодом, то все координаты я привязываю к левому верхнему углу окна.
То есть при запуске определяется положение окна и координаты идут так примерно
mouse(LEFT, XWin+200, YWin+100);
Поэтому в виз редакторе надо изначально устанавливать положение окна скриптом, что б постоянно в одном был месте.
26. vikkuzz - 06 Августа, 2018 - 10:24:49 - перейти к сообщению
к сожаленью, кодить я еще не умею.. ладно,значит придется заморочиться. первый блин комом.
27. vikkuzz - 09 Августа, 2018 - 02:28:50 - перейти к сообщению
я так понимаю,когда в виз.редакторе используешь блоки, а потом генерируешь код, то он генерируется по шаблонам этих блоков. мне интересно можно ли сделать так,чтоб при выполнении одного условия, шаблон findheapcolor
был стандартным,а при не выполнении условия, использовался аналогичный шаблон,но со сдвигом в координатах поиска на заданную величину? это бы позволило не переписывать все координаты,а использовать сдвиг в шаблоне. интересует изменение xs, ys, xf, yf. если я в шаблоне напишу xs+50,например,это же будет неправильно?как это можно сделать? где-то задать xs=xs+50?
CODE:
function findheapcolor_(int onx, int ony, int oox, int ooy, int t, int p1, int p2, int m, int xm, int ym, int mov_m, int mov_x, int mov_y, int p3, int wait, int cycle, int r, int k, int xs, int ys, int xf, int yf, int all_col, int min_col, int#sum, int#x, int#y, int#color, int#sum_color)
{
int timKIB, sumKIB, xKIB, yKIB, tx, ty, tcycle=0;
sty: pause(p1);
sumKIB=0;
if (t!=0) timKIB=gettime();
a: if (r!=0){sum=findheapcolor(k, #color[0], #sum_color[0], all_col, min_col, #x[0], #y[0], onx, ony, oox, ooy, xs, ys, xf, yf, r, r, r, r, r, r, -1); if (sum>0) goto e;};
else {sum=findheapcolor(k, #color[0], #sum_color[0], all_col, min_col, #x[0], #y[0], onx, ony, oox, ooy, xs, ys, xf, yf, -1); if (sum>0) goto e;};
if (t==0) return 0;
if (gettime()-timKIB<t){sleep(20); goto a;}
return 0;
{
int timKIB, sumKIB, xKIB, yKIB, tx, ty, tcycle=0;
sty: pause(p1);
sumKIB=0;
if (t!=0) timKIB=gettime();
a: if (r!=0){sum=findheapcolor(k, #color[0], #sum_color[0], all_col, min_col, #x[0], #y[0], onx, ony, oox, ooy, xs, ys, xf, yf, r, r, r, r, r, r, -1); if (sum>0) goto e;};
else {sum=findheapcolor(k, #color[0], #sum_color[0], all_col, min_col, #x[0], #y[0], onx, ony, oox, ooy, xs, ys, xf, yf, -1); if (sum>0) goto e;};
if (t==0) return 0;
if (gettime()-timKIB<t){sleep(20); goto a;}
return 0;
был стандартным,а при не выполнении условия, использовался аналогичный шаблон,но со сдвигом в координатах поиска на заданную величину? это бы позволило не переписывать все координаты,а использовать сдвиг в шаблоне. интересует изменение xs, ys, xf, yf. если я в шаблоне напишу xs+50,например,это же будет неправильно?как это можно сделать? где-то задать xs=xs+50?
28. Zireael - 09 Августа, 2018 - 02:39:52 - перейти к сообщению
Цитата:
где-то задать xs=xs+50?
В блоке кода.
29. vikkuzz - 09 Августа, 2018 - 02:43:57 - перейти к сообщению
вот так?
CODE:
function findheapcolor_(int onx, int ony, int oox, int ooy, int t, int p1, int p2, int m, int xm, int ym, int mov_m, int mov_x, int mov_y, int p3, int wait, int cycle, int r, int k, int xs, int ys, int xf, int yf, int all_col, int min_col, int#sum, int#x, int#y, int#color, int#sum_color)
{
ys=ys+30;
yf=yf+30;
и т.д.
}
{
ys=ys+30;
yf=yf+30;
и т.д.
}
30. Zireael - 09 Августа, 2018 - 03:18:05 - перейти к сообщению
В блоке старт добавляете переменные xs=100, ys=100, xf=500, yf=500, т. е. с начальными координатами поиска.
В блоке findheapcolor, зона поиска, указываете эти переменные.
От блока findheapcolor переход при правда (т. е. дальнейшие действия) и при неправда к блоку кода, в котором ys=ys+30; и остальные переменные. Переход обратно к блоку findheapcolor.
В блоке findheapcolor, зона поиска, указываете эти переменные.
От блока findheapcolor переход при правда (т. е. дальнейшие действия) и при неправда к блоку кода, в котором ys=ys+30; и остальные переменные. Переход обратно к блоку findheapcolor.