win w, w1;
w=window ("Charles 3.9.2 - 1111111111", "SunAwtFrame", -1);
if (w==0){messagebox ("проверьте указатель - название окна");goto er;}
ll: sendmouse(RIGHT, 43, 127, w);
pause(1000);
sendmouse(LEFT, 100, 231, w);
pause(1000);
aa: w1=window ("Advanced Repeat", "SunAwtDialog", w);
if (w1==0){sleep(50); goto aa;}
sendmouse(LEFT, 425, 420, w1);
pause(1000);
sendmouse(RIGHT, 97, 100, w);
pause(1000);
sendmouse(LEFT, 158, 115, w);
pause(1000);
goto ll;
er:;
Я так понимаю это бесконечная цикличность , помоги до составить скрипт , мне надо чтобы цикл этот повторился 33 раза , после мышка делает клик по другому пакету по условным к примеру кординатам в том же оке 4, 120 координаты ,
снова выпадаюшем мею reapet
и снова идет цикл 33 раза , потом снова этот пакет
(Добавление)
Посмотрите правильно ли я делаю цикл? из 3 ходов , или есть лишнии строки которые я повторяю зря?
(Добавление)
joxi.ru/qT4bVP3JTJAuXZ_frEY
(Добавление)
Или можно сделать просто так : joxi.ru/F0EbVIwyTJDjAgFwi5s
Но я так понимаю что в шаге 2 и 3 кибер не будет проверять правильность окна так?
21. NiceOne - 18 Сентября, 2014 - 14:40:53 - перейти к сообщению
22. Kibor - 19 Сентября, 2014 - 00:28:14 - перейти к сообщению
Цитата:
win w, w1;
int y[2];
y[0]=43;
y[1]=55;
int n=0;
w=window ("Charles 3.9.2 - 1111111111", "SunAwtFrame", -1);
a:;
for (int b=0; b<10; b++)
{
sendmouse(RIGHT, y[n], 127, w);
pause(1000);
sendmouse(LEFT, 100, 231, w);
pause(1000);
aa: w1=window ("Advanced Repeat", "SunAwtDialog", w);
if (w1==0){sleep(50); goto aa;}
sendmouse(LEFT, 425, 420, w1);
pause(1000);
sendmouse(RIGHT, 97, 100, w);
pause(1000);
sendmouse(LEFT, 158, 115, w);
pause(1000);
}
if (n==0)n=1;
else n=0;
goto a;
int y[2];
y[0]=43;
y[1]=55;
int n=0;
w=window ("Charles 3.9.2 - 1111111111", "SunAwtFrame", -1);
a:;
for (int b=0; b<10; b++)
{
sendmouse(RIGHT, y[n], 127, w);
pause(1000);
sendmouse(LEFT, 100, 231, w);
pause(1000);
aa: w1=window ("Advanced Repeat", "SunAwtDialog", w);
if (w1==0){sleep(50); goto aa;}
sendmouse(LEFT, 425, 420, w1);
pause(1000);
sendmouse(RIGHT, 97, 100, w);
pause(1000);
sendmouse(LEFT, 158, 115, w);
pause(1000);
}
if (n==0)n=1;
else n=0;
goto a;
координаты подставить
23. Kibor - 19 Сентября, 2014 - 06:30:45 - перейти к сообщению
С проверкой и надежный.
так как меню не вызывается если нажать кнопку мышки идет проверка на меню. нажимается пока не появится. то есть скрипт будет вызывать меню пока не вызовет.
рис в скайп отправлю.
там rep.bmp рис пункта в меню 1
cl.bmp в втором.
так как меню не вызывается если нажать кнопку мышки идет проверка на меню. нажимается пока не появится. то есть скрипт будет вызывать меню пока не вызовет.
рис в скайп отправлю.
там rep.bmp рис пункта в меню 1
cl.bmp в втором.
Цитата:
win w, w1;
int rep[104][13];loadimage (#rep[0][0], "C:\rep.bmp");
int cl[34][13];loadimage (#cl[0][0], "C:\cl.bmp");
int PosX, PosY;
w=window ("Charles 3.9.2 - 1111111111", "SunAwtFrame", -1);
if (w==0){messagebox ("проверьте указатель - название окна");goto er;}
ll: sendmouse(RIGHT, 43, 127, w);
sleep(10);
if (findimage(1, #rep[0][0], 0, #PosX, #PosY, 0, 0, w.width , w.height, w)==0)goto ll;
pause(1000);
sendmouse(LEFT, 100, 231, w);
pause(1000);
aa: w1=window ("Advanced Repeat", "SunAwtDialog", w);
if (w1==0){sleep(50); goto aa;}
sendmouse(LEFT, 425, 420, w1);
pause(1000);
uu: sendmouse(RIGHT, 97, 100, w);
sleep(10);
if (findimage(1, #cl[0][0], 0, #PosX, #PosY, 0, 0, w.width , w.height, w)==0)goto uu;
pause(1000);
sendmouse(LEFT, 158, 115, w);
pause(1000);
goto ll;
er:;
int rep[104][13];loadimage (#rep[0][0], "C:\rep.bmp");
int cl[34][13];loadimage (#cl[0][0], "C:\cl.bmp");
int PosX, PosY;
w=window ("Charles 3.9.2 - 1111111111", "SunAwtFrame", -1);
if (w==0){messagebox ("проверьте указатель - название окна");goto er;}
ll: sendmouse(RIGHT, 43, 127, w);
sleep(10);
if (findimage(1, #rep[0][0], 0, #PosX, #PosY, 0, 0, w.width , w.height, w)==0)goto ll;
pause(1000);
sendmouse(LEFT, 100, 231, w);
pause(1000);
aa: w1=window ("Advanced Repeat", "SunAwtDialog", w);
if (w1==0){sleep(50); goto aa;}
sendmouse(LEFT, 425, 420, w1);
pause(1000);
uu: sendmouse(RIGHT, 97, 100, w);
sleep(10);
if (findimage(1, #cl[0][0], 0, #PosX, #PosY, 0, 0, w.width , w.height, w)==0)goto uu;
pause(1000);
sendmouse(LEFT, 158, 115, w);
pause(1000);
goto ll;
er:;
24. NiceOne - 19 Сентября, 2014 - 09:15:51 - перейти к сообщению
win w, w1;
w1=window ("Advanced Repeat", "SunAwtDialog", w);
int tim;
int rep[104][13];
if (loadimage (#rep[0][0], "C:\rep.bmp")<1)messagebox ("1");
int Repeat[36][11];
if (loadimage (#Repeat[0][0], "C:\Repeat.bmp")<1)messagebox ("2");
int col, x, y;
getdisplay(col, x, y);
int ook[143][11];
if (loadimage (#ook[0][0], "C:\ook.bmp")<1)messagebox ("5");
int PosX, PosY;
w=window ("Charles 3.9.2 - Session 1", "SunAwtFrame", -1);
j:;
for (int b=0; b<33; b++)
{
ll: sendmouse(RIGHT, 127, 181, w);
sleep(10);
if (findimage(1, #rep[0][0], 0, #PosX, #PosY, 0, 0, w.width , w.height, w)==0)goto ll;
tim=gettime();
aa: sendmouse(LEFT, 198, 284, w);
if (gettime()-tim>3000)goto ll;
if (findimage(1, #ook[0][0], 0, #PosX, #PosY, 0, 0, x , y, -1)==0)goto aa;
w1=window ("Advanced Repeat", "SunAwtDialog", w);
pause(300);
cc:sendmouse(LEFT, 278, 449, w1);
pause(4000);
if (findimage(1, #ook[0][0], 0, #PosX, #PosY, 0, 0, x , y, -1)==1)goto cc;
}
uu: sendmouse(RIGHT, 113, 232, w);
sleep(10);
if (findimage(1, #Repeat[0][0], 0, #PosX, #PosY, 0, 0, w.width , w.height, w)==0)goto uu;
sleep(10);
sendmouse(LEFT, 171, 308, w);
pause(1000);
goto j;
Вот так все заработало.
w1=window ("Advanced Repeat", "SunAwtDialog", w);
int tim;
int rep[104][13];
if (loadimage (#rep[0][0], "C:\rep.bmp")<1)messagebox ("1");
int Repeat[36][11];
if (loadimage (#Repeat[0][0], "C:\Repeat.bmp")<1)messagebox ("2");
int col, x, y;
getdisplay(col, x, y);
int ook[143][11];
if (loadimage (#ook[0][0], "C:\ook.bmp")<1)messagebox ("5");
int PosX, PosY;
w=window ("Charles 3.9.2 - Session 1", "SunAwtFrame", -1);
j:;
for (int b=0; b<33; b++)
{
ll: sendmouse(RIGHT, 127, 181, w);
sleep(10);
if (findimage(1, #rep[0][0], 0, #PosX, #PosY, 0, 0, w.width , w.height, w)==0)goto ll;
tim=gettime();
aa: sendmouse(LEFT, 198, 284, w);
if (gettime()-tim>3000)goto ll;
if (findimage(1, #ook[0][0], 0, #PosX, #PosY, 0, 0, x , y, -1)==0)goto aa;
w1=window ("Advanced Repeat", "SunAwtDialog", w);
pause(300);
cc:sendmouse(LEFT, 278, 449, w1);
pause(4000);
if (findimage(1, #ook[0][0], 0, #PosX, #PosY, 0, 0, x , y, -1)==1)goto cc;
}
uu: sendmouse(RIGHT, 113, 232, w);
sleep(10);
if (findimage(1, #Repeat[0][0], 0, #PosX, #PosY, 0, 0, w.width , w.height, w)==0)goto uu;
sleep(10);
sendmouse(LEFT, 171, 308, w);
pause(1000);
goto j;
Вот так все заработало.
25. Kibor - 19 Сентября, 2014 - 09:22:40 - перейти к сообщению
теперь стоят проверки. все надежно.
26. NiceOne - 19 Сентября, 2014 - 12:56:06 - перейти к сообщению
win w;
int tim;
int LoadCard[117][15];
if (loadimage (#LoadCard[0][0], "C:\LoadCard.bmp")<1)messagebox ("1");
int SellCard[110][17];
if (loadimage (#SellCard[0][0], "C:\SellCard.bmp")<1)messagebox ("2");
//int PosX_3[512];int PosY_3[512];
//int PosX_4[512];int PosY_4[512];
//int col, x, y;
//getdisplay(col, x, y);
int PosX, PosY;
w=window ("HeroesOfCamelot™", "HwndWrapper[HeroesOfCamelot.exe;;5655d19f-5129-48f4-81f2-38e58878fa48]", -1);
ll: sendmouse(LEFT, 687, 533, w);
sleep(10);
//if (findimage(1, #LoadCard[0][0], 0, #PosX, #PosY, 0, 0, w.width , w.height, w)==0)goto ll;
//if (findimage(-1, #LoadCard[0][0], 0, #PosX_3[0], #PosY_3[0], 0, 0, 804, 528, -1)==0)goto ll;
if (findimage(-1, #LoadCard[0][0], 0, #PosX, #PosY, 0, 0, w.width , w.height, w)==0)goto ll;
tim=gettime();
//if (gettime()-tim>3000)goto ll;
aa: sendmouse(LEFT, 684, 612, w);
//if (findimage(1, #SellCard[0][0], 0, #PosX, #PosY, 0, 0, w.width , w.height, w)==0)goto aa;
//if (findimage(-1, #SellCard[0][0], 0, #PosX_4[0], #PosY_4[0], 0, 0, 804, 528, -1)==0)goto aa;
if (findimage(-1, #SellCard[0][0], 0, #PosX, #PosY, 0, 0, w.width , w.height, w)==0)goto aa;
tim=gettime();
//if (gettime()-tim>3000)goto aa;
goto ll;
Что не так? , ошибок не выдает , а в программе не каких движений.
int tim;
int LoadCard[117][15];
if (loadimage (#LoadCard[0][0], "C:\LoadCard.bmp")<1)messagebox ("1");
int SellCard[110][17];
if (loadimage (#SellCard[0][0], "C:\SellCard.bmp")<1)messagebox ("2");
//int PosX_3[512];int PosY_3[512];
//int PosX_4[512];int PosY_4[512];
//int col, x, y;
//getdisplay(col, x, y);
int PosX, PosY;
w=window ("HeroesOfCamelot™", "HwndWrapper[HeroesOfCamelot.exe;;5655d19f-5129-48f4-81f2-38e58878fa48]", -1);
ll: sendmouse(LEFT, 687, 533, w);
sleep(10);
//if (findimage(1, #LoadCard[0][0], 0, #PosX, #PosY, 0, 0, w.width , w.height, w)==0)goto ll;
//if (findimage(-1, #LoadCard[0][0], 0, #PosX_3[0], #PosY_3[0], 0, 0, 804, 528, -1)==0)goto ll;
if (findimage(-1, #LoadCard[0][0], 0, #PosX, #PosY, 0, 0, w.width , w.height, w)==0)goto ll;
tim=gettime();
//if (gettime()-tim>3000)goto ll;
aa: sendmouse(LEFT, 684, 612, w);
//if (findimage(1, #SellCard[0][0], 0, #PosX, #PosY, 0, 0, w.width , w.height, w)==0)goto aa;
//if (findimage(-1, #SellCard[0][0], 0, #PosX_4[0], #PosY_4[0], 0, 0, 804, 528, -1)==0)goto aa;
if (findimage(-1, #SellCard[0][0], 0, #PosX, #PosY, 0, 0, w.width , w.height, w)==0)goto aa;
tim=gettime();
//if (gettime()-tim>3000)goto aa;
goto ll;
Что не так? , ошибок не выдает , а в программе не каких движений.
27. Kibor - 19 Сентября, 2014 - 13:03:34 - перейти к сообщению
для начала надо проверить или в эту игру идут сообщения мыши вообще. автоком. потом или в фоне идут. может игра не воспринимает