777J0KeR777 |
Отправлено: 14 Августа, 2015 - 18:02:25
|
Наблюдатель
Покинул форум
Сообщений всего: 42
Дата рег-ции: Июнь 2014
Репутация: 0
|
Почему-то не выполняется 1ое действие "сбор молотков", а последующее "запуск молотков" идёт вполне хорошо. В чём может быть проблема?
CODE:win w;
int Image_0[26][17];
int Image_1[26][24];
int PosX;int PosY;
int zona_x1, zona_y1, zona_x2, zona_y2;
enabletimer(0);
w=window ("Forge of Empires - Mozilla Firefox");
if (w==0){messagebox ("не найденуказатель на браузер"); goto error;}
zona_x1=0; zona_y1=0; zona_x2=w.widthclient; zona_y2=w.heightclient;//установка зоны поиска весь браузер
if (load()==-1){messagebox ("не найдены рис в C:\Program Files (x86)\Kibor"); goto error;}//загрузка рис
pause(2000);
aa://сбор молотков (почему-то не выполняется).
if (findimage(1, #Image_0[0][0], 255, #PosX, #PosY, 0, 0, w.widthclient, w.heightclient, 50, 50, 50, 50, 50, 50, 60, -1, w)==1)
{
mouse(LEFT, PosX+imagewidth(#Image_0[0][0])/2, PosY+imageheight(#Image_0[0][0])/2+50, w);
}
sleep(10);
goto aa;
CREATE_TIMER(0, 1000)
{
bb://запуск молотков (выполняется).
if (findimage(1, #Image_1[0][0], 255, #PosX, #PosY, 0, 0, w.widthclient, w.heightclient, 50, 50, 50, 50, 50, 50, 70, -1, w)==1)
{
mouse(LEFT, PosX+imagewidth(#Image_1[0][0])/2, PosY+imageheight(#Image_1[0][0])/2+50, w);
sleep(500);
mouse(LEFT, 419, 455);
sleep(2000);
}
goto bb;
}
error:;
function load()//загрузка рис
{
loadimage (#Image_0[0][0], "C:\Program Files (x86)\Kibor\molot.bmp")<1) return -1;
loadimage (#Image_1[0][0], "C:\Program Files (x86)\Kibor\sleep.bmp")<1) return -1;
return 1;
} |
|
|
Kibor |
Отправлено: 15 Августа, 2015 - 00:19:53
|
Эксперт
Просматривает форум
Сообщений всего: 8217
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
CREATE_TIMER(0, 1000)
{
bb://запуск молотков (выполняется).
if (findimage(1, #Image_1[0][0], 255, #PosX, #PosY
в таймере использовать другие переменные которых не используют в коде
(Добавление)
Цитата: CREATE_TIMER(0, 1000)
{
bb://запуск молотков (выполняется).
if (findimage(1, #Image_1[0][0], 255, #PosX, #PosY, 0, 0, w.widthclient, w.heightclient, 50, 50, 50, 50, 50, 50, 70, -1, w)==1)
{
mouse(LEFT, PosX+imagewidth(#Image_1[0][0])/2, PosY+imageheight(#Image_1[0][0])/2+50, w);
sleep(500);
mouse(LEFT, 419, 455);
sleep(2000);
}
goto bb;
}
вот если посмотреть на это...
он же не выходит с таймера......
зашел, нашел.. ждет 2 сек...
а сам таймер срабатывает через 1 сек..
вышел и назад в код таймера..
Цитата: CREATE_TIMER(0, 1000)
{
bb://запуск молотков (выполняется).
if (findimage(1, #Image_1[0][0], 255, #PosX, #PosY, 0, 0, w.widthclient, w.heightclient, 50, 50, 50, 50, 50, 50, 70, -1, w)==1)
{
mouse(LEFT, PosX+imagewidth(#Image_1[0][0])/2, PosY+imageheight(#Image_1[0][0])/2+50, w);
sleep(500);
mouse(LEFT, 419, 455);
sleep(2000);
}
goto bb;
}
ну а это вообще..
это таймер .. не отдельный поток
зашел в таймер и в цикл. а как будет срабатывать код вне него..?? |
|
|
777J0KeR777 |
Отправлено: 18 Августа, 2015 - 02:44:19
|
Наблюдатель
Покинул форум
Сообщений всего: 42
Дата рег-ции: Июнь 2014
Репутация: 0
|
CODE:win w;
int Image_0[26][17];
int Image_1[26][24];
int PosX;int PosY;
int zona_x1, zona_y1, zona_x2, zona_y2;
enabletimer(0);
w=window ("Forge of Empires - Mozilla Firefox");
if (w==0){messagebox ("íå íàéäåíóêàçàòåëü íà áðàóçåð"); goto error;}
zona_x1=0; zona_y1=0; zona_x2=w.widthclient; zona_y2=w.heightclient;//óñòàíîâêà çîíû ïîèñêà âåñü áðàóçåð
if (load()==-1){messagebox ("íå íàéäåíû ðèñ â C:\Program Files (x86)\Kibor"); goto error;}//çàãðóçêà ðèñ
pause(2000);
aa:
if (findimage(1, #Image_0[0][0], 255, #PosX, #PosY, 0, 0, w.widthclient, w.heightclient, 50, 50, 50, 50, 50, 50, 70, -1, w)==1)
{
mouse(LEFT, PosX+imagewidth(#Image_0[0][0])/2, PosY+imageheight(#Image_0[0][0])/2+50, w);
}
sleep(10);
goto aa;
bb:
if (findimage(1, #Image_1[0][0], 255, #PosX, #PosY, 0, 0, w.widthclient, w.heightclient, 50, 50, 50, 50, 50, 50, 70, -1, w)==1)
{
mouse(LEFT, PosX+imagewidth(#Image_1[0][0])/2, PosY+imageheight(#Image_1[0][0])/2+50, w);
sleep(500);
mouse(LEFT, 419, 455);
sleep(2000);
}
goto bb;
error:;
function load()
{
loadimage (#Image_0[0][0], "C:\Program Files (x86)\Kibor\molot.bmp")<1) return -1;
loadimage (#Image_1[0][0], "C:\Program Files (x86)\Kibor\sleep.bmp")<1) return -1;
return 1;
}
С таймером разобрался слегка, но фишка в другом. Один фиг код странно работает, точней не работает и не туда тыкает. когда отдельно поиски всё более менее выполняется, но вместе никак. Давно пора было мне додуматься что проблема не столько в функциях, сколько в их связке. Как сделать так, чтобы выполнялось полностью первое действие, искало пока не найдёт всё, а когда уже нет вариантов чтобы переключалось на второе? |
|
|
Kibor |
Отправлено: 18 Августа, 2015 - 03:26:05
|
Эксперт
Просматривает форум
Сообщений всего: 8217
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
Цитата: win w;
int Image_0[26][17];
int Image_1[26][24];
int PosX;int PosY;
int zona_x1, zona_y1, zona_x2, zona_y2;
enabletimer(0);
w=window ("Forge of Empires - Mozilla Firefox");
if (w==0){messagebox ("íå íàéäåíóêàçàòåëü íà áðàóçåð"); goto error;}
zona_x1=0; zona_y1=0; zona_x2=w.widthclient; zona_y2=w.heightclient;//óñòàíîâêà çîíû ïîèñêà âåñü áðàóçåð
if (load()==-1){messagebox ("íå íàéäåíû ðèñ â C:\Program Files (x86)\Kibor"); goto error;}//çàãðóçêà ðèñ
pause(2000);
aa:
if (findimage(1, #Image_0[0][0], 255, #PosX, #PosY, 0, 0, w.widthclient, w.heightclient, 50, 50, 50, 50, 50, 50, 70, -1, w)==1)
{
mouse(LEFT, PosX+imagewidth(#Image_0[0][0])/2, PosY+imageheight(#Image_0[0][0])/2+50, w);
sleep(10);
goto aa;
}
bb:
if (findimage(1, #Image_1[0][0], 255, #PosX, #PosY, 0, 0, w.widthclient, w.heightclient, 50, 50, 50, 50, 50, 50, 70, -1, w)==1)
{
mouse(LEFT, PosX+imagewidth(#Image_1[0][0])/2, PosY+imageheight(#Image_1[0][0])/2+50, w);
sleep(500);
mouse(LEFT, 419, 455);
sleep(2000);
goto bb;
}
error:;
function load()
{
loadimage (#Image_0[0][0], "C:\Program Files (x86)\Kibor\molot.bmp")<1) return -1;
loadimage (#Image_1[0][0], "C:\Program Files (x86)\Kibor\sleep.bmp")<1) return -1;
return 1;
}
зачем делать замкнутые циклы без выхода вообще?? |
|
|
Kibor |
Отправлено: 18 Августа, 2015 - 14:30:55
|
Эксперт
Просматривает форум
Сообщений всего: 8217
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
777J0KeR777 пишет: да блин, это уже я нахимичил. эксперементировал с таймером когда, не в этом суть. как связку правильную сделать как я описал?
что значит экспериментировал..
есть вопрос
777J0KeR777 пишет: код странно работает, точней не работает и не туда тыкает. когда отдельно поиски всё более менее выполняется, но вместе никак
есть код к нему.
по коду видно что на первом же поиске уходит в замкнутый цикл
ответ дал правильно исходя из этих . данных.
а как там и что надо я не знаю. |
|
|
|