Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2007.05.27;
Скачать: [xml.tar.bz2];

Вниз

Боты для игр   Найти похожие ветки 

 
delphiman2006   (2006-06-24 21:58) [0]

Хочу написать бот, для одной игры, но совершенно не знаю как подойти к этой проблеме, хотел узнать, может у кого нибудь есть материалы или линки с подобной информацыей. Заранее благодарен.


 
XProger ©   (2006-06-24 22:21) [1]

Что нужно игре от игроку? Правильно, нажатые клавиши!
Что должен делать бот? Правильно, нажимать клавиши! Делать те же действия что и игрок, оценивать обстановку вокруг и принимать решение.
Для своей игры писал интеллект ботов в dll библиотеках, остался доволен :)


 
antonn ©   (2006-06-25 05:40) [2]

delphiman2006   (24.06.06 21:58)
игра "чужая"? или своя?


 
delphiman2006   (2006-06-25 11:04) [3]

Игра, не моя. Нажимать кнопки то можно, но как оценить ситуацию, не знаю.


 
RzCoDer ©   (2006-06-25 11:27) [4]

а как бы ты её сам оценил??? Так и пиши


 
XProger ©   (2006-06-25 11:44) [5]

delphiman2006,
бот должен знать:
1) Проходимость той или иной области карты
2) Положение всех итемсов
3) Местонахождение других игроков/врагов


 
RzCoDer ©   (2006-06-25 11:45) [6]


> XProger

Оговорка, это всё в зоне видимости бота


 
delphiman2006   (2006-06-25 17:06) [7]

План понятен, но я никогда не писал ботов, хотелось бы увидеть примеры или может исходники.


 
antonn ©   (2006-06-25 17:09) [8]

если игра "чужая", какие могут быть исходники?? даже игру не озвучил...


 
Kobik..   (2006-06-25 17:39) [9]

мда. Бот понятие растяжимое.
1) Сделать бота для какой-нибудь FPSки, в которой игра с ботами не предусмотрена - нереально.
2) Сделать, вернее "модифицировать" бота для какой-нибудь игры, где боты используются.
3) Боты на подобие автоматизации примитивных действий в онлайн играх.
4) Автор про свою игру говорит.

1-Даже глупо было такой вопрос задавать.
2,3 - все от конкретной игры зависит.
4- эх... долго расписывать, да и обсуждалось уже сто раз на этом форуме.


 
delphiman2006   (2006-06-25 22:38) [10]


> мда. Бот понятие растяжимое.
> 1) Сделать бота для какой-нибудь FPSки, в которой игра с
> ботами не предусмотрена - нереально.
> 2) Сделать, вернее "модифицировать" бота для какой-нибудь
> игры, где боты используются.
> 3) Боты на подобие автоматизации примитивных действий в
> онлайн играх.
> 4) Автор про свою игру говорит.


Я имею в виду 3 вариант.


>  даже игру не озвучил...

Игра Ragnarok Online.
В этой игре я уже видел ботов, которые, или сами качались, или на ГильдВойнах делали частые действия(типа лечения,огненные стены).


 
Cerberus ©   (2006-06-25 22:57) [11]


> [10] delphiman2006   (25.06.06 22:38)

Не не знаю как в Ragnarok Online.
Но в Ultime Online боты висели на серваке а не на клиенте.
Хотя клиентом тоже как то можно былу управлять (что в принципе доказывает что бота можно запустить у клиента). Но в такие подробности невникал.


 
antonn ©   (2006-06-26 05:37) [12]

delphiman2006   (25.06.06 22:38) [10]
за это, м/у прочим, аккаунт банят...


 
Kobik..   (2006-06-26 07:38) [13]

>Но в Ultime Online боты висели на серваке а не на клиенте.
хзхз. Где там на серваке?
Есть проги (легко и самому написать), которые по скрипту тыкают мышкой и на кнопки в нужное окно. Например, для Ультимы есть специальный UoPilot.

Загоняешь в него скрипт типа

send f11
wait 2200
Double_Left 80,80
wait 1800
Double_Left 80,80
wait 8000
repeat 3
send insert
wait 5200
EndRepeat

и перс будет тебе всю ночь свитки с заклинаниями рисовать :)

Далее встает вопрос,
1) Автор хочет научиться писать скрипты под готовый "пилот" =)
2) Автор хочет написать свой "пилот"
3) Автор хочет написать новый клиент с ботом (всего то и надо знать, что содержится в пакетах между клиентом и сервером) :) В OU таких шняг полно. Типа Инжект, ВКпилот...
4) Автор сам не знает чего он хочет. Ему просто халява нужна.


 
delphiman2006   (2006-06-26 09:08) [14]


> Далее встает вопрос,
> 1) Автор хочет научиться писать скрипты под готовый "пилот"
> =)
> 2) Автор хочет написать свой "пилот"
> 3) Автор хочет написать новый клиент с ботом (всего то и
> надо знать, что содержится в пакетах между клиентом и сервером)
> :) В OU таких шняг полно. Типа Инжект, ВКпилот...
> 4) Автор сам не знает чего он хочет. Ему просто халява нужна.
>

Тут мне подходит именно 2 вариант. Хочу написть этот самый "пилот", нашел монстра тыкнул на него,для того чтобы убить; выпали предметы, тыкнул на них, чтобы взять. И потом это все дело повторяется.


 
tButton ©   (2006-06-26 10:12) [15]

не. это надо делать не на уровне тыкнул, а на уровне перехвата пакетов от сервера, самостоятельного анализа, принятия решения и отправки ответат серверу.

положим, пишет нам сервер
> респавн минотавра в точке 19:42, ID монстра = 1736, <параметры монстра>
отвечаем серверу
< команда пользователя атаковать монстра с ID = 1736
что-то типа. но ток надо протокол изучить =)


 
Cerberus ©   (2006-06-26 17:12) [16]

> Тут мне подходит именно 2 вариант. Хочу написть этот самый
> "пилот", нашел монстра тыкнул на него,для того чтобы убить;
> выпали предметы, тыкнул на них, чтобы взять. И потом это
> все дело повторяется.

Это не второй вариант, а первый. В UO не надо изобретать велосипед.
А в Ragnarok Online возможно придётся делать как говорит
> [15] tButton ©   (26.06.06 10:12)
.


 
whitevova ©   (2006-06-27 01:10) [17]

Народ. Насчёт перехвата пакетов - каким образом их можно перехватить?


 
tButton ©   (2006-06-27 04:36) [18]

оч просто =)
делаем приложение сервер
делаем приложение клиент
начинаем эксперементировать
- подключаемся своим клиентом к реальному серверу
- слушаем что он говорит при подключении
- подключаемся реальным клиентом к своему серверу
- пародируем реальный сервер, слушаем что отвечает клиент
эт конечно если они без заморочек пакетами обмениваются
бывает сложнее
но я примерно так клиента для мада одного ваял.
(пока не забросил и мад и клиент =))


 
Kobik..   (2006-06-27 07:04) [19]

ИМХО во всех новых играх пакеты хорошо шифруются
а) против читеров
б) против как раз таких изобретателей ботов

Ну все равно ничего невозможного не бывает =)


 
tButton ©   (2006-06-27 07:25) [20]

конечно, шифруются, упаковываются. у меня вон ВоВ всего мегабайт с небольшим за час игры съедает =)
плюс, имею мнение, что данные передаются бинарные =)
а что #74#89#200 или #3#62#120#47 в ихнем понимании значат - фиг разберёшь =)


 
delphiman2006   (2006-06-30 07:34) [21]

Более менее разобрался: мне нужно написать клиент к серверу игры, подключиться и общаться, отправляя и принимая разные игровые команды. Вроде так.


 
Kobik..   (2006-06-30 11:00) [22]

>Более менее разобрался: мне нужно написать клиент к серверу игры,
>подключиться и общаться, отправляя и принимая разные игровые команды. >Вроде так.
круто чё :)
Считай, что 1/1000 пути ты прошел. Дело за малым... ;)


 
Kobik..   (2006-06-30 11:11) [23]

нормально говоря - сначала ты должен выяснить формат пакетов, приходящих от сервера. Для этого есть насколько вариантов:
1) Узнать у тех, кто уже разобрался.
2) Имея сервер, посмотреть, какие пакеты он шлет. Ну я хз где ты для рагнарека сервер возьмешь.
3) Дизассемблировать клиент. Отрыть ту часть, которая обрабатывает входящий трафик. Разобраться что к чему.  Это не фантастика :) но знания нужны глубокие.

Так что врядли тебе подойдет хоть один из этих вариантов...

>может у кого нибудь есть материалы или линки с подобной информацыей
http://www.uosoft.ru/index.php?c=renaissance&n=fclient
самопальный клиент к UO + исходники на Барсике :)


 
tButton ©   (2006-06-30 11:57) [24]


> сначала ты должен выяснить формат пакетов, приходящих от
> сервера. Для этого есть насколько вариантов:

приконнектиться к серверу и сделать побайтовый вывод входящих пакетов =)



Страницы: 1 вся ветка

Форум: "Игры";
Текущий архив: 2007.05.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.51 MB
Время: 0.055 c
2-1178887697
Yury
2007-05-11 16:48
2007.05.27
Помогите новичку


2-1178595303
Konus
2007-05-08 07:35
2007.05.27
formatfloat


2-1178445164
Loop
2007-05-06 13:52
2007.05.27
Сортировка TreeView


2-1178748897
switch
2007-05-10 02:14
2007.05.27
Окно ввода пароля


15-1177679014
SergeyLTD
2007-04-27 17:03
2007.05.27
Помогите, пожалуйста, с лабораторными работами





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский