Если мне не создавать ещё 1 цикл то не получится.
Когда находится это изображение:
CODE:
if (findimage(1, #Image_1[0][0], 0, #PosX, #PosY, 0, 0, 800, 599, w)==1)
Это означает что появился бой, после он начинает перебирать все покемонов по имени:
CODE:
sandshrew();
voltorb();
//spearov();
sandslash();
fearow();
raticate();
Если он их находит кроме того что закомментен, это как бы неизвестный покемон то проводит по ним атаку, а когда появляется неизвестный покемон(не находится изображения названия покемона в каждых функциях) то нужно включать цикл в котором он будет нажимать 2 кнопки тем самым бросая покебол в покемона, но покемон не сразу ловится и по этому он может так делать и 20 раз из-за этого надо в цикле проверять наличия изображения что покемон захвачен и только тогда прекращать цикл.
а без доп. цикла естественно он 1 раз так делает и всё
(Добавление)
Можно ли как-то сделать так что если все эти функции сработали и изобр. не найдено:
CODE:
sandshrew();
voltorb();
//spearov();
sandslash();
fearow();
raticate();
Вернули там -1 т.е отследить что все 5 функций сработали и только тогда включать цикл.
А если одна из них найдёт изображение то цикл не будет включаться и по идее всё должно работать. В каждой функции добавил если он срабатывает то увеличивать i++.
CODE:
win w=window ("Pokémon World Online BETA v1.95.3", "ThunderRT6FormDC", -1);
win v=window (-1, "ThunderRT6PictureBoxDC", window ("Pokémon World Online BETA v1.95.3", "ThunderRT6FormDC", -1));
int Image_1[78][26];
int Image_2[39][14];
int Image_3[63][14];
int Image_4[49][14];
int Image_5[56][14];
int Image_6[44][14];
int Image_7[43][14];
int Image_8[43][14];
int Image_9[64][20];
int Image_10[47][10];
loadimage (#Image_10[0][0], "C:\Users\zib\Documents\PWO\Image_successwhite.bmp");
loadimage (#Image_9[0][0], "C:\Users\zib\Documents\PWO\Image_plzwait.bmp");
loadimage (#Image_8[0][0], "C:\Users\zib\Documents\PWO\Image_success.bmp");
loadimage (#Image_7[0][0], "C:\Users\zib\Documents\PWO\Image_fearow.bmp");
loadimage (#Image_6[0][0], "C:\Users\zib\Documents\PWO\Image_raticate.bmp");
loadimage (#Image_5[0][0], "C:\Users\zib\Documents\PWO\Image_sandslash.bmp");
loadimage (#Image_4[0][0], "C:\Users\zib\Documents\PWO\Image_spearov.bmp");
loadimage (#Image_3[0][0], "C:\Users\zib\Documents\PWO\Image_sandshrew.bmp");
loadimage (#Image_2[0][0], "C:\Users\zib\Documents\PWO\Image_voltorb.bmp");
loadimage (#Image_1[0][0], "C:\Users\zib\Documents\PWO\Image_0.bmp");
int PosX_1[512], PosY_1[512];
int PosX_2[512], PosY_2[512];
int PosX_3[512], PosY_3[512];
int PosX_4[512], PosY_4[512];
int PosX_5[512], PosY_5[512];
int PosX_6[512], PosY_6[512];
int PosX_7[512], PosY_7[512];
int PosX_8[512], PosY_8[512];
int PosX_9[512], PosY_9[512];
int PosX_10[512], PosY_10[512];
int a=1;
int b=0;
int i=0;
n:
a=1;
run();
if (findimage(1, #Image_1[0][0], 0, #PosX_1[0], #PosY_1[0], 0, 0, 800, 599, w)==1)
{
i=0;
sandshrew();
voltorb();
//spearov();
sandslash();
fearow();
raticate();
loop:if(i==0)
{
messagebox(i);
if(findimage(1, #Image_8[0][0], 0, #PosX_8[0], #PosY_8[0], 0, 0, 800, 599, w)==1) goto n;
if(findimage(1, #Image_10[0][0], 0, #PosX_10[0], #PosY_10[0], 0, 0, 800, 599, w)==1) goto n;
sleep(rand(1000,2000));
mouse(LEFT, 97, 525, w);//íàæèìàåò BAG
sleep(rand(600,900));
mouse(LEFT, 68, 417, w);//íàæèìàåò pokeball
goto loop;
}
}
//pokeball();
goto n;
function liave()
{
mouse(LEFT, 261, 527, w);
sleep(rand(600,900));
mouse(LEFT, 261, 527, w);
}
function run(){
if(a==1)
{
keydown('a', 1, 1, w);
//sendkey('a',w);
sleep(rand(700,1000));
//sendkey('a',w);
keyup('a', 1, 1, w);
//sleep(rand(400,500));
//sendkey('d',w);
keydown('d', 1, 1, w);
sleep(rand(900,1100));
//sendkey('d',w);
keyup('d', 1, 1, w);
}
}
function ataka();
{
mouse(LEFT, 97, 464, w);
sleep(rand(600,900));
mouse(LEFT, 97, 464, w);
sleep(rand(600,900));
mouse(LEFT, 261, 467, w);
sleep(rand(600,900));
}
function voltorb(){
if(findimage(1, #Image_2[0][0], 0, #PosX_2[0], #PosY_2[0], 0, 0, 800, 600, w)==1)
{
i++;
ataka();
//liave();
}
}
function sandshrew(){
if(findimage(1, #Image_3[0][0], 0, #PosX_3[0], #PosY_3[0], 0, 0, 800, 600, w)==1){
i++;
ataka();
//liave()
}
}
function spearov(){
if(findimage(1, #Image_4[0][0], 0, #PosX_4[0], #PosY_4[0], 0, 0, 800, 600, w)==1)
{
i++;
ataka();
//liave();
}
}
function sandslash(){
if(findimage(1, #Image_5[0][0], 0, #PosX_5[2], #PosY_5[2], 0, 0, 800, 600, w)==1)
{
i++;
ataka();
//liave()
}
}
function raticate(){
if(findimage(1, #Image_6[0][0], 0, #PosX_6[0], #PosY_6[0], 0, 0, 800, 600, w)==1)
{
i++;
ataka();
//liave();
}
}
function fearow()
{
if(findimage(1, #Image_7[0][0], 0, #PosX_7[0], #PosY_7[0], 0, 0, 800, 600, w)==1)
{
i++;
ataka();
//liave();
}
}
Вот такой когд, текстовое сообщение правильно показывает что 0, значит условие срабатывает, он начинает кидать покебол, но когда появляеться изображение одно из них:
CODE:
if(findimage(1, #Image_8[0][0], 0, #PosX_8[0], #PosY_8[0], 0, 0, 800, 599, w)==1) goto n;
if(findimage(1, #Image_10[0][0], 0, #PosX_10[0], #PosY_10[0], 0, 0, 800, 599, w)==1) goto n;
Он гад не уходит из цикла в другой цикл.
(Добавление)
CODE:
if(findimage(1, #Image_8[0][0], 0, #PosX_8[0], #PosY_8[0], 0, 0, 800, 599, w)==1){
messagebox("Изображение найдено");
goto n;
}
Мда добавил месаджбокс, и он не появляется, а цикл продолжает работать, походу картинку не находит .... чет я ступил видимо, сама картинка простая как и все остальные только появляется в разных местах и там видимо часть пикселей отличается, походу придётся как то по другому искать изображение