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

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

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

> Без описания
Andre Lenog
Отправлено: 14 Марта, 2015 - 14:43:43
Post Id



Пользователь
Участник


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




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

int PrivyazkaXY[14][15];//Рисунок с настройкой чата
int Vid_Mob[9][9];// неактивный кружок ( навели мышь на моба)
int Tab_Vid[183][47];// табличка о мобе/персе(без хп)
int Privyazka_Radar[210][207];(полностю радар)
int P_X[1], P_Y[1];//Переменные для принятия координат
int S_X, S_Y, F_X, F_Y;//Координаты левого верхнего и правого нижнего угла области поиска мобов на экране
int xe, ye, color;
//////////////////////////////
loadimage (#PrivyazkaXY[0][0], "C:\fyb\xy.bmp");
loadimage (#Vid_Mob[0][0], "C:\fyb\Vid_Mob.bmp");
loadimage (#Tab_Vid[0][0], "C:\fyb\tab.bmp");
loadimage (#Privyazka_Radar[0][0], "C:\fyb\radar.bmp");
////////////////////////////////////
loop:; //Основное тело программы. Крутится по кругу
Poisk_Target();//Поиск ближних мобов взятием в таргет(ф4)таргетнекст
Poisk();//Поиск мобов на экране в зоне видимости
Poisk_Radar();//Поиск на радаре
goto loop;//Зацикливаем тело программы
//....................................
function Pozicion_Image()//Расчет координат
{
gedisplay(color, xe,ye);
if (findimage(1, #PrivyazkaXY[0][0], 1, #P_X[0], #P_Y[0], 0, 0, 1365, 723, 1)==0)
{
S_X=P_X[0]; S_Y=P_Y[0]-168;//Левый верхний угол области поиска (5)
F_X=P_X[0]+1345; F_Y=P_Y[0]-168;//Правый нажний угол области поиска (5)
}
}

function Poisk_Target()//Поиск ближних мобов взятием в таргет
{
key(F4);//некст таргет
sleep(500);
if (Ataka()==1)//проверяет есть ли моб в таргете и если есть льет его. Возвращает 1 если моб был и убит
{
sleep(rand(150, 250));
key(F5);//Нажать на F4 (взять лут если есть)
sleep(rand(150, 250));
key(F5);
return 1;//Выход с функции и вернуть 1.
}
return 0;//Выход с функции и вернуть 0.
}
function Poisk()//Поиск мобов на экране
{
int n=0;
ck: if (n<k)//Цикл перебора
{
mousemove(x[n], y[n]);
sleep(200);
if (findimage(1, #Vid_Mob[0][0], 0, #P_X[0], #P_Y[0], x[n]-80, y[n]-100, x[n]+80, y[n], 1)==1)
{
mouse(LEFT, P_X[n], P_Y[n], 0);//Если найден - кликнуть мышью на мобе

}
n++;
goto ck;
}
}
function Ataka()//Проверка есть ли моб в таргете и его бой
{
if (findimage(1, #Tab_Vid[0][0], 1,#P_X[0], #P_Y[0], 1, 1, 1365, 723, 1)==0)
{

mousemove(P_X, P_Y);

}
}


P.S. функцию атака недоработал...
(Добавление)(для просмотра ссылки Вам необходимо авторизоваться) ссылка на динамику

(Отредактировано автором: 14 Марта, 2015 - 14:47:03)

 
 Top
Kibor
Отправлено: 14 Марта, 2015 - 15:08:53
Post Id



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


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




CODE:
loop:; //Основное тело программы. Крутится по кругу
if (Poisk_Target()==1) goto loop;//Поиск ближних мобов взятием в таргет(ф4)таргетнекст
if (Poisk()==1) goto loop;//Поиск мобов на экране в зоне видимости
if (Poisk_Radar()==1) goto loop;//Поиск на радаре
goto loop;//Зацикливаем тело программы

если в какой то функции атака вернуть 1.

или хотите что бы сами функции реализовали?
 
 Top
Andre Lenog
Отправлено: 14 Марта, 2015 - 15:32:50
Post Id



Пользователь
Участник


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




Kibor ,
Думал сделать так чтобы сначала программа искала на экране кружочки
если кружечок найден - нажать на моба. если нет то обращения к радару или макросу.
потом когда кружочек найдет и нажалось на него нужно проверять есть ли табличка. если есть то я думал сделать проверку мертв или жив моб - тоесть добавить полосу здоровья.
далее если моб жив идет атака,
если мертв - подбор лута (F5), некст таргет (F4).
и это все в цикле.

Я пробовал разными способами и ниразу нормально не вышло. Думаю нужно поменять полностью структуру скрипта. только не понимаю в каком направлении двигаться. Мне бы хотябы чтобы оно на кружочки нажимало а там далее я сам уже думаю справился бы. вот сегодня запускал и получилось что мерцала синяя полоса загрузки кибор и не останавливалась..

(Отредактировано автором: 14 Марта, 2015 - 15:34:27)

 
 Top
Kibor
Отправлено: 14 Марта, 2015 - 15:35:53
Post Id



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


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




 Andre Lenog пишет:
Мне бы хотябы чтобы оно на кружочки нажимало

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

скрипт сами пишете? или используете мой старый что я удалил с темы?
 
 Top
Andre Lenog
Отправлено: 14 Марта, 2015 - 15:38:55
Post Id



Пользователь
Участник


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




Kibor , сначала ваш использовал.
теперь пытаюсь с 0 написать чтобы мне было понятно что как работает и мог добавлять что захочу Улыбка
(Добавление)
Kibor , тоесть ширина_искомого_места, высота_искомого_места, объем_искомого_объекта_X, объем_искомого_объекта_Y
тут выставлять везде 9?
(Добавление)
или нужно считать обем?
(Добавление)
CODE:
function Poisk()//Функция сканирования экрана на поиск изменений
{
finddynamic(0, #P_X[0], #P_Y[0], 0, 0, 0, 0, 10, 98, 1111, 606, -1);//Сделать снимок экрана.
sleep(200);
finddynamic(21, #P_X[0], #P_Y[0], 9, 9, 9, 9, 10, 98, 1111, 606, -1);//сравниваем с сохраненным изображением и ищем изменившиеся объекты, записывая их координаты.
}

вот что у меня вышло. указатель экрана -1 тк защита
 
 Top
Kibor
Отправлено: 14 Марта, 2015 - 16:25:36
Post Id



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


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




(для просмотра ссылки Вам необходимо авторизоваться) разбирайтесь в каждой строке с каждой функцией. прока не разберетесь не продолжайте дальше..
это все пригодится.
(Добавление)
 Andre Lenog пишет:
тоесть ширина_искомого_места, высота_искомого_места, объем_искомого_объекта_X, объем_искомого_объекта_Y
тут выставлять везде 9?
(Добавление)
или нужно считать обем?



ширина_искомого_места, высота_искомого_места это сам крестик динамичный весь
объем_искомого_объекта_X, объем_искомого_объекта_Y это сам моб на котором есть крестик. там их много. одного то достаточно.

нашел крестик. все. на этом объеме не ищет..
 
 Top
Andre Lenog
Отправлено: 14 Марта, 2015 - 16:52:41
Post Id



Пользователь
Участник


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




Kibor , ооо я начинаю понимать файнддинамик Улыбка
 
 Top
yo1
Отправлено: 14 Марта, 2015 - 17:24:56
Post Id



Пользователь
Участник


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




Что с ней, что без нее персонаж уходит в неконтролируемые дебри.
Надо как то реализовывать считывание карты с её координатами.
 
 Top
Andre Lenog
Отправлено: 14 Марта, 2015 - 17:36:49
Post Id



Пользователь
Участник


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




yo1 , все будет но не сразу Улыбка
 
 Top
Kibor
Отправлено: 14 Марта, 2015 - 17:59:55
Post Id



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


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




 yo1 пишет:
Что с ней, что без нее персонаж уходит в неконтролируемые дебри.
Надо как то реализовывать считывание карты с её координатами.


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


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




Powered by