Различия

Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.

Ссылка на это сравнение

q3:управление_ботами [13.01.2010 08:30]
GT-Agressor
q3:управление_ботами [25.12.2012 23:56] (текущий)
Строка 1: Строка 1:
 +==== Создание путей для ботов ====
 +
 +**незаконченный раздел, под рукой нет программ :(**
 +
 +Для того, чтобы на вашей 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]] 
 +
  
 
За исключением случаев, когда указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki