|
|
q3:управление_ботами [13.01.2010 11:29] GT-Agressor |
q3:управление_ботами [06.07.2020 03:50] |
==== Создание путей для ботов ==== | |
| |
//незаконченный раздел, под рукой нет программ :( | |
| |
Для того, чтобы на вашей deathmatch (ctf/tourney) карте появились боты, во-первых, необходимо расставить точки респауна info_player_deathmatch. После этого для упрощения расчетов путей для ботов, а также во избежание застревания ботов ставим браши с текстурой common/bot_clip в тех местах, где боты не должны бегать. | |
| |
Для расчета путей ботов воспользуемся компилятором bspc.exe и оболочкой для него Q3map3build. | |
| |
Здесь все просто - выбираем в списке карт нашу, выбираем параметры компиляции bsp, vis, light (если уже скомпилированы, то "none"), а в настройках ... компиляции выбираем ... | |
| |
Нажимаем запустить, ждем окончания компиляции, запускаем карту, проверяем ботов. В большинстве случаев находятся места, где боты начинают "тупить", с помощью bot_clip убираем/изменяем проблемные места, и компилируем заново | |
| |
==== Управление характеристиками ботов ==== | |
| |
Автор: DominuS | |
| |
Взято с docs.com.ru | |
| |
Наверное, не сразу понятно, про что будет статья. Объясняю, статья будет про ботов в Quake III Arena. Наверняка все, кто читает эту статью, уже давно разносит в пух и прах великого Xaero на найтмаровской сложности на его родной карте и хочется чего-нибудь новенького. Итак, месим мясо для Ку3. | |
| |
Требующийся софт: | |
| |
Первое, что нам нужно - это архиватор. Я не знаю почему, но большинство "великих" (может и без кавычек) программеров советуют WinZip-ы ему подобные, ИМХО - WinRar удобнее. | |
| |
Второе - это прога для просмотра содержимого ботовских файлов. Держитесь покрепче, упритесь вочто-нибудь, что не будет двигаться, если Вас начнёт колбасить... и так...Блокнот!!! Да-да, именно Блокнот и ему подобные простенькие проги нампомогут в нашем нелёгком труде. | |
| |
Третье - пиво (кофе) и рыба (конфеты, пончики, чипсы). | |
| |
Приступим. | |
| |
Сначала намнадо достать макет для наших будущих ботов. Для этого заходим в корневуюдиректорию Квейка, затем заходим в (обычно нужную только для добавления новых карт и моделей) директорию baseq3. После того как Вы зайдёте взаветный dir у Вас, возможно, разбегутся глаза от обилия файлов в оном, ведь вы уже давно выучили такую интересную команду как writeconfig, а сохранять свой конфиг под одним и тем же именем - неинтересно. И так, во всей этой куче мусора ищем файл pack0.pk3. Нашли? ОК, тогда открывайте его. Как? Дабл клик на него и в появившемся списке программ выбираем 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) | |
aifilebots/имя-файла-после-переименования_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) этих и других скриптов. [[http://q3mapping.on.ufanet.ru/prim/49/Q3ABotEdit.rar|Q3ABotEdit.rar(ENG)]]. | |
| |
| |
| |
| |
==== Статья о ботах и их настройках ==== | |
| |
Автор: radiator Дата: 03.04.2004 | |
| |
В Quake3:Arena - игре, заточенной под мультиплеер, боты - это единственные компьютерные соперники. | |
| |
Главный их создатель "Mr. Elusive" - это автор известных в свое время ботов по кличке "Gladiators" для Quake 2. Не скажу, что очень высоко оцениваю их умственные способности, например по сравнению с теми, которые сделал Стив Харди для Unreal Tournament, но как говорится, что дали, то и ешь. Или вроде того. | |
| |
Согласно сюжету самой игры - эти боты ни кто иные, как вытянутые Вадригарами (неизвестная раса, которая любит смотреть бои гладиаторов) создания из разных миров, времен и т.д. для участия в созданной Вадригарами Арене | |
| |
Воевать с ботами можно и в обычный "Deathmatch" и в "Teamplay" (команда на команду, кто кого больше убьет) и в "Capture the Flag" (две команды воруют друг у друга флаги). | |
| |
У каждого бота есть имя, скил (от 1 до 5 уровня сложности). На самом деле боты умственными способностями не блещут, а с повышением скила – увеличивается только меткость. Боту также можно задать ник, под которым он будет бегать; если его не задать, то бот будет бегать под основным именем. Кроме этого можно задать время задержки – через сколько миллисекунд бот войдет в игру. | |
| |
Прописывать бота нужно в консоли или выбрать в меню. Например: | |
| |
ADDBOT имя [ скилл: 1-5 ] [ команда: Red/Blue ] [ задержка: мс ] [ ник ] | |
| |
Вводить в игру можно хоть десяток ботов, правда интереснее от этого не будет. На дуэльных картах играют обычно с одним ботом, на других вполне достаточно трех-четырех ботов. | |
| |
Для настроек ботов в игре предназначен целый ряд переменных, чтобы посмотреть его можно в консоли набрать "bot" и нажать TAB, тогда вам выведут список на страницу, но большая часть из них для нас - бесполезна. Главные переменные или команды, которые могут пригодиться - это уже указанная ADDBOT, а также: | |
| |
**bot_rocketjump** - Разрешать ли ботам использовать Rocket Launcher для рокетджампов. "1" - разрешить, "0" - запретить. Имейте в виду, что рокетджампиться будут только те боты, у которых в списке характеристик включена "weapon jumps". | |
| |
**bot_usehook** - В CTF разрешает или запрещает ботам использоваться крюк. ("1" - разрешить, "0" - запретить). | |
| |
**bot_nochat** - Чтобы запретить ботам писать сообщения, включите "bot_nochat 1". | |
| |
**bot_fastchat** - Обычно в игре боты, которые "пишут" сообщение - останавливаются, превращаясь в легкие фраги. Если включить эту опцию ("bot_fastchat 1"), то боты будут выдавать фразы, не останавливаясь и не тратя на это лишнего времени. | |
| |
**bot_thinktime** - Переменная отвечает за мыслительную деятельность ботов. Иначе говоря, ее значение - это сколько дается времени на размышления боту. По умолчанию - 100. Можно сделать поменьше, тогда боты будут играть похуже. | |
| |
**bot_enable** - Глобальная переменная - разрешить ("1") или запретить ("0") ботов. | |
| |
**kick** [имя/ник] - Это команда для исключения указанного бота из игры. | |
| |
Но интеллект стандартных ботов недостаточен для тренировки скилла, поэтому можно использовать более продвинутых. Например [[http://www.defrag.ru/files_get.php?id=60|Spiterbot]] | |
| |
| |