Adree |
Отправлено: 06 Октября, 2013 - 15:34:30
|
Прохожий
Покинул форум
Сообщений всего: 19
Дата рег-ции: Окт. 2013
Репутация: 0
|
Я снова с проблемой столкнулся.
CODE:hp_1=findimage(1, #Image_4[0][0], 255, #PosHP_1[0], #PosHP_2[0], 0, 0, xe, ye, -1);
if (hp_1==1)
{
mousedbl(LEFT,PosX_20[0], PosY_200[0]) ;
sleep(rand(1985,2327));
goto n ;
}
Нужно чтобы при выполнении условия hp_1 выполнялось не одно действие а несколько. Пример, hp_1- это низкое количество здоровья, нужно чтобы при этом условии нажималось баночка 1, а если она не активна, нужно чтобы нажалась банка 2 и тд.
CODE:hp_1=findimage(1, #Image_4[0][0], 255, #PosHP_1[0], #PosHP_2[0], 0, 0, xe, ye, -1);
if (hp_1==1)
{
mousedbl(LEFT,PosX_20[0], PosY_200[0] or LEFT,PosX_21[0], PosY_210[0] or LEFT,PosX_23[0], PosY_230[0]) ;
sleep(rand(1985,2327));
goto n ;
} что-то типа того... |
|
|
Kibor |
Отправлено: 06 Октября, 2013 - 15:42:36
|
Эксперт
Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
Что хотите то и делайте. Только с правилами синтаксиса......
CODE:hp_1=findimage(1, #Image_4[0][0], 255, #PosHP_1[0], #PosHP_2[0], 0, 0, xe, ye, -1);
if (hp_1==1)
{
mousedbl(LEFT,PosX_20[0], PosY_200[0]) ;
if (банка не активна)mousedbl(LEFT,PosX_21[0], PosY_210[0]) ;
if (еще что то)mousedbl(LEFT,PosX_23[0], PosY_230[0]) ;
sleep(rand(1985,2327));
goto n ;
}
Логические операции и переходы Логические операции и переходы |
|
|
TheBrave |
Отправлено: 19 Ноября, 2013 - 09:03:30
|
Прохожий
Покинул форум
Сообщений всего: 9
Дата рег-ции: Нояб. 2013
Репутация: 0
|
Всем привет.
Вот вы мне подскажите "Как"
все по порядку .
Есть браузерная игра .
Что мне надо реализовать .
1. Что бы бот находил определенную картинку и по ней кликал , а потом опять искал картинку или пиксель и опять нажимал на том или ином обьекте .
Вот скрипт я писал на сторонней программе
Выложу его что бы было хоть как то понятней
CODE:if 715, 642 11121335 abs
wait 400 + random(250)
double_left 686, 600 abs
end_if
//Проверяем cилу ЛЕВО
if 592, 479 3962857 abs
wait 300 + random(250)
move 598, 540 abs
wait 300 + random(250)
left 994, 320 abs
end_if
//Проверяем cилу С права
if 977, 479 3962857 abs
wait 300 + random(250)
move 1024, 536 abs
wait 300 + random(250)
left 980, 328 abs
end_if
//мЫ ПОБЕДИЛИ
if 827, 289 11989759 abs
wait 400 + random(550)
left 733, 519 abs
wait 900 + random(550)
left 998, 330 abs
end_if
//Нападаем С права
if 1021, 476 11529680 abs
wait 700 + random(250)
left 955, 731 abs
wait 300 + random(250)
end_if
//Нападаем С лева
if 645, 480 4045944 abs
wait 800 + random(250)
left 605, 742 abs
wait 400 + random(250)
end_if
//ПОБЕДА
if 754, 265 54015 abs
wait 500 + random(250)
left 736, 503 abs// yy
end_if
if 845, 726 5175751 abs
wait 300 + random(250)
left 999, 320 abs
end_if
//переход
if 777, 227 6785462 abs
wait 60
move 195, 302 abs
wait 601
left 195, 302 abs
end_if
//ю
if 509, 436 10150649 abs
wait 60
move 731, 565 abs
wait 601
left 731, 565 abs
end_if
//ю
if 395, 502 2361319 abs
wait 60
move 193, 289 abs
wait 601
left 193, 289 abs
end_if
//ю
if 633, 479 14872822 abs
wait 601
left 614, 740 abs
end_if
if 1017, 482 14872822 abs
wait 601
left 795, 738 abs
end_if
//ю
if 619, 740 12900059 abs
wait 601
left 968, 322 abs
end_if
//ю
if 988, 740 12900059 abs
wait 601
left 955, 317 abs
end_if
//территория
if 369, 721 131843 abs
wait 400 + random(250)
double_left 686, 600 abs
end_if
if 539, 385 917193 abs
Wait 300
left 715, 643 abs
Wait 300
end_if
if 550, 304 15911761 abs
wait 300 + random(250)
left 207, 295 abs
end_if
(Добавление)
А вот что я пытаюсь написать на вашей чудесной программе "Kibor"
CODE:window (-1, "Chrome_RenderWidgetHostHWND", window (" бесплатная онлайн игра - Google Chrome", "Chrome_WidgetWin_1", -1))
window (" бесплатная онлайн игра - Google Chrome", "Chrome_WidgetWin_1", 0, -8, 1378, 908, -1)
getdisplay:
getdisplay(15461355, 1378, 908);
senddisplay(2829869, 1378, 814);
senddisplay(32, 1440,900);
activate(win wind); //перед работой с окном
int Image[70][90];
loadimage (#Image[0][0], "C:\kiborr\Image\Image_1.bmp");
//Проверить успешность загрузки можно так:
if (loadimage (#Image[0][0], "C:\kiborr\Image\Image_1.bmp")>0)mousedbl(LEFT, 692, 538);//- одинарный клик левой кнопкой по координатам экрана X 215, Y 175.//messagebox("картинка загружена");
else messagebox("ошибка");
sleep(rand(10001, 2500));
//Или вывести код ошибки:
int r=loadimage (#Image[0][0], "C:\kiborr\Image\Image_1.bmp");
if (r<0)messagebox(r);
//boy levo
if (loadimage (#Image[0][0], "C:\kiborr\Image\zdorovie_2.bmp")>0)mousedbl(LEFT, 353, 672);//- одинарный клик левой кнопкой по координатам экрана X 215, Y 175.//messagebox("картинка загружена");
else messagebox("ошибка");
sleep(rand(1000, 2500));
//Или вывести код ошибки:
int r=loadimage (#Image[0][0], "C:\kiborr\Image\vixod.bmp");
if (r<0)messagebox(r);
if (loadimage (#Image[0][0], "C:\kiborr\Image\vixod.bmp")>0)mousedbl(LEFT, 735, 440);//- одинарный клик левой кнопкой по координатам экрана X 215, Y 175.//messagebox("картинка загружена");
else messagebox("ошибка");
Я явно что то или все делаю неправильно
Надеюсь вы мне поможете , буду надеятся . Если разберусь , что куда буду заливать скрипты суда давольно часто для браузерных игр |
|
|
TheBrave |
Отправлено: 19 Ноября, 2013 - 09:15:43
|
Прохожий
Покинул форум
Сообщений всего: 9
Дата рег-ции: Нояб. 2013
Репутация: 0
|
Kibor пишет: TheBrave пишет: if 715, 642 11121335 abs
Что такое abs?
ps
Скрипт в Кибор полон ошибок...
Я переведу скрипт на Кибор, только не знаю что такое abs...
Привет
'''[abs]''' - флаг использования абсолютных координат |
|
|
Kibor |
Отправлено: 19 Ноября, 2013 - 09:28:22
|
Эксперт
Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
Цитата: if 715, 642 11121335 abs
wait 400 + random(250)
double_left 686, 600 abs
end_if
//Проверяем cилу ЛЕВО
if 592, 479 3962857 abs
wait 300 + random(250)
move 598, 540 abs
wait 300 + random(250)
left 994, 320 abs
end_if
//Проверяем cилу С права
......
Аналог Кибор...
if (getcolor(715, 642)==11121335)
{
sleep(400+rand(0, 250));
mousedbl(LEFT, 686, 600);
}
//Проверяем cилу ЛЕВО
if (getcolor(592, 479)==3962857)
{
sleep(300+rand(0, 250));
mousemove(598, 540);
sleep(300+rand(0, 250));
mouse(LEFT, 994, 320);
}
//Проверяем cилу С права
......
Синтаксис почувствовали?
В коде Кибор ошибки исправлять не буду, так как их очень много.
Ознакомьтесь с этой темой - много станет ясно.
Будут вопросы - обращайтесь. |
|
|
TheBrave |
Отправлено: 19 Ноября, 2013 - 09:39:54
|
Прохожий
Покинул форум
Сообщений всего: 9
Дата рег-ции: Нояб. 2013
Репутация: 0
|
Kibor пишет: Цитата: if 715, 642 11121335 abs
wait 400 + random(250)
double_left 686, 600 abs
end_if
//Проверяем cилу ЛЕВО
if 592, 479 3962857 abs
wait 300 + random(250)
move 598, 540 abs
wait 300 + random(250)
left 994, 320 abs
end_if
//Проверяем cилу С права
......
Аналог Кибор...
if (getcolor(715, 642)==11121335)
{
sleep(400+rand(0, 250));
mousedbl(LEFT, 686, 600);
}
//Проверяем cилу ЛЕВО
if (getcolor(592, 479)==3962857)
{
sleep(300+rand(0, 250));
mousemove(598, 540);
sleep(300+rand(0, 250));
mouse(LEFT, 994, 320);
}
//Проверяем cилу С права
......
Синтаксис почувствовали?
В коде Кибор ошибки исправлять не буду, так как их очень много.
Ознакомьтесь с этой темой - много станет ясно.
Будут вопросы - обращайтесь.
Спасибо Вам человек хороший , при много Вам благодарен . Буду разбираться
(Добавление)
Еще есть вопросик
CODE:if (getcolor(715, 642)==11121335)
{
sleep(400+rand(0, 250));
mousedbl(LEFT, 686, 600);
}
//Проверяем cилу ЛЕВО
if (getcolor(592, 479)==3962857)
{
sleep(300+rand(0, 250));
mousemove(598, 540);
sleep(300+rand(0, 250));
mouse(LEFT, 994, 320);
}
Как это зациклить ?
Как это назначить проигрывать определенное количество раз ?
Как это сделать что бы запускалось в определенное время ? |
|
|
Kibor |
Отправлено: 19 Ноября, 2013 - 11:42:31
|
Эксперт
Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
TheBrave пишет: Еще есть вопросик
if (getcolor(715, 642)==11121335)
{
sleep(400+rand(0, 250));
mousedbl(LEFT, 686, 600);
}
//Проверяем cилу ЛЕВО
if (getcolor(592, 479)==3962857)
{
sleep(300+rand(0, 250));
mousemove(598, 540);
sleep(300+rand(0, 250));
mouse(LEFT, 994, 320);
}
Как это зациклить ?
Как это назначить проигрывать определенное количество раз ?
Как это сделать что бы запускалось в определенное время ?
Логические операции и переходы
Как это зациклить ?
CODE:a: if (getcolor(715, 642)==11121335)
{
sleep(400+rand(0, 250));
mousedbl(LEFT, 686, 600);
}
//Проверяем cилу ЛЕВО
if (getcolor(592, 479)==3962857)
{
sleep(300+rand(0, 250));
mousemove(598, 540);
sleep(300+rand(0, 250));
mouse(LEFT, 994, 320);
}
goto a;
Как это назначить проигрывать определенное количество раз ?
CODE:
int n=0;
a: if (n<5)
{
if (getcolor(715, 642)==11121335)
{
sleep(400+rand(0, 250));
mousedbl(LEFT, 686, 600);
}
//Проверяем cилу ЛЕВО
if (getcolor(592, 479)==3962857)
{
sleep(300+rand(0, 250));
mousemove(598, 540);
sleep(300+rand(0, 250));
mouse(LEFT, 994, 320);
}
n++;
goto a;
}
Как это сделать что бы запускалось в определенное время ?
Типа будильника?
Получение локальной даты и времени на компьютере
CODE:int Year, Month, DayOfWeek, Day, Hour, Minute, Second, Milliseconds;
a: getlocaltime(Year, Month, DayOfWeek, Day, Hour, Minute, Second, Milliseconds);
if (Hour!=10 || Minute!=0 || Second!=0){sleep(50); goto a;}
if (getcolor(715, 642)==11121335)
{
sleep(400+rand(0, 250));
mousedbl(LEFT, 686, 600);
}
//Проверяем cилу ЛЕВО
if (getcolor(592, 479)==3962857)
{
sleep(300+rand(0, 250));
mousemove(598, 540);
sleep(300+rand(0, 250));
mouse(LEFT, 994, 320);
}
(Добавление)
Вот код будильника:
Ввести в Кибор и запустить. Можно собрать в виде Exe и будет будильник..
CODE:int t_Hour=formatsn(getcontrol(EDIT_0));
int t_Minute=formatsn(getcontrol(EDIT_1));
int t_Second=formatsn(getcontrol(EDIT_2));
int Year, Month, DayOfWeek, Day, Hour, Minute, Second, Milliseconds;
a: getlocaltime(Year, Month, DayOfWeek, Day, Hour, Minute, Second, Milliseconds);
if (Hour!=t_Hour || Minute!=t_Minute || Second!=t_Second){sleep(50); goto a;}
int n=0;
b: if (n<20)
{
beep(2000, 500);
sleep(100);
n++;
goto b;
}
goto a;
CREATE_INTERFACE
{
DIALOG "Будильник" 174 130
BUTTONSCRIPT "Запустить будильник" 10 70 150 25
STATIC_0 "Часы" 10 10 50 16
EDIT_0 "0" 105 8 55 18
STATIC_1 "Минуты" 10 30 90 16
EDIT_1 "0" 105 28 55 18
STATIC_2 "Секунды" 10 50 90 16
EDIT_2 "0" 105 48 55 18
} |
|
|
Kibor |
Отправлено: 19 Ноября, 2013 - 15:14:02
|
Эксперт
Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
TheBrave пишет: sleep(1200000+rand(0, 1350));
//20 минут бездейтвия
Если пауза большая надо не sleep а pause писать...
pause
TheBrave пишет: Как бы сделать что бы на экране монитора , с права или с лева в верху был "таймер" отчета , сколько времени сталось до активности программы .
Если нужен таймер то можно реализовать и так:
Текст на экране
Цитата: int tim=gettime();
int n;
a: n=gettime()-tim;
if (n<1200000)
{
textout(0, 10, 10, "Осталось: "+format((1200000-n)/1000)+" секунд", 0);
sleep(1000);
goto a;
}
resettextout(1); |
|
|
|