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

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

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

> Описание: Lineage 2 Отслеживание полоски здоровья и использование банок
Trappedsoul
Отправлено: 30 Мая, 2019 - 02:36:34
Post Id



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


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




Здравствуйте! Играю в lineage 2. Воспользовался готовым скриптов вашим http://kibor-bot.com/forum/topic.php?forum=6&topic=28. Очень нравится но я хочу настроить под другой класс воина и хила. А именно во время боя полоска жизни (ХП) меняет цвет и мне надо чтоб как у Вас в видео срабатывала клавиша (допустим Ф5) при 70% ХП (но вот этот% я мог менять как у вас в видео) Я не могу настроить динамическое изменение Ё (как на видео) ХП мобов и своё ХП. И при уменьшение кол-ва ХП цвет меняется на более темный, и вот тут не могу настроить чтоб при изменение цвета ХП срабатывала клавиша заданая под ХИЛ. Помогите пожалуйста! Расскажите как мне это сделать. Как настраивался бот как на видео? Можно бой пропустить а именно баф+лечение объяснить Функция Ё. А еще лучше видео бы посмотреть как подробно настраивается. Спасибо!
 
 Top
Kibor
Отправлено: 30 Мая, 2019 - 02:48:07
Post Id



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


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




int R__HP=50; настраивайте в начале скрипта.
Сделал определение цвета с разбежностью.

CODE:
//Бот для LIneage 2. Сделан в Кибор - http://kibor-bot.com
//Обязательно смотреть прилагаемое видео настроек http://youtu.be/yaKTWaArQgk

int R__HP=50;//Разбежность цвета полоски хп. (0-255) Уменьшить пока не будет ложного срабатывания или увеличить если не пьет

int mob[3];//фки макросов
mob[0]=118; mob[1]=119; mob[2]=120;//фки макросов

int baf[3];//фки бафов
baf[0]=121; baf[1]=122; baf[2]=123;//фки бафов

int baf_time[3];//тут находится время бафов
baf_time[0]=120000; baf_time[1]=1200000; baf_time[2]=1200000;//тут находится время бафов

int baf_t[3];//тут находится счетчик время бафов
baf_t[0]; baf_t[1]; baf_t[2];//тут находится счетчик время бафов

int col_pix, X_pix, Y_pix;//Координаты и цвет первого пикселя в хп моба

int col_pix1, X_pix1, Y_pix1;//Координаты и цвет последнего пикселя в хп моба

int col_pix2, X_pix2, Y_pix2;//Координаты и цвет своего хп в месте если его будет мало

int k_mob=0, k_baf=0; //Счетчик
int N=0;//Счетчит мобов которые слили.

int error_tim=15000;//Это время давать на то что бы ударил по мобу от взятия в таргет - превысил - застрял (снять таргет)
int k_error_tim;//Это счетчик времени если перс за определенное время не добежал и не ударил (застрял)

int col, xek, yek;//цвет экрана и разрешение


nastroit();//Настройки определения точки пикселя начала хп моба
baf_start();//Бафы в начале

//Основной цикл бота //////////////////////////////////////////////////////////////////////////////
cikl: malo_xp();//Проверить или хп мало и банки пить

key(F4); //Ближенего моба в таргет взять
pause(rand(500, 1000)); //Пауза которую выдержать (раном от пол секунды до сек)

if (getcolor(X_pix, Y_pix)!=col_pix) //Если нет моба в таргете
{
cikl1: key(mob[k_mob]);//Нажать на макрос выбора моба по нику
k_mob++;//Увеличить номер макроса в котором /target ник-моба находится
if (k_mob==3)k_mob=0;//Если это третий номер макроса ника моба - перейти к первому
pause(rand(1000, 2000)); //Пауза которую выдержать (раном от секунды до двух)
}


if (getcolor(X_pix, Y_pix)==col_pix) //Если моб в таргете
{
malo_xp();//Проверить или хп мало и банки пить

bit1: k_error_tim=gettime();//Записать время текущее
bit: if (getcolor(X_pix, Y_pix)==col_pix) //Если моб в таргете
{

if (gettime()-k_error_tim>error_tim)//Если превысил время (застрял или долгий бой)
{
if (getcolor(X_pix1, Y_pix1)==col_pix1)//Усли моб целый (красный конец хп) значит застрял
{
key(ESCAPE);//Нажать Es (таргет снять)
pause(rand(200, 500));
goto cikl1;// топать на cikl1 (на этой метке строка которая берет другого моба - с другим ником)
}
}

malo_xp();//Проверить или хп мало и банки пить

key(F1); // атака моба
pause(rand(500, 1500));
key(F2); // атака моба скилом 1
pause(rand(500, 1500));
key(F3); // атака моба скилом 2
goto bit; //Идти на проверку или хп моба есть еще
}

pause(rand(100, 300));

malo_xp();//Проверить или хп мало и банки пить

if (getcolor(X_pix, Y_pix)==col_pix) goto bit1;//Если моб в таргете (он напал) - бить а не собирать лут

key(ESCAPE);//Нажать Es
pause(rand(100, 300));

keydown(F5);// собирать лут когда моб слит
pause(rand(2000, 3500));
keyup(F5);

N++;//Увеличить счетчик мобов
textout(0, X_pix, Y_pix+20, "Мобов слито "+format (N), 0);//Изменить счетчик мобов которые слились
}
bafi();//Бафы


goto cikl;//Цикл змкнем. идти на начало
////////////////////////////////////////////////////////////////////////////////////




function malo_xp()//Проверить или хп мало и банки пить
{
// if (getcolor(X_pix2, Y_pix2)!=col_pix2)//Если надо банку выпить - хп мало
if (scanpixel(X_pix2, Y_pix2, col_pix2, R__HP, R__HP, R__HP, R__HP, R__HP, R__HP, -1)==0)//Если надо банку выпить - хп мало
{
key(F6);
sleep(500);
}
}
////////////////////////////////////////////////////////////////////////////


function bafi()//Бафы в цикле
{
//Бафы
if (gettime()-baf_time[0]>baf_t[0])//Если время для этого бафа вышло
{
key(baf[0]);//F10
pause(rand(4000, 5000));//Пауза которую выдержать (рандом от 4 секунд до 5 секунд)
baf_t[0]=gettime();//Записываем текущее время
malo_xp();//Проверить или хп мало и банки пить
}

if (gettime()-baf_time[1]>baf_t[1])//Если время для этого бафа вышло
{
key(baf[1]);//F11
pause(rand(4000, 5000));//Пауза которую выдержать (рандом от 4 секунд до 5 секунд)
baf_t[1]=gettime();//Записываем текущее время
malo_xp();//Проверить или хп мало и банки пить
}

if (gettime()-baf_time[2]>baf_t[2])//Если время для этого бафа вышло
{
key(baf[2]);//F12
pause(rand(4000, 5000));//Пауза которую выдержать (рандом от 4 секунд до 5 секунд)
baf_t[2]=gettime();//Записываем текущее время
malo_xp();//Проверить или хп мало и банки пить
}
}
////////////////////////////////////////////////////////////////////////////


function baf_start()//Бафы в начале
{
//Бафаем
key(baf[0]);//F10
pause (rand(4000, 5000));//Пауза которую выдержать (рандом от 4 секунд до 5 секунд)
baf_t[0]=gettime();//Записываем текущее время

key(baf[1]);//F11
pause (rand(4000, 5000));//Пауза которую выдержать (рандом от 4 секунд до 5 секунд)
baf_t[1]=gettime();//Записываем текущее время

key(baf[2]);//F12
pause (rand(4000, 5000));//Пауза которую выдержать (рандом от 4 секунд до 5 секунд)
baf_t[2]=gettime();//Записываем текущее время
}
////////////////////////////////////////////////////////////////////////////////////


function nastroit()//Настройки определения точки пикселя начала хп моба
{
getdisplay(col, xek, yek);//Определить какое разрешение
xek=xek/2-200; yek=yek/2;//Вывод текста по эти координатам. центр

textbkcolor (0,255);//Установка цвета текста
textout(0, xek, yek, "Возьмите моба в таргет. Наведите курсор на начало полосы хп моба и нажмите Ё", 0);
e: if (getkeystate(192)==0) {sleep(50); goto e;}//если не нажат Ё идти опять на проверку
getmouse(X_pix, Y_pix);//Записать в эти переменные координаты пикселя под курсором
q: if (getcolor(X_pix, Y_pix)==getcolor(X_pix-1, Y_pix)) {X_pix--; goto q;}//Самый левый найти
col_pix=getcolor(X_pix, Y_pix);//Узнать по этим координатам цвет хп моба..
pause (1000);//Пауза что бы успел отпустить кнопку

textbkcolor (0,65280);//Установка цвета текста
textout(0, xek, yek, "Наведите курсор на конец полосы хп моба и нажмите Ё", 0);
e1: if (getkeystate(192)==0) {sleep(50); goto e1;}//если не нажат Ё идти опять на проверку
getmouse(X_pix1, Y_pix1);//Записать в эти переменные координаты пикселя под курсором
q1: if (getcolor(X_pix1, Y_pix1)==getcolor(X_pix1+1, Y_pix1)) {X_pix1++; goto q1;}//Самый правый найти
col_pix1=getcolor(X_pix1, Y_pix1);//Узнать по этим координатам цвет хп моба..
pause (1000);//Пауза что бы успел отпустить кнопку

textbkcolor (0,8454143);//Установка цвета текста
textout(0, xek, yek, "Наведите курсор на свое хп на котором надо пить банку и нажмите Ё", 0);
e2: if (getkeystate(192)==0) {sleep(50); goto e2;}//если не нажат Ё идти опять на проверку
getmouse(X_pix2, Y_pix2);//Записать в эти переменные координаты пикселя под курсором
col_pix2=getcolor(X_pix2, Y_pix2);//Узнать по этим координатам цвет хп моба..

textout(0, xek, yek, "", 2);
resettextout(1);
textbkcolor (0,65280);//Установка цвета текста
}
 
 Top
Trappedsoul
Отправлено: 30 Мая, 2019 - 08:31:00
Post Id



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


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




[quote=Kibor]int R__HP=50; настраивайте в начале скрипта.
Сделал определение цвета с разбежностью.

Это я понял а в визуальном редакторе Поиск по цвету как настраивать? Можно ссылку на видео или инфу на форуме. Вот у меня полоска ХП и там красный а потом меня начинают колотить и полоска становится темной. Мне в этом месте надо чтоб он отслеживал. Не на всем экране а только на полоске. Помогите, как настроить область эту? Спасибо!
 
 Top
Kibor
Отправлено: 30 Мая, 2019 - 09:33:43
Post Id



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


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




В блок старт объявить переменные

CODE:
X_xp=х_координата, Y_xp=у_координата, Col_xp=цвет_полоски, R_xp=разбежность_цвета


В блок логики (если пойдет по истине, то надо пить банки)

CODE:
scanpixel(X_xp, Y_xp, Col_xp, R_xp, R_xp, R_xp, R_xp, R_xp, R_xp, -1)==0


Для того что бы настраивать координаты и цвет как в этом скрипте в визуальном редакторе надо писать код и вставлять его в блок кода.
Пример есть даже в скрипте.

-----------------------------------

Можно еще использовать блок поиска по скученности цветов или поиск по шаблону изображения указав однопиксельное изображение и сканируя его исчезновение в заданной области.
 
 Top
Trappedsoul
Отправлено: 31 Мая, 2019 - 19:05:59
Post Id



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


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




Заданная область это Зона поиска? Указывать Верхний левый угол и правый нижний?
Спасибо за объяснения!
 
 Top
Kibor
Отправлено: 31 Мая, 2019 - 19:11:34
Post Id



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


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




Заданная область в данном случае, это область пикселя xp
Для реализации всего этого в виз редакторе надо изучить что означают и как работают все параметры в настройках.
 
 Top
Trappedsoul
Отправлено: 01 Июня, 2019 - 00:20:15
Post Id



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


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




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


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




Powered by