Персонализация
Настройка чата
Заголовок раздела «Настройка чата»Вы можете создать новую базу чата для вашего языка или изменить существующую. Файлы чата находятся в папке addons/yapb/conf/lang и называются **_chat.cfg, где ** — это код языка (например, en_chat.cfg). Загружается файл для языка, установленного в yb_language.
Боты могут писать сообщения в чат в зависимости от ситуации: закладка бомбы, убийство врага, атака тиммейтов и т.д.
Файл имеет единственный корневой блок Chat. Внутри него каждая секция чата — это блок с ключевым словом raw: его строки берутся дословно, по одному сообщению на строку. Порядок сообщений рандомизируется самим ботом.
Chat { raw Killed { %v, you're no match for me! Sorry, %v. You got in my way. That'll teach you, %v! }}Плейсхолдеры
Заголовок раздела «Плейсхолдеры»| Плейсхолдер | Описание |
|---|---|
%v |
Вставляет ник последнего игрока, убитого ботом |
%f |
Вставляет ник игрока с наибольшим количеством фрагов |
%t |
Вставляет ник случайного живого тиммейта |
%e |
Вставляет ник случайного живого врага |
%s |
Вставляет ник игрока, которому бот отвечает (или игрока с наибольшим количеством фрагов) |
%m |
Вставляет имя текущей карты |
%d |
Вставляет название игры (Counter-Strike/CS или Condition Zero/CZ) |
%r |
Вставляет оставшееся время раунда в формате мм:сс |
%g |
Вставляет автора текущего файла графа |
В одном сообщении подставляется не более шести плейсхолдеров. Неизвестные маркеры остаются как есть.
Секции чата
Заголовок раздела «Секции чата»| Секция | Описание |
|---|---|
BombPlant |
Сообщения, которые боты пишут после закладки бомбы |
Killed |
Сообщения, которые боты пишут после убийства врага. Используйте плейсхолдер %v, чтобы вставить ник убитого врага |
DeadChat |
Сообщения, которые боты пишут, когда они мертвы или находятся в режиме наблюдателя |
Welcome |
Сообщения, которые боты пишут при подключении к серверу |
TeamAttack |
Сообщения, которые боты пишут, когда по ним стреляет тиммейт |
TeamKill |
Сообщения, которые боты пишут, когда убили тиммейта |
Unknown |
Запасные ответы, используемые, когда ни одно ключевое слово не совпало с текстом чата (см. Replies ниже) |
Пример — когда бот убивает врага с ником “John Smith”, он может написать “You’re dead John Smith!”, используя строку You're dead %v! из секции Killed.
Ответы (Replies)
Заголовок раздела «Ответы (Replies)»Блок Replies задаёт сообщения, которые боты пишут в ответ на чат игрока, если в нём содержится известное ключевое слово. Каждая группа ответов — это блок (имя произвольное) с одной или несколькими записями key = "..." и анонимным блоком raw, в котором перечислены ответы.
Chat { Replies { AIMBOT { key = "AIMBOT" key = "WALLHACK"
raw { %s, are you cheating? Aimbots are cool, shut up %s! I saw %f peeking through walls. Coincidence? I think not. } }
AGAIN { key = " AGAIN "
raw { %s, things are always repeating - aren't they? Here we go again. Deja vu. } } }}Вот как это будет выглядеть в игре:
John Smith: Bla bla bla aimbotRicardo Milos: John Smith, are you cheating?
Keanu Reeves: Bla bla bla again bla bla...Tommy Vercetti: Here we go again. Deja vu.Боты могут использовать эти ответы в случайном порядке. Ключевые слова сопоставляются с текстом чата без учёта регистра; заключите ключ в пробелы (например, " AGAIN "), чтобы он совпадал как целое слово.
Настройка голосового чата
Заголовок раздела «Настройка голосового чата»YaPB поддерживает голосовой чат так же, как ZBot. Все пути к аудиофайлам голосового чата YaPB находятся в файле: chatter.cfg, который расположен в папке addons/yapb/conf.
Файл имеет единственный корневой блок Chatter. Каждое событие внутри него — это блок с именем события голосового чата, содержащий имена звуковых файлов (без префикса sound/ и расширения), по одному на строку. Также принимается скалярное значение через запятую:
Chatter { RewritePath = sound/radio/bot
CoverMe { cover_me cover_me2 }
EnemyDown = enemy_down, enemy_down2}RewritePath задаёт папку, в которой расположены аудиофайлы голосового чата. По умолчанию это sound/radio/bot. Он может находиться внутри или снаружи блока Chatter.
Отсутствующие звуковые файлы сообщаются в консоль. Если отсутствует более десяти файлов, голосовой чат отключается, и боты откатываются на стандартное радио (yb_radio_mode сбрасывается в 1).
События голосового чата
Заголовок раздела «События голосового чата»| Событие | Описание |
|---|---|
CoverMe |
Радиокоманда “Прикрой меня!” |
YouTakePoint |
Радиокоманда “Займи точку.” |
HoldPosition |
Радиокоманда “Держать эту позицию.” |
RegroupTeam |
Радиокоманда “Собрать команду.” |
FollowMe |
Радиокоманда “Следуй за мной.” |
TakingFire |
Радиокоманда “Принимаю огонь… Нужна помощь!” |
GoGoGo |
Радиокоманда “Пошли, пошли, пошли!” |
Fallback |
Радиокоманда “Команда, отступаем!” |
StickTogether |
Радиокоманда “Держимся вместе, команда.” |
GetInPosition |
Радиокоманда “Занять позицию и ждать моей команды.” |
StormTheFront |
Радиокоманда “Штурмуем фронт!” |
ReportTeam |
Радиокоманда “Доложить, команда.” |
Affirmative |
Радиокоманда “Так точно./Принято.” |
EnemySpotted |
Радиокоманда “Враг замечен.” |
NeedBackup |
Радиокоманда “Нужно подкрепление.” |
SectorClear |
Радиокоманда “Сектор чист.” |
InPosition |
Радиокоманда “Я на позиции.” |
ReportingIn |
Радиокоманда “Докладываю.” |
ShesGonnaBlow |
Радиокоманда “Уходи оттуда, сейчас рванёт!” |
Negative |
Радиокоманда “Негативно.” |
EnemyDown |
Радиокоманда “Враг уничтожен.” |
DiePain |
Звуки смерти бота |
GoingToPlantBomb |
Бот говорит, что собирается заложить бомбу |
GoingToGuardVIPSafety |
Бот говорит, что собирается охранять зону эвакуации VIP |
RescuingHostages |
Бот говорит, что спасает заложников |
TeamKill |
Реакция бота на убийство тиммейта |
GuardingEscapeZone |
Бот говорит, что охраняет зону побега террористов |
GuardingVipSafety |
Бот говорит, что охраняет зону эвакуации VIP |
PlantingC4 |
Бот говорит, что закладывает бомбу |
InCombat |
Бот говорит, что прямо сейчас сражается с врагом |
SeeksEnemy |
Бот говорит, что ждёт врага |
Nothing |
Бот говорит, что в этом секторе никого нет |
UseHostage |
Бот говорит, что взял заложника |
WonTheRound |
Реакция бота на победу |
QuicklyWonTheRound |
Реакция бота на быструю победу |
NoEnemiesLeft |
Бот говорит, что оставшихся врагов больше нет |
FoundBombPlace |
Бот говорит, что нашёл место с заложенной бомбой |
WhereIsTheBomb |
Бот спрашивает, где бомба |
DefendingBombSite |
Бот говорит, что защищает точку закладки бомбы |
BarelyDefused |
Реакция бота на едва успевшее разминирование |
NiceShotCommander |
Реакция бота на хороший выстрел игрока |
SpotTheBomber |
Бот говорит, что заметил носителя бомбы |
VIPSpotted |
Бот говорит, что заметил VIP |
FriendlyFire |
Реакция бота, когда по нему стреляет тиммейт |
GotBlinded |
Реакция бота на светошумовую гранату |
GuardingPlantedC4 |
Бот говорит, что охраняет заложенный C4 |
DefusingC4 |
Бот говорит, что разминирует C4 |
FoundC4 |
Бот говорит, что нашёл брошенный C4 |
ScaredEmotion |
Реакция бота, когда он встретил несколько врагов, а тиммейтов рядом нет |
HeardEnemy |
Бот говорит, что слышал врага |
SpottedOneEnemy |
Бот говорит, что заметил одного врага |
SpottedTwoEnemies |
Бот говорит, что заметил двух врагов |
SpottedThreeEnemies |
Бот говорит, что заметил трёх врагов |
TooManyEnemies |
Бот говорит, что заметил много врагов (четыре и более) |
SniperWarning |
Бот предупреждает о снайпере |
SniperKilled |
Бот сообщает, что убил снайпера |
OneEnemyLeft |
Бот говорит, что остался только один враг |
TwoEnemiesLeft |
Бот говорит, что осталось два врага |
ThreeEnemiesLeft |
Бот говорит, что осталось три врага |
NiceShotPall |
Реакция бота на хороший выстрел другого бота |
GoingToGuardHostages |
Бот говорит, что собирается охранять заложников |
GoingToGuardDroppedBomb |
Бот говорит, что собирается охранять брошенную бомбу |
OnMyWay |
Бот говорит, что скоро будет |
LeadOnSir |
Бот говорит игроку, что последует за ним |
PinnedDown |
Бот просит помощи у тиммейтов, когда они рядом |
GottaFindTheBomb |
Бот говорит, что собирается найти бомбу |
YouHeardTheMan |
Бот отвечает на фразы из NewRound (сейчас не используется) |
LostCommander |
Бот говорит, что командир (игрок) был убит (сейчас не используется) |
NewRound |
Бот говорит о начале раунда (сейчас не используется) |
BehindSmoke |
Бот говорит, что находится за дымом (сейчас не используется) |
BombSiteSecured |
Бот говорит, что закрепился на точке закладки бомбы |
GoingToCamp |
Бот говорит, что собирается кемперить (охранять область) |
Camp |
Бот говорит, что кемперит |
OnARoll |
Бот хвастается убийством большого количества врагов за короткое время |
Пример chatter.cfg
Заголовок раздела «Пример chatter.cfg»Chatter { RewritePath = sound/radio/bot
CoverMe { cover_me cover_me2 }
TakingFire { taking_fire_need_assistance2 i_could_use_some_help i_could_use_some_help_over_here help need_help need_help2 im_in_trouble }
Affirmative = affirmative, roger_that, me_too, ill_come_with_you, ill_go_with_you, ill_go_too, i_got_your_back, i_got_your_back2, im_with_you, sounds_like_a_plan, good_idea
SectorClear { clear clear2 clear3 area_clear all_clear_here nothing_moving_over_here all_quiet nothing }
PlantingC4 = planting_the_bomb, planting
DefusingC4 { defusing defusing_bomb defusing_bomb_now }}