Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (6): « 1 2 3 4 [5] 6 »   

> Описание: Объяснение скриптов и помощь в их написании.
Adree
Отправлено: 06 Октября, 2013 - 15:34:30
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 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 ;
}
что-то типа того...
 
 Top
Kibor
Отправлено: 06 Октября, 2013 - 15:42:36
Post Id



Администратор
Эксперт


Просматривает форум
Сообщений всего: 8095
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




Что хотите то и делайте. Только с правилами синтаксиса......
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 ;
}




Логические операции и переходы Логические операции и переходы
 
 Top
TheBrave
Отправлено: 19 Ноября, 2013 - 09:03:30
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 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("ошибка");




Я явно что то или все делаю неправильно
Надеюсь вы мне поможете , буду надеятся . Если разберусь , что куда буду заливать скрипты суда давольно часто для браузерных игр
 
 Top
Kibor
Отправлено: 19 Ноября, 2013 - 09:09:31
Post Id



Администратор
Эксперт


Просматривает форум
Сообщений всего: 8095
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




 TheBrave пишет:
if 715, 642 11121335 abs

Что такое abs?

ps
Скрипт в Кибор полон ошибок...
Я переведу скрипт на Кибор, только не знаю что такое abs...
 
 Top
TheBrave
Отправлено: 19 Ноября, 2013 - 09:15:43
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 9
Дата рег-ции: Нояб. 2013  
Репутация: 0




 Kibor пишет:
 TheBrave пишет:
if 715, 642 11121335 abs

Что такое abs?

ps
Скрипт в Кибор полон ошибок...
Я переведу скрипт на Кибор, только не знаю что такое abs...


Привет

'''[abs]''' - флаг использования абсолютных координат
 
 Top
Kibor
Отправлено: 19 Ноября, 2013 - 09:28:22
Post Id



Администратор
Эксперт


Просматривает форум
Сообщений всего: 8095
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




 Цитата:
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илу С права
......



Синтаксис почувствовали?
В коде Кибор ошибки исправлять не буду, так как их очень много.
Ознакомьтесь с этой темой - много станет ясно.
Будут вопросы - обращайтесь.
 
 Top
TheBrave
Отправлено: 19 Ноября, 2013 - 09:39:54
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 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);
}

Как это зациклить ?
Как это назначить проигрывать определенное количество раз ?
Как это сделать что бы запускалось в определенное время ?
 
 Top
Kibor
Отправлено: 19 Ноября, 2013 - 11:42:31
Post Id



Администратор
Эксперт


Просматривает форум
Сообщений всего: 8095
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




 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
}
 
 Top
TheBrave
Отправлено: 19 Ноября, 2013 - 14:52:54
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 9
Дата рег-ции: Нояб. 2013  
Репутация: 0




Спасибо ,вот это оперативненько .
Возникли еще вопросы . Надеюсь я вас не сильно утомляю Радость
Вопрос номером 1.
CODE:
sleep(1200000+rand(0, 1350));
//20 минут бездейтвия

Скажем есть большой промежуток времени ,для заданного действия .
Как бы сделать что бы на экране монитора , с права или с лева в верху был "таймер" отчета , сколько времени сталось до активности программы .
Или скажем , что бы было небольшое окошко с логами .
Ну что бы понять работает сама программа или уже давненько зависла .
Такое возможно сделать ?
а как ,это делается ??? Растерялся Закатив глазки
 
 Top
Kibor
Отправлено: 19 Ноября, 2013 - 15:14:02
Post Id



Администратор
Эксперт


Просматривает форум
Сообщений всего: 8095
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




 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);
 
 Top
Страниц (6): « 1 2 3 4 [5] 6 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Готовые скрипты »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by