Данная статья скомунизжена с docs.com.ru
Делаем мясо для Потрясения 3
Наверное, не сразу понятно, про что будет статья.
Объясняю статья будет про ботов в Quake III Arena (да именно Потрясение 3,
ко мне эта мысля пришла от earthquake - землетрясение). Наверняка все, кто
читает эту статью, уже давно разносит в пух и прах великого Xaero на
найтмаровской сложности на его родной карте и хочется чего-нибудь
новенького. Итак, месим мясо для Ку3.
Требующийся
софт:
Первое, что нам нужно - это архиватор. Я не знаю почему,
но большинство "великих" (может и без кавычек) програмеров советуют WinZip
и ему подобные, ИМХО - WinRar удобнее.
Второе - это прога для
просмотра содержимого ботовских файлов. Держитесь покрепче, упритесь во
что-нибудь, что не будет двигаться, если Вас начнёт колбасить... и так...
Блокнот!!! Да-да, именно Блокнот и ему подобные простенькие проги нам
помогут в нашем нелёгком труде.
Третье - пиво (кофе) и рыба
(конфеты, пончики, чипсы).
Приступим.
Сначала нам
надо достать макет для наших будущих ботов. Для этого заходим в корневую
директорию Квейка, затем заходим в (обычно нужную только для добавления
новых карт и моделей) директорию \baseq3. После того как Вы зайдёте в
заветный dir у Вас, возможно, разбегутся глаза от обилия файлов в оном,
ведь вы уже давно выучили такую интересную команду как writeconfig, а
сохранять свой конфиг под одним и тем же именем - неинтересно. И так, в
всей этой куче мусора ищем файл . Нашли? ОК, тогда открывайте
его. Как? Дабл клик на него и в появившемся списке программ выбираем
WinRar (WinZip, ZipMagic etc.), потом помечаем пункт "Всегда использовать
программу для файлов этого типа" и жмём ОК. Как, не верите? Если хотите -
я отвечу, но такие непонятные нам простым смертным файлы с расширением
*.pk3 - это обычные архивы. Далее в открывшемся окне rar'а находим
директорию botfiles и разархивируем её (так удобнее). Всё теперь можно
делать своего бота!
Начинаем делать бота.
Заходим в
разархивированную директорию botfiles, далее заходим во вложенную
директорию bots, перед Вами открывается странная картина: куча файлов с
давно выученными именами горячо любимых ботов. То, что Вы увидите, войдя в
директорию bots - это мозги ботов, если угодно AI. Каждый файл отвечает за
отдельную деталь бота:
имя-бота_c.c - этот файл отвечает за общее
поведение бота (точность при стрельбе, общительность,
etc.) имя-бота_i.c - тут создатели игрушки решили сказать, боту
насколько он будет рваться заполучить предметы квейковского обихода
(оружие, патроны, меги, армор) имя-бота_t.c - здесь выложены сообщения,
которые бот вам будет посылать (чат) имя-бота_w.c - а в этом файле
описаны предпочтения бота в оружии
С файлами разобрались, теперь
приступим собственно к созданию бота. Выбираем вашего любимого бота (в
моём случае это Phobos) и выкидываем его файлы ( _c.c _i.c _t.c и _w.c)
куда-нибудь в отдельную директорию. Переименовываем файлы, заменяя имя
исходного бота на имя своего бота (в моём случае было phobos_c.c, а стало
spamer_c.c, вообще-то имя можно давать любое и как можно короче, например
1_с.с - на жизнь бота это не повлияет :)).
Вот мы и переименовали
файлы, переходим к следующему этапу.
Открываем файл с окончанием
_c.c через Блокнот. Находим строку:
CHARACTERISTIC_NAME
"Имя-бота" и вместо "Имя-бота" пишем имя своего бота,
например CHARACTERISTIC_NAME "Spamer"
Далее делаем нашего бота
супер метким для этого все напротив надписей от
CHARACTERISTIC_AIM_ACCURACY_MACHINEGUN до CHARACTERISTIC_AIM_SKILL_BFG10K
цифры, которые стоят напротив них заменяем на 1 (обычно эти строки
присутствуют только в разделе, который начинается со слов "skill 5" -
найтмар, но лучше их запихать и во все остальные разделы. Слова "skill 1"
"skill 3" "skill 5" обозначают сложность бота от i can win до
nightmare).
Вы можете поэкспериментировать с другими строками, так,
например для CHARACTERISTIC_CHAT_CPM можно установить равным 0, чтобы ваш
бот молчал, а можно поставить штук пятнадцать девяток, чтобы он стоял и
разговаривал с Вами (этакая чат-прога :)).
Ах, да! Ещё самое
главное:
CHARACTERISTIC_WEAPONWEIGHTS поставьте
"bots/имя-вашего-бота_w.c" CHARACTERISTIC_CHAT_FILE поставьте
"bots/имя-вашего-бота_t.c" CHARACTERISTIC_ITEMWEIGHTS поставьте
"bots/имя-вашего-бота_i.c"
Теперь Ваш бот практически готов,
осталось только несколько последних штрихов.
Заходим в злополучный
архив pak0.pk3, заходим в botfiles -> bots -> нажимаем Добавить
(Add) -> находим файлы нашего бота и помечаем их -> жмём Добавить в
архив (Add to archive) -> ждём окончания добавления.
Теперь надо
задать для Квейка координаты новорожденного бота. Выходим в корневой
каталог архива -> заходим в Scripts -> открываем bots.txt (можно не
распаковывать) -> идём в конец документа и добавляем такие
строки:
{ name Имя-бота funname
Имя-бота-как-оно-будет-писаться-в-игре-с-учётом-регистра (например
^1S^3pame^1R) model Модель-бота (например klesk/red, пути к моделям
можно посмотреть в том же паке Models -> Players) aifile
bots/имя-файла-после-переименования_c.c }
Вот и всё - ваш бот
готов. Теперь заходим в игру запускаем карту жмём тильду (~)
пишем:
addbot Имя-бота 5 и наслаждаемся.
Прикольный
совет:
Поставьте в имя-бота_w.c предпочтение всех оружий на 0,
кроме пулемёта, а в имя-бота_c.c точность пулемёта 1. Затем создайте какую
- нибудь открытую, полностью просматривающуюся зону и
умирайте...
Траблшотинг:
Если пишет какие-то
сообщения об ошибке, значит, проверьте, правильно ли вы прописывали имена
файлов, а если вам пишет что-то типа "chat daemia_t.c" или что-то вроде
этого, то зайдите в файл _c.c, в CHARACTERISTIC_CHAT_NAME
"Имя-исходного-бота" измените Имя-исходного-бота на Имя-своего-бота, затем
откройте файл _t.c и chat "Имя-исходного-бота" измените на chat
"Имя-Вашего-бота" - всё, теперь должно работать.
Весёлой игры! С
Вами был DominuS АКА Bipa Moda.
Дополнено Max Snake: Скачать архив со описаниеми от Mr Elusive (один из создателей Quake 3) этих и других скриптов. [Q3ABotEdit.rar](ENG).
|