21. Dart_Zaiac - 08 Ноября, 2016 - 17:31:36 - перейти к сообщению
У меня встал вопрос. А не могут ли разработчики игр периодически посещать данную ветку форума для разработки контрмер опубликованным скриптам?
22. Kibor - 08 Ноября, 2016 - 17:52:55 - перейти к сообщению
) Думаю данная ветка очень мала для них)
23. Kora DM War - 17 Августа, 2018 - 15:39:12 - перейти к сообщению
Вопрос, я играю на сервере и фармлю спецом(Мобы быстрее ложаться), можно ли доработать скрипт чтобы 1) если он выбрал 1 моба то ударял его до той поры что он умрет( в первом коде не знаю что такое но подозреваю что ESC срабатывает), 2) так же в 1-ом коде есть нюанс того что бот лут не собирает. Либо же можно ли сделать скрипт который просто находит мобов и выделяет их, ожидая когда выделение его прекратится(Табличка хп моба убирается при его смерти и появляется при выделении), а после продолжает искать мобов.(Пробел можно и самому зажать бумажкой )
(Добавление)
Пару минут назад решил по пробывать кибор для оф серверов, проблема возникла в том что мобы под курсором, но он на них не кликает, и из-за этого не происходит ничего, просто курсор носится по всему экрану и только.
(Добавление)
Пару минут назад решил по пробывать кибор для оф серверов, проблема возникла в том что мобы под курсором, но он на них не кликает, и из-за этого не происходит ничего, просто курсор носится по всему экрану и только.
24. Kibor - 18 Августа, 2018 - 14:57:25 - перейти к сообщению
Здравствуйте.
Конечно можно. Это просто демка.
По поводу оф сервера, то там понадобится включение антиантикликера.(для просмотра ссылки Вам необходимо авторизоваться) (для просмотра ссылки Вам необходимо авторизоваться) (для просмотра ссылки Вам необходимо авторизоваться)
Конечно можно. Это просто демка.
По поводу оф сервера, то там понадобится включение антиантикликера.(для просмотра ссылки Вам необходимо авторизоваться) (для просмотра ссылки Вам необходимо авторизоваться) (для просмотра ссылки Вам необходимо авторизоваться)
25. Greender - 10 Мая, 2021 - 05:23:21 - перейти к сообщению
Kibor пишет:
Набросал бота который работает на офе на 4game... и не только.
Для офа необходимо включать антиантикликер.
Для офа необходимо включать антиантикликер.
Привет, по каким то причинам не считывает цвет ника моба, цвета менял...
26. Karoshi - 21 Мая, 2021 - 07:48:36 - перейти к сообщению
Все отлично работает в активном окне ! Есть ли способ заставить этот скрипт работать в свернутом или перекрытом окне ? Знаю решение при помощь эмулятора виртуальной машины , но есть решение по лучше? К примеру передать нажатия на самом низком уровне,уровне драйверов ?
27. Ilya001 - 21 Мая, 2021 - 07:54:49 - перейти к сообщению
Karoshi пишет:
Все отлично работает в активном окне ! Есть ли способ заставить этот скрипт работать в свернутом или перекрытом окне ? Знаю решение при помощь эмулятора виртуальной машины , но есть решение по лучше? К примеру передать нажатия на самом низком уровне,уровне драйверов ?
Антиантикликер не подойдёт?
28. Karoshi - 21 Мая, 2021 - 08:21:37 - перейти к сообщению
Ilya001 пишет:
Karoshi пишет:
Все отлично работает в активном окне ! Есть ли способ заставить этот скрипт работать в свернутом или перекрытом окне ? Знаю решение при помощь эмулятора виртуальной машины , но есть решение по лучше? К примеру передать нажатия на самом низком уровне,уровне драйверов ?
Антиантикликер не подойдёт?
Пытаюсь протестировать , но приходит ошибка 1 , пытаюсь разобраться . Проверка подпись отключена .
(Добавление)
Ilya001 пишет:
Karoshi пишет:
Все отлично работает в активном окне ! Есть ли способ заставить этот скрипт работать в свернутом или перекрытом окне ? Знаю решение при помощь эмулятора виртуальной машины , но есть решение по лучше? К примеру передать нажатия на самом низком уровне,уровне драйверов ?
Антиантикликер не подойдёт?
Протестировал , не работает .
29. lats - 24 Мая, 2022 - 06:07:38 - перейти к сообщению
Kibor пишет:
Данный скрипт реализует бот для игры RF Online.
Видео работы этого бота:видео 1, видео 2 и видео 3
Код скрипта:
Ета вапше ешо работает ? Уменя находят таргета но сразу ищет следующую цель .Или есть другои вариант ?
Видео работы этого бота:видео 1, видео 2 и видео 3
Код скрипта:
CODE:
/*Бот для RF Online. Для фришек. Тестировалось на pvpwar.net.
Игра в окне. Разрешение игры 1024/768. Всю анимацию и эфекты отключить. Вид подбирать сверху с уклоном примерно 45. Зависит от мобов и ситуации.
Чем выше камера, тем точнее сортировка по растоянию. Удаление камеры в несколько раз больше стандарта
Положение таблички таргета - стандартное по середине.
Выбрать управление - клавиатура. На экране все закрыть что можно. Чат свернуть. Панель быстрого доступа тоже можно свенуть*/
int Cursor=100204663;//Идентификатор курсора атаки. Узнать - навести на моба и нажать CTRL+SHIFT+S. Меняется при каждом запуске игры.
int tabX=460, tabY=74, tabColor=4671042;//Координаты и цвет пикселя на табличке выделенного моба. Узнать - навести на табличку и нажать CTRL+SHIFT+S.
int p=50;//Задержка мыши над мобом. Увеличить если курсор цвет не успевает менять.
int lyt=5;//Количество нажатий пробела. Сбор лута. Установить 0 если не нужен лут, так как занимает время.
int Mob_X=3, Mob_Y=5;//Размер крестика который должен быть весь динамичным. (Половинные размеры)
int Raz_Din_X=50, Raz_Din_Y=70;//Полный размер моба (Половинные размеры) В этом объеме больше не искать динамику.
int c_X=512, c_Y=416;//Координаты перса на экране. Примерно центр экрана под ногами.Узнать - навести на точку экрана и нажать CTRL+SHIFT+S
int payza_sravn=500;//Пауза между сравнением изображения игры для индификации очагов динамики. Увеличить если при поиске не находятся все мобы. Не успевает показать все меняющиеся пикселя.
int st_poisk_X=27, st_poisk_Y=146;//Левый верхний угол начала поиска в клиенте.
int fin_poisk_X=974, fin_poisk_Y=530;//Правый нижний угол окончания поиска в клиенте.
//Размеры Mob_X/Mob_Y и удаление камеры от перса подобрать так, чтоба в очаги не попадал лут и трава. Мобы должны попадать все.
//Размеры Raz_Din_X/Raz_Din_Y подобрать так, чтоб на каждый моб было по одной координате. Зависит от удаления камеры и размеров моба.
int x[21], y[21];//Масивы для координат центров крестиков Mob_X\Mob_Y динамичных очагов
int st=0;//Переключатель для смены (шаг вперед - шаг назад) Для торможения перса
int rz=0;//Счетчик пустых кругов. Кода не найден моб. Для разворота на 180 градусов
int k;//Количество найденых очагов динамики
int n, l;//Вспомогательные
/////////////////////////////////////////////
win w=window ("RF Online", "D3D Window", -1);//Указатель на окно игры
if (w==0)//Игра есть
{
messagebox ("Запустите игру.");
goto er;
}
activate(w);//Активировать окно игры
sleep(500);
if (attach(w, 1)!=0)//Присоеденить поток игры для проверки курсора
{
lo: key(ESCAPE);//Нажать esc(все окна убрать если появились)
if (Poisk_mob()==-1)goto lo;//Искать мобов
sort(c_X, c_Y, #x[0], #y[0], k);//Сортировка по растоянию очаг-перс
////////////////Поиск и бой найденых мобов/////////////////////
n=0;
ck: if (n<k)//1//Цикл перебора очагов динамики
{
trusit_mouse(x[n], y[n]);//Потрусить мышью, что бы клиент среагировал и поменял курсор если под курсором моб
if (getcursor()==Cursor)//2//Если курсор принял тип атаки(над мобом)
{
mouse (LEFT);//Щелкнуть по мобу мышкой
sleep(50);
if (Mob_naiden()==-1)//Проверка наличия моба в таргете и бой и сбор лута
{//Если нет в таргете (ошибка) тормозим что бы не бежал перс
if (st==0){key(UP);st=1;}//Шаг назад(по очереди)
else {key(DOWN);st=0;}//Шаг вперед(по очереди)
}
goto lo;
}//2
n++;
goto ck;
}//1
////////////////////////////////////////////////
rz++;
if (rz>1)//Моб не найден 2 круга
{
rz=0;
mouse (MIDDLE);//Клик средней кнопкой. Разворот перса на 180
sleep(1000);
}
sleep(200);
goto lo;
}
attach(w, 0);//Отсоединить поток
er:;
//////////////ФУНКЦИИ//////////////
function Mob_naiden()//Проверка наличия моба в таргете и бой и сбор лута
{
if (getcolor(tabX, tabY, w)==tabColor)//3//Если появилось окошко наверху что моб выделен
{
boi: key(SPACE);//Нажать пробел
sleep(50);
if (getcolor(tabX, tabY, w)==tabColor) goto boi;//Пока есть окошко нажимать пробел
l=0;
ty: if (l<lyt){key(SPACE);sleep(300); l++; goto ty;}//Сбор лута
rz=0;//Атака была. Счетчик разворота в ноль.
return 0;
}
return -1;
}
/////////
function Poisk_mob()//Искать мобов
{
finddynamic(0, #x[0], #y[0], 0, 0, 0, 0, st_poisk_X, st_poisk_Y, fin_poisk_X, fin_poisk_Y, w);//Получить изображение игры
sleep(payza_sravn);//Пауза между сравнением для поиска изменений
k=finddynamic(21, #x[0], #y[0], Mob_X, Mob_Y, Raz_Din_X, Raz_Din_Y, st_poisk_X, st_poisk_Y, fin_poisk_X, fin_poisk_Y, w);//Получить изображение игры и сравнить с прошлым. Получить координаты динамичных очагов.
if (k>20){sleep(200);return -1;}//Если более 20 очагов динамики. Шум. Сравнение повторить.
return 0;
}
//////////
function trusit_mouse(int tx, int ty)//Потрусить мышью, что бы клиент среагировал и поменял курсор если под курсором моб
{
mousemove(tx+st_poisk_X+1, ty+st_poisk_Y, w);sleep(p);
mousemove(tx+st_poisk_X-1, ty+st_poisk_Y, w);sleep(p);
mousemove(tx+st_poisk_X, ty+st_poisk_Y+1, w);sleep(p);
mousemove(tx+st_poisk_X, ty+st_poisk_Y-1, w);sleep(p);
mousemove(tx+st_poisk_X, ty+st_poisk_Y, w);sleep(p);
}
/////////////////////////////////////////////////////////////////
Игра в окне. Разрешение игры 1024/768. Всю анимацию и эфекты отключить. Вид подбирать сверху с уклоном примерно 45. Зависит от мобов и ситуации.
Чем выше камера, тем точнее сортировка по растоянию. Удаление камеры в несколько раз больше стандарта
Положение таблички таргета - стандартное по середине.
Выбрать управление - клавиатура. На экране все закрыть что можно. Чат свернуть. Панель быстрого доступа тоже можно свенуть*/
int Cursor=100204663;//Идентификатор курсора атаки. Узнать - навести на моба и нажать CTRL+SHIFT+S. Меняется при каждом запуске игры.
int tabX=460, tabY=74, tabColor=4671042;//Координаты и цвет пикселя на табличке выделенного моба. Узнать - навести на табличку и нажать CTRL+SHIFT+S.
int p=50;//Задержка мыши над мобом. Увеличить если курсор цвет не успевает менять.
int lyt=5;//Количество нажатий пробела. Сбор лута. Установить 0 если не нужен лут, так как занимает время.
int Mob_X=3, Mob_Y=5;//Размер крестика который должен быть весь динамичным. (Половинные размеры)
int Raz_Din_X=50, Raz_Din_Y=70;//Полный размер моба (Половинные размеры) В этом объеме больше не искать динамику.
int c_X=512, c_Y=416;//Координаты перса на экране. Примерно центр экрана под ногами.Узнать - навести на точку экрана и нажать CTRL+SHIFT+S
int payza_sravn=500;//Пауза между сравнением изображения игры для индификации очагов динамики. Увеличить если при поиске не находятся все мобы. Не успевает показать все меняющиеся пикселя.
int st_poisk_X=27, st_poisk_Y=146;//Левый верхний угол начала поиска в клиенте.
int fin_poisk_X=974, fin_poisk_Y=530;//Правый нижний угол окончания поиска в клиенте.
//Размеры Mob_X/Mob_Y и удаление камеры от перса подобрать так, чтоба в очаги не попадал лут и трава. Мобы должны попадать все.
//Размеры Raz_Din_X/Raz_Din_Y подобрать так, чтоб на каждый моб было по одной координате. Зависит от удаления камеры и размеров моба.
int x[21], y[21];//Масивы для координат центров крестиков Mob_X\Mob_Y динамичных очагов
int st=0;//Переключатель для смены (шаг вперед - шаг назад) Для торможения перса
int rz=0;//Счетчик пустых кругов. Кода не найден моб. Для разворота на 180 градусов
int k;//Количество найденых очагов динамики
int n, l;//Вспомогательные
/////////////////////////////////////////////
win w=window ("RF Online", "D3D Window", -1);//Указатель на окно игры
if (w==0)//Игра есть
{
messagebox ("Запустите игру.");
goto er;
}
activate(w);//Активировать окно игры
sleep(500);
if (attach(w, 1)!=0)//Присоеденить поток игры для проверки курсора
{
lo: key(ESCAPE);//Нажать esc(все окна убрать если появились)
if (Poisk_mob()==-1)goto lo;//Искать мобов
sort(c_X, c_Y, #x[0], #y[0], k);//Сортировка по растоянию очаг-перс
////////////////Поиск и бой найденых мобов/////////////////////
n=0;
ck: if (n<k)//1//Цикл перебора очагов динамики
{
trusit_mouse(x[n], y[n]);//Потрусить мышью, что бы клиент среагировал и поменял курсор если под курсором моб
if (getcursor()==Cursor)//2//Если курсор принял тип атаки(над мобом)
{
mouse (LEFT);//Щелкнуть по мобу мышкой
sleep(50);
if (Mob_naiden()==-1)//Проверка наличия моба в таргете и бой и сбор лута
{//Если нет в таргете (ошибка) тормозим что бы не бежал перс
if (st==0){key(UP);st=1;}//Шаг назад(по очереди)
else {key(DOWN);st=0;}//Шаг вперед(по очереди)
}
goto lo;
}//2
n++;
goto ck;
}//1
////////////////////////////////////////////////
rz++;
if (rz>1)//Моб не найден 2 круга
{
rz=0;
mouse (MIDDLE);//Клик средней кнопкой. Разворот перса на 180
sleep(1000);
}
sleep(200);
goto lo;
}
attach(w, 0);//Отсоединить поток
er:;
//////////////ФУНКЦИИ//////////////
function Mob_naiden()//Проверка наличия моба в таргете и бой и сбор лута
{
if (getcolor(tabX, tabY, w)==tabColor)//3//Если появилось окошко наверху что моб выделен
{
boi: key(SPACE);//Нажать пробел
sleep(50);
if (getcolor(tabX, tabY, w)==tabColor) goto boi;//Пока есть окошко нажимать пробел
l=0;
ty: if (l<lyt){key(SPACE);sleep(300); l++; goto ty;}//Сбор лута
rz=0;//Атака была. Счетчик разворота в ноль.
return 0;
}
return -1;
}
/////////
function Poisk_mob()//Искать мобов
{
finddynamic(0, #x[0], #y[0], 0, 0, 0, 0, st_poisk_X, st_poisk_Y, fin_poisk_X, fin_poisk_Y, w);//Получить изображение игры
sleep(payza_sravn);//Пауза между сравнением для поиска изменений
k=finddynamic(21, #x[0], #y[0], Mob_X, Mob_Y, Raz_Din_X, Raz_Din_Y, st_poisk_X, st_poisk_Y, fin_poisk_X, fin_poisk_Y, w);//Получить изображение игры и сравнить с прошлым. Получить координаты динамичных очагов.
if (k>20){sleep(200);return -1;}//Если более 20 очагов динамики. Шум. Сравнение повторить.
return 0;
}
//////////
function trusit_mouse(int tx, int ty)//Потрусить мышью, что бы клиент среагировал и поменял курсор если под курсором моб
{
mousemove(tx+st_poisk_X+1, ty+st_poisk_Y, w);sleep(p);
mousemove(tx+st_poisk_X-1, ty+st_poisk_Y, w);sleep(p);
mousemove(tx+st_poisk_X, ty+st_poisk_Y+1, w);sleep(p);
mousemove(tx+st_poisk_X, ty+st_poisk_Y-1, w);sleep(p);
mousemove(tx+st_poisk_X, ty+st_poisk_Y, w);sleep(p);
}
/////////////////////////////////////////////////////////////////
30. Gnev992 - 23 Апреля, 2023 - 15:20:39 - перейти к сообщению
Есть возможность актуализировать скрипт под разрешение 1360х768?
Отблагодарю монетой
Отблагодарю монетой