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

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

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

> Без описания
Kibor
Отправлено: 19 Января, 2019 - 14:27:55
Post Id



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


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




Правильно.
А если нет галки закрывается последний открытый и все.
 
 Top
Budni
Отправлено: 19 Января, 2019 - 14:28:59
Post Id



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


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




 Kibor пишет:
Честно говоря вообще не понятна задача.
 Budni пишет:
одновременно запускать несколько ботов

Где запускать?
Что бы они одновременно работали в разных окнах, или выполняли разные задачи одновременно в одном?

Код визуального редактора не предназначен для ручной корректировки. Можно, но для этого надо знать что делаете. А в этом случае лучше писать кодом.

Скрипты работают на одном указатели задачи разные.
1ый. Скрипт авто лечение
2ой. Скрипт отвечает за запуск игры в случае дисконекта (тут выход за пределы игрового окна, скрипт работает с экраном)
3ий. Скрипт отвечает за передвижение по карте
4ый. Скрипт отвечает за поиск и убийства моба
5ый. Скрипт отвечает за продажу лута
6ой. За то чтобы сообщения в чат писать.
7ой и так далее.

собственно хотелось бы интерфес сделать, через который можно их запускать сразу или по очереди. Вариант от Zireael меня устраивает но вот пока не получается так сделать.
(Добавление)
 Kibor пишет:
Правильно.
А если нет галки закрывается последний открытый и все.

а как сделать чтобы блокнот (в дальнейшем скрипт) не открывался повторно при стоящей галочки? И закрывался когда она убирается?
 
 Top
Kibor
Отправлено: 19 Января, 2019 - 14:33:12
Post Id



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


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




Но не одновременно же?
Это проверять можно по ходу выполнения бота в цикле. Если надо сделать какое то действие - выполняем эти функции.
Или в таймере.
К примеру во время работы основного бота в таймере проверяется значок чата.
Если есть - отвечать.
 
 Top
Budni
Отправлено: 19 Января, 2019 - 14:38:02
Post Id



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


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




 Kibor пишет:
Но не одновременно же?
Это проверять можно по ходу выполнения бота в цикле. Если надо сделать какое то действие - выполняем эти функции.
Или в таймере.
К примеру во время работы основного бота в таймере проверяется значок чата.
Если есть - отвечать.

С таймерами пробывал, но что то не пошло, например при дисконете мне нужно из указателя перейти в экранные координаты.

Так же в таймере не получилось одновременно искать моба и применять лечение. Когда запущено 2 скрипта в эксе проблем таких нет

(Отредактировано автором: 19 Января, 2019 - 14:40:44)

 
 Top
Kibor
Отправлено: 19 Января, 2019 - 14:47:38
Post Id



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


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




Я это делаю в таймерах и все хорошо.
Конечно в виз редакторе сложно. Там можно привязаться в самом редакторе только к окну одному.
Ну если ответить на вопрос как синхронизировать несколько EXE собранных в кибор работающих одновременно, то
Обмен данными между программами и скриптами. Управление другой программой
То есть при выполнение работы одной программой запрещать другим работать.
Проверку буфера можно в таймере сделать.
Если в буфере есть знак запрета, то делать в таймере замкнутый цикл, пока программа которая записала в буфер запрет не запишет разрешение.
 
 Top
Budni
Отправлено: 19 Января, 2019 - 15:00:20
Post Id



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


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




 Kibor пишет:

То есть при выполнение работы одной программой запрещать другим работать..

Вот хотелось бы чтобы была возможность одновременной работы.
В этом примере
CODE:
start ("C:\notepad.exe" ); // открыть блокнот
sleep(2000); // ждать 2 секунды
win w=window (-1, "Notepad", -1); // получить указатель
sendmessage(WM_CLOSE, 0, 0, w); // закрыть блокнот

Можно сделать так чтобы блокнот не открывался заново когда стоит галочка в диалоговом окне?
 
 Top
Kibor
Отправлено: 19 Января, 2019 - 15:08:22
Post Id



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


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




 Budni пишет:
Можно сделать так чтобы блокнот не открывался заново когда стоит галочка в диалоговом окне?


CODE:
int pos_size_check0[3][4];
string text_check0[3];
int flag_check0[3];

dialog(); // диалог
createdialog(0, CHECK, #pos_size_check0[0][0], #text_check0[0], #flag_check0[0]);
showdialog(0, "Диалог", 500, 300, 160, 160, 1, 1);

loop()
{
func1(); // вызов функции
func2(); // вызов функции
func3(); // вызов функции
sleep(200);
}

function func1()
{
if(flag_check0[0]) // если стоит галка0
{
textbkcolor(255, 65280);
textout(0, 200, 300, "func1 выполняется", 1);
if (window (-1, "Notepad", -1)==0)
{
start ("C:\notepad.exe" ); // открыть блокнот
sleep(2000); // ждать 2 секунды
win w=window (-1, "Notepad", -1); // получить указатель
}
}
else
{
sendmessage(WM_CLOSE, 0, 0, w); // закрыть блокнот
textbkcolor(255, 16777215);
textout(0, 200, 300, "func1 не выполняется", 1);
}
}

function func2()
{
if(flag_check0[1]) // если стоит галка1
{
textbkcolor(255, 65280);
textout(1, 200, 320, "func2 выполняется", 1);
}
else
{
textbkcolor(255, 16777215);
textout(1, 200, 320, "func2 не выполняется", 1);
}
}

function func3()
{
if(flag_check0[2]) // если стоит галка2
{
textbkcolor(255, 65280);
textout(2, 200, 340, "func3 выполняется", 1);
}
else
{
textbkcolor(255, 16777215);
textout(2, 200, 340, "func3 не выполняется", 1);
}
}

function dialog()
{
pos_size_check0[0][0]=17; pos_size_check0[0][1]=20; pos_size_check0[0][2]=60; pos_size_check0[0][3]=20;
pos_size_check0[1][0]=19; pos_size_check0[1][1]=50; pos_size_check0[1][2]=60; pos_size_check0[1][3]=20;
pos_size_check0[2][0]=18; pos_size_check0[2][1]=81; pos_size_check0[2][2]=60; pos_size_check0[2][3]=20;
text_check0[0]="Галка 0"; text_check0[1]="Галка 1"; text_check0[2]="Галка 2";
flag_check0[0]=1; flag_check0[1]=0; flag_check0[2]=1;
}
 
 Top
Budni
Отправлено: 19 Января, 2019 - 15:12:53
Post Id



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


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




Отлично, то что надо) Костыль конечно и я так понимаю на сервер не загрузить такое. Но главное работает, спасибо!
 
 Top
Budni
Отправлено: 19 Января, 2019 - 20:44:35
Post Id



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


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




Kibor , можете сказать в чем тут ошибка? Почему пишет что "Повторение метки q7" хотя она не повторяется?

CODE:
int color_KIB_8[6], sum_color_KIB_8[6];
color_KIB_8[0]=16432562; color_KIB_8[1]=9459791; color_KIB_8[2]=12678005; color_KIB_8[3]=16432562; color_KIB_8[4]=12485763; color_KIB_8[5]=10052185;
sum_color_KIB_8[0]=1; sum_color_KIB_8[1]=1; sum_color_KIB_8[2]=1; sum_color_KIB_8[3]=1; sum_color_KIB_8[4]=1; sum_color_KIB_8[5]=1;
int color_KIB_7[2], sum_color_KIB_7[2];
color_KIB_7[0]=7816247; color_KIB_7[1]=8472634;
sum_color_KIB_7[0]=1; sum_color_KIB_7[1]=1;
int color_KIB_6[1], sum_color_KIB_6[1];
color_KIB_6[0]=16776960;
sum_color_KIB_6[0]=2;
int color_KIB_5[2], sum_color_KIB_5[2];
color_KIB_5[0]=7816247; color_KIB_5[1]=8472634;
sum_color_KIB_5[0]=1; sum_color_KIB_5[1]=1;
win w_KIB;
int ex_KIB, ey_KIB, sum_KIB, x_KIB, y_KIB;
int sx_KIB, sy_KIB;

start_();


goto m_KIB2;
m_KIB14: findheapcolor_(10, 5, 11, 12, 3000, 0, 0, 0, 0, 0, -1, 0, 0, 500, -1, -1, 0, 1, 94, 227, 733, 506, 6, 3, #sum_KIB, #x_KIB, #y_KIB, #color_KIB_8[0], #sum_color_KIB_8[0]); goto exit_KIB;
m_KIB3: messagebox("Yes");
goto exit_KIB;
m_KIB4: g3:
right();
goto exit_KIB;
m_KIB5: g1:
bot();
goto exit_KIB;
m_KIB6: g2:
top();
goto exit_KIB;
m_KIB7: messagebox("no");
goto exit_KIB;
m_KIB8: g6:
luse();
goto exit_KIB;
m_KIB9: g4:
left();
goto exit_KIB;
m_KIB10: g5:
next();
goto exit_KIB;
m_KIB11: g8:
lool();
goto exit_KIB;
m_KIB12: g7:
non();
goto exit_KIB;
m_KIB13: g7:
low();
goto exit_KIB;
m_KIB2: vib:
string vibor;
loadsymbolbase("C:\Users\budni\Desktop\Bot`s\kibor_set\basetext.sib");

readtext(EN, #vibor, 8, 1, -1, -1, -1, -1, -1, 0, -1, 18, 29, 86, 42, -1);

if (vibor=="bot"){goto g1;}
if (vibor=="top"){goto g2;}
if (vibor=="right"){goto g3;}
if (vibor=="left"){goto g4;}
if (vibor=="next"){goto g5;}
if (vibor=="luse"){goto g6;}
if (vibor=="low"){goto g7;}
if (vibor=="non"){goto g8;}
if (vibor=="lool"){goto g9;}

exit_KIB:;


function start_()
{
pause(1000);
w_KIB=window ( -1);
ex_KIB=w_KIB.widthclient; ey_KIB=w_KIB.heightclient;
sx_KIB=w_KIB.leftclient; sy_KIB=w_KIB.topclient;
}


function mouse_(int p1, int m, int xm, int ym, int p2)
{
xm=xm+sx_KIB; ym=ym+sy_KIB;
pause(p1);
if (m==1) mouse(LEFT, xm, ym);
if (m==2) mouse(MIDDLE, xm, ym);
if (m==3) mouse(RIGHT, xm, ym);
if (m==4) mousedown(LEFT, xm, ym);
if (m==5) mousedown(MIDDLE, xm, ym);
if (m==6) mousedown(RIGHT, xm, ym);
if (m==7) mouseup(LEFT, xm, ym);
if (m==8) mouseup(MIDDLE, xm, ym);
if (m==9) mouseup(RIGHT, xm, ym);
if (m==10) mousedbl(LEFT, xm, ym);
if (m==11) mousedbl(MIDDLE, xm, ym);
if (m==12) mousedbl(RIGHT, xm, ym);
if (m==13) mousemove(xm, ym);
pause(p2);
}


function findheapcolor_(int onx, int ony, int oox, int ooy, int t, int p1, int p2, int m, int xm, int ym, int mov_m, int mov_x, int mov_y, int p3, int wait, int cycle, int r, int k, int xs, int ys, int xf, int yf, int all_col, int min_col, int#sum, int#x, int#y, int#color, int#sum_color)
{
xs=xs+sx_KIB; ys=ys+sy_KIB; xf=xf+sx_KIB; yf=yf+sy_KIB;
int timKIB, sumKIB, xKIB, yKIB, tx, ty, tcycle=0;
sty: pause(p1);
sumKIB=0;
if (t!=0) timKIB=gettime();
a: if (r!=0){sum=findheapcolor(k, #color[0], #sum_color[0], all_col, min_col, #x[0], #y[0], onx, ony, oox, ooy, xs, ys, xf, yf, r, r, r, r, r, r, -1); if (sum>0) goto e;};
else {sum=findheapcolor(k, #color[0], #sum_color[0], all_col, min_col, #x[0], #y[0], onx, ony, oox, ooy, xs, ys, xf, yf, -1); 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){mouse(LEFT, xs+xKIB+xm, ys+yKIB+ym); goto hy;}
if (m==2){mouse(MIDDLE, xs+xKIB+xm, ys+yKIB+ym); goto hy;}
if (m==3){mouse(RIGHT, xs+xKIB+xm, ys+yKIB+ym); goto hy;}
if (m==4){mousedown(LEFT, xs+xKIB+xm, ys+yKIB+ym); goto hy;}
if (m==5){mousedown(MIDDLE, xs+xKIB+xm, ys+yKIB+ym); goto hy;}
if (m==6){mousedown(RIGHT, xs+xKIB+xm, ys+yKIB+ym); goto hy;}
if (m==7){mouseup(LEFT, xs+xKIB+xm, ys+yKIB+ym); goto hy;}
if (m==8){mouseup(MIDDLE, xs+xKIB+xm, ys+yKIB+ym); goto hy;}
if (m==9){mouseup(RIGHT, xs+xKIB+xm, ys+yKIB+ym); goto hy;}
if (m==10){mousedbl(LEFT, xs+xKIB+xm, ys+yKIB+ym); goto hy;}
if (m==11){mousedbl(MIDDLE, xs+xKIB+xm, ys+yKIB+ym); goto hy;}
if (m==12){mousedbl(RIGHT, xs+xKIB+xm, ys+yKIB+ym); goto hy;}
if (m==13)mousemove(xs+xKIB+xm, ys+yKIB+ym);
hy: if (mov_m==1)mousemove(mov_x, mov_y);
if (m>0 && m<14)pause(p3);
if (wait!=-1)
{
for (int ttim=gettime(); gettime()-ttim<wait; sleep(20))
{
if (r!=0){if (findheapcolor(1, #color[0], #sum_color[0], all_col, min_col, #tx, #ty, onx, ony, oox, ooy, xs, ys, xf, yf, r, r, r, r, r, r, -1)==0)return sumKIB;}
else {if (findheapcolor(1, #color[0], #sum_color[0], all_col, min_col, #tx, #ty, onx, ony, oox, ooy, xs, ys, xf, yf, -1)==0)return sumKIB;}
}
if (tcycle<cycle){tcycle++; goto sty;}
return 0;
}
return sumKIB;
}


function top()
{


}


function bot()
{


}


function left()
{


}


function right()
{


}


function next()
{


}


function luse()
{


}


function low()
{


}


function non()
{


}


function lool()
{


}


function 4()
{



}


function bot2()
{
goto exit_KIB;
m_KIB1:

sleep(500);

goto m_KIB2;
m_KIB4: findheapcolor_(9, 6, 25, 22, 3000, 0, 0, 1, 10, 10, 1, 300, 300, 0, 7000, 1, 10, 1, 9, 205, 799, 515, 2, 2, #sum_KIB, #x_KIB, #y_KIB, #color_KIB_7[0], #sum_color_KIB_7[0]); goto exit_KIB;
m_KIB3: findheapcolor_(1, 7, 103, 12, 3000, 0, 0, 0, 0, 0, -1, 0, 0, 500, -1, -1, 0, 1, 20, 582, 218, 595, 1, 1, #sum_KIB, #x_KIB, #y_KIB, #color_KIB_6[0], #sum_color_KIB_6[0]); goto exit_KIB;
m_KIB2: findheapcolor_(9, 6, 25, 22, 3000, 0, 0, 1, 10, 10, -1, 0, 0, 0, -1, -1, 10, 1, 9, 205, 799, 515, 2, 2, #sum_KIB, #x_KIB, #y_KIB, #color_KIB_5[0], #sum_color_KIB_5[0]);
exit_KIB:;
}


function logout()
{



mouse_(0, 1, 413, 408, 0);
}

(Отредактировано автором: 19 Января, 2019 - 20:45:09)

 
 Top
Zireael
Отправлено: 19 Января, 2019 - 20:54:40
Post Id



Пользователь
Эксперт


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




 Цитата:
Почему пишет что "Повторение метки q7" хотя она не повторяется?

 Цитата:
m_KIB12: g7:
non();
goto exit_KIB;
m_KIB13: g7:

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


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




Powered by