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

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

 Страниц (2): [1] 2 »   

> Без описания
strannik83
Отправлено: 04 Декабря, 2016 - 15:33:09
Post Id



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


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




Можно ли создать управляемый бот, с программой управления им (выбор вида ресурса для сбора, выбор вида войск для создания и т.д.).Чтоб действия бота можно было переключить из меню, не меняя что-то в самом боте.Может у кого есть какие идеи для управления ботом?
 
 Top
Kibor
Отправлено: 04 Декабря, 2016 - 15:37:05
Post Id



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


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




Полный список функций Кибор с ссылками и описанием
Интерфейс Кибор и графическая оболочка и управление контроллами создаваемого EXE
Немодальные диалоговые окна для интерактивного управления скриптом
 
 Top
strannik83
Отправлено: 05 Декабря, 2016 - 09:10:50
Post Id



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


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




Есть ли видео по созданию графической оболочки?
(Добавление)
 strannik83 пишет:
Есть ли видео по созданию графической оболочки?

Или визуальный редактор диалогов. Как привязать действия к созданным кнопкам ?
 
 Top
AdryV
Отправлено: 05 Декабря, 2016 - 10:05:56
Post Id



Пользователь
Специалист


Покинул форум
Сообщений всего: 449
Дата рег-ции: Май 2016  
Репутация: 11




 strannik83 пишет:
Есть ли видео по созданию графической оболочки?

нет
 strannik83 пишет:
Или визуальный редактор диалогов.

есть
 strannik83 пишет:
Как привязать действия к созданным кнопкам ?

смотрите в готовых скриптах, или Немодальные диалоговые окна для интерактивного управления скриптом
 
 Top
strannik83
Отправлено: 05 Декабря, 2016 - 15:44:51
Post Id



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


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




win w_KIB;
int ex_KIB, ey_KIB, sum_KIB, x_KIB, y_KIB;
int Image_0_KIB[69][65];
int Image_1_KIB[44][51];

start_();




function start_()
{
load_image_();
pause(1000);
int x, y;
getmouse(x, y);
w_KIB=getwindow(1, x, y);
ex_KIB=w_KIB.widthclient; ey_KIB=w_KIB.heightclient;
}


function findimage_(int #Image, int t, int p1, int p2, int m, int xm, int ym, int p3, int fon, int r, int p, int k, int xs, int ys, int xf, int yf, int#sum, int#x, int#y)
{
int timKIB, sumKIB, xKIB, yKIB;
pause(p1);
sumKIB=0;
if (t!=1) timKIB=gettime();
a: if (r==0 && p==100){sum=findimage(k, #Image[0][0], fon, #x[0], #y[0], xs, ys, xf, yf, w_KIB); if (sum>0) goto e;}
else {sum=findimage(k, #Image[0][0], fon, #x[0], #y[0], xs, ys, xf, yf, r, r, r, r, r, r, p, 1, w_KIB); if (sum>0) goto e;}
if (t==0) return 0;
if (gettime()-timKIB<t){sleep(20); goto a;}
return 0;
e: sumKIB=sum; xKIB=x[0]; yKIB=y[0];
pause(p2);
if (m==1){sendmouse(LEFT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==2){sendmouse(MIDDLE, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==3){sendmouse(RIGHT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==4){sendmousedown(LEFT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==5){sendmousedown(MIDDLE, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==6){sendmousedown(RIGHT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==7){sendmouseup(LEFT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==8){sendmouseup(MIDDLE, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==9){sendmouseup(RIGHT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==10){sendmousemove(xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
return sumKIB;
}




function load_image_()
{
loadimage (#Image_0_KIB[0][0], "C:\Program Files (x86)\Kibor3\дерево\28.bmp");
loadimage (#Image_1_KIB[0][0], "C:\Program Files (x86)\Kibor3\Image_на дерево.bmp");
}


function на сбор еды ()
{
m_KIB1: findimage_(#Image_0_KIB[0][0], 0, 0, 0, 0, 0, 0, 0, -1, 0, 100, 1, 0, 0, ex_KIB, ey_KIB, #sum_KIB, #x_KIB, #y_KIB);
exit_KIB:;
}


function на сбор дерева ()
{
m_KIB1: findimage_(#Image_1_KIB[0][0], 0, 2000, 330, 1, 2, 3, 33, -1, 25, 100, 1, 0, 0, ex_KIB, ey_KIB, #sum_KIB, #x_KIB, #y_KIB);
exit_KIB:;
}

int pos_size_check0[2][4];
string text_check0[2];
int flag_check0[2];

pos_size_check0[0][0]=35; pos_size_check0[0][1]=18; pos_size_check0[0][2]=60; pos_size_check0[0][3]=20;
pos_size_check0[1][0]=148; pos_size_check0[1][1]=18; pos_size_check0[1][2]=60; pos_size_check0[1][3]=20;
text_check0[0]="дерево"; text_check0[1]="еда";
flag_check0[0]=0; flag_check0[1]=0;

//////////

createdialog(0, CHECK, #pos_size_check0[0][0], #text_check0[0], #flag_check0[0]);
//////////

showdialog(0, "Диалог", 835, 390, 250, 300, 1, 1);
//////////

loop() sleep(10);//Убрать после теста
(Добавление)
есть две функции на сбор дерева и на сбор еды . в визуальном редакторе диалогов две галки дерево и еда. как сделать чтоб по выборе галки выполнялась именно та функция ?
(Добавление)
как привязать галку к функции ?
 
 Top
Kibor
Отправлено: 05 Декабря, 2016 - 16:09:30
Post Id



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


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




Привязать так
CODE:
if (flag_check0[0]==1)на_сбор_еды ();
if (flag_check0[1]==1)на_сбор_дерева ();

И делается это в блоке кода.
 
 Top
strannik83
Отправлено: 05 Декабря, 2016 - 16:32:06
Post Id



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


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




в блоке кода диалога ?
 
 Top
Kibor
Отправлено: 05 Декабря, 2016 - 16:48:33
Post Id



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


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




Для начала немодальные окна не нужны тут. И они сложноваты.

реализовывать так

Создать отдельный блок кода в стороне
 Цитата:
CREATE_INTERFACE
{
DIALOG "Название окна" 237 180 //РазмерX РазмерY
BUTTONSCRIPT "Запустить" 125 121 100 25 //ПозицияX ПозицияY РазмерX РазмерY
//Добавление контролов управления ......
COMBO_0 0 /*Начальный выбор*/ "Выбор строки 1" | "Выбор строки 2" | "Выбор строки 3" 10 40 212 200 //ПозицияX ПозицияY РазмерX РазмерY_выпадающий список
}


После блока старт создать блок кода в котором прописать
 Цитата:
if (getcontrol(COMBO_0)=="Выбор строки 1")goto a;
if (getcontrol(COMBO_0)=="Выбор строки 2")goto b;
if (getcontrol(COMBO_0)=="Выбор строки 3")goto c;


Потом создать 3 блока кода. Они не связаны с блоком старт никак
В первом прописать
 Цитата:
a:;

во втором
 Цитата:
b:;

в третьем
 Цитата:
c:;


Теперь от этих трех блоков кода вести ветви к нужным реализациям бота. В зависимости от выбора меню будет работать та ветвь.
 
 Top
AdryV
Отправлено: 05 Декабря, 2016 - 17:12:08
Post Id



Пользователь
Специалист


Покинул форум
Сообщений всего: 449
Дата рег-ции: Май 2016  
Репутация: 11




1 и 2
в этих скриптах я использую Немодальные диалоговые окна, если проанализировать то они очень просты... но у меня все параметры окна хранятся в текстовом файле... думаю немного затруднит анализ)
 
 Top
strannik83
Отправлено: 05 Декабря, 2016 - 17:19:44
Post Id



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


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




win w_KIB;
int ex_KIB, ey_KIB, sum_KIB, x_KIB, y_KIB;
int Image_0_KIB[29][23];
int Image_1_KIB[32][25];
int Image_2_KIB[71][22];

start_();
goto m_KIB2;
m_KIB6: findimage_(#Image_0_KIB[0][0], 0, 0, 22, 1, 2, 2, 22, -1, 14, 100, 1, 0, 0, ex_KIB, ey_KIB, #sum_KIB, #x_KIB, #y_KIB); goto exit_KIB;
m_KIB1: CREATE_INTERFACE
{
DIALOG "Название окна" 237 180 //РазмерX РазмерY
BUTTONSCRIPT "Запустить" 125 121 100 25 //ПозицияX ПозицияY РазмерX РазмерY
//Добавление контролов управления ......
COMBO_0 0 /*Начальный выбор*/ "Выбор строки 1" | "Выбор строки 2" | "Выбор строки 3" 10 40 212 200 //ПозицияX ПозицияY РазмерX РазмерY_выпадающий список goto exit_KIB;
m_KIB3: a:;
findimage_(#Image_1_KIB[0][0], 0, 1000, 12, 1, 2, 2, 12, -1, 15, 100, 1, 0, 0, ex_KIB, ey_KIB, #sum_KIB, #x_KIB, #y_KIB); goto exit_KIB;
m_KIB5: c:;
findimage_(#Image_2_KIB[0][0], 0, 1000, 3, 1, 3, 3, 3, -1, 15, 100, 1, 0, 0, ex_KIB, ey_KIB, #sum_KIB, #x_KIB, #y_KIB); goto exit_KIB;
m_KIB4: b:; goto m_KIB6;
m_KIB2: if (getcontrol(COMBO_0)=="Выбор строки 1")goto a;
if (getcontrol(COMBO_0)=="Выбор строки 2")goto b;
if (getcontrol(COMBO_0)=="Выбор строки 3")goto c;
exit_KIB:;


function start_()
{
load_image_();
pause(1000);
int x, y;
getmouse(x, y);
w_KIB=getwindow(1, x, y);
ex_KIB=w_KIB.widthclient; ey_KIB=w_KIB.heightclient;
}


function findimage_(int #Image, int t, int p1, int p2, int m, int xm, int ym, int p3, int fon, int r, int p, int k, int xs, int ys, int xf, int yf, int#sum, int#x, int#y)
{
int timKIB, sumKIB, xKIB, yKIB;
pause(p1);
sumKIB=0;
if (t!=1) timKIB=gettime();
a: if (r==0 && p==100){sum=findimage(k, #Image[0][0], fon, #x[0], #y[0], xs, ys, xf, yf, w_KIB); if (sum>0) goto e;}
else {sum=findimage(k, #Image[0][0], fon, #x[0], #y[0], xs, ys, xf, yf, r, r, r, r, r, r, p, 1, w_KIB); if (sum>0) goto e;}
if (t==0) return 0;
if (gettime()-timKIB<t){sleep(20); goto a;}
return 0;
e: sumKIB=sum; xKIB=x[0]; yKIB=y[0];
pause(p2);
if (m==1){sendmouse(LEFT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==2){sendmouse(MIDDLE, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==3){sendmouse(RIGHT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==4){sendmousedown(LEFT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==5){sendmousedown(MIDDLE, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==6){sendmousedown(RIGHT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==7){sendmouseup(LEFT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==8){sendmouseup(MIDDLE, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==9){sendmouseup(RIGHT, xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
if (m==10){sendmousemove(xs+xKIB+xm, ys+yKIB+ym, w_KIB); pause(p3);}
return sumKIB;
}




function load_image_()
{
loadimage (#Image_0_KIB[0][0], "C:\Program Files (x86)\Kibor3\калькулятор\кнопка2.bmp");
loadimage (#Image_1_KIB[0][0], "C:\Program Files (x86)\Kibor3\калькулятор\кнопка 1.bmp");
loadimage (#Image_2_KIB[0][0], "C:\Program Files (x86)\Kibor3\2.bmp");
}


на примере калькулятора ,три варианта нажимания кнопки . при старте выдает ошибку CREATE_INTERFACE
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы и решение проблем »


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




Powered by