Left 4 Dead 2

Left 4 Dead 2

31 beoordelingen
Как редактировать вокализатор и добавить особые фразы
Door Lancer
Вы пользуетесь вокализатором, в котором вроде бы и много фраз, но все они какие-то скучные и вы хотели бы добавить свою? Тогда вы по адресу: в этом руководстве я постараюсь максимально доступно описать процесс редактирования УЖЕ СУЩЕСТВУЮЩЕГО вокализатора и добавления уникальных фраз (на примере той, что на картинке сего руководства). ВАЖНО: работать будет только на ЛОКАЛЬНОМ и ВЫДЕЛЕННОМ серверах, где установлен данный вокализатор. На официальных серверах Valve модифицированные фразы НЕ РАБОТАЮТ. Так что кого это устраивает - продолжайте чтение
   
Prijs
Toevoegen aan favorieten
Toegevoegd aan favorieten
Verwijderen uit favorieten
Почему не работает на официальных серверах?
Для начала стоит разобраться, как вообще устроен вокализатор. Вокализатор позволяет проиграть фразу, которая описана в файле под названием "talker" (токер). Токер это набор правил (rule) и ответов (response) на каждую отдельную фразу. Для каких-то фраз правила простые, например: для того чтобы сказать "спасибо", нужно всего лишь не находится в дыму курильщика и не кашлять. А для некоторых фраз существуют особые правила. Пример: вы играете за Эллиса, кампания Переход, 2 глава, прыжок в канализацию. На этом моменте Эллис крикнет "ДЖЕРОНИМОООООО". Так вот для этой фразы помимо условия "не быть в дыму курильщика" есть еще условие "должен быть пересечен триггер", который как раз находится только на этом моменте с прыжком в канализацию и больше нигде в игре. Потому такие фразы считаются Особыми (Limited) и могут быть использованы, только если модифицировать токер и играть с ним на локальном или выделенном сервере.
Создание вокализатора с нуля
Редактировать будем уже готовый вокализатор. Создание своего с нуля - процесс трудоемкий, да и незачем это, когда можно взять готовенький и переделать его на свой лад. Советую прочесть эти руководства, они дают хорошую базу, чтобы понимать устройство вокализатора лучше:

https://steamproxy.net/sharedfiles/filedetails/?id=2046926481
https://steamproxy.net/sharedfiles/filedetails/?id=1224992309
С чего начинать
Работать будет со всеми вокализаторами, но я покажу на примере вот этого:

https://steamproxy.net/sharedfiles/filedetails/?id=2286320106
Подписываемся на него. Заходим в игру, чтобы загрузился. Выходим.

Если вы уже пользуетесь вокализатором, то сделайте его резервную копию, на случай если где-то зафакапитесь и поменяете что-то, что не следовало.

Итак, помимо вокализатора нам понадобится:
1) Программа GCFScape, можете найти в гугле или скачать по ссылке: https://nemstools.github.io/pages/GCFScape-Download.html
2) Два пакетика Инструмент Left 4 Dead 2 Authoring Tools: идем в библиотеку игр, вверху слева жмем на "Игры" и ставим галку напротив "Инструменты". Далее ищем в списке Left 4 Dead 2 Authoring Tools и устанавливаем его. Запустите утилиту и можете сразу закрывать.

Извлечение
Идем по этому пути:
ДИСК:\Steam\steamapps\common\Left 4 Dead 2\left4dead2\addons\workshop

Цифры картинки и vpk-файла всегда совпадают, потому по ней и находим вокализатор. Жмем правой кнопкой -> Открыть с помощью GCFScape.

Извлекаем содержимое: папку root перетаскиваем мышью, куда удобно будет, на рабочий стол, к примеру.


Не забудьте отписаться от вокализатора в мастерской, так как вторая копия нам не нужна.
Редактирование
Открываем папку root и за ней сразу же папку scripts. В ней находится папка talker, файл kb_act.lst и текстовик radialmenu.txt.

Можете открыть файл radialmenu.txt и ознакомиться с его содержимым - именно тут находятся радиальные колеса, которые в игре вызываются кнопками. Сейчас нам необходимо разобраться, куда мы будем вставлять нужные нам фразы, так как все радиальные колеса заняты подчистую. Есть 2 варианта:

1) Почистить уже существующие радиальные колеса от фраз
2) Создать дополнительные радиальные меню

Про оба варианта подробнее. Если вы пользуетесь абсолютно всеми радиальными меню, то для вас вариант только один - делать дополнительные меню. Если же вы считаете, что какие-то фразы вам не нужны, то смело можете чистить уже существующие радиалки.

Чистим существующие радиальные меню

На примере радиального меню "NPC" - вот так оно выглядит "стоковым":



А вот так "чистым":



По этому же принципу чистим и другие радиалки, если считаете необходимым.

Создаем дополнительные меню

В папке scripts открываем файл kb_act.lst с помощью любого текстового редактора и проматываем в самый низ. Нам нужно добавить следующую строчку:

"+mouse_menu Misc7" "Прочее 7"



Вместо Misc7 можем писать любое другое название, главное латиницей, без пробелов и чтоб имя было единственным в файле (более одного Misc7 быть не может). "Прочее 7" можем переименовать во что угодно.

Теперь идем в файл radialmenu.txt, копируем любую радиалку и заменяем ее название на то, что вы дали в файле kb_act.lst. В моем примере это Misc7, потому радиальное колесо будет выглядеть вот так:

Добавление фраз
Самое интересное. Как же вписать свою фразу? В самом начале руководства я писал, что для примера запишу в токер фразу "Так, але, я не понял, это че?" Это фраза Тренера, а потому для ее использования целесообразно освободить место в меню отдельных персонажей (character-specific), но также можно и в общих.

Нас интересует содержимое папки talker, а именно файлы imt_coach.txt (Тренер), imt_gambler.txt (Ник), imt_mechanic.txt (Эллис), imt_producer.txt (Ро), imt_teengirl.txt (Зой), imt_namvet.txt (Билл), imt_biker.txt (Фрэн), imt_manager.txt (Луис), imt_criteria.txt (Условия). Остальные текстовики не трогаем.


Шаг 1: imt_coach.txt

Открываем imt_coach.txt, так как этот файл отвечает за набор фраз Тренера, для удобства листаем сразу в самый низ.
Чтобы долго вас не томить - вот так будет выглядеть код для вышеописанной фразы:



Разберем его. Response это ответ - фраза, которая проигрывается. Rule - правило, которое определяет условия, при которых фраза проиграется. Название ответа и правила должны быть идентичными.

Название состоит из трех частей - iMT_TakAleCoach

1) iMT - понятия не имею, что это, но оно точно отвечает за то, что фраза особая. Если эту приставку убрать, то ничего не получится.
2) TakAle - собственно название голосовой команды. Должно быть уникальным в файле и не повторяться. Можете выбрать любое на свой выбор
3) Coach - играбельный персонаж, чьими устами фраза будет произнесена. Если бы это был Эллис, то вместо Coach был бы Mechanic и так по аналогии с другими персонажами.

-------- scene "scenes/Coach/friendlyfire02.vcd" - это непосредственный путь к звуковой дорожке.

Прослушать все дорожки вы можете по этому пути:

для персонажей 2 части - ДИСК:\Steam\steamapps\common\Left 4 Dead 2\left4dead2\sound\player\survivor\voice

для персонажей 1 части - ДИСК:\Steam\steamapps\common\Left 4 Dead 2\left4dead2_dlc2\sound\player\survivor\voice

фразы из кампании "Переход" - ДИСК:\Steam\steamapps\common\Left 4 Dead 2\left4dead2_dlc1\sound\player\survivor\voice

ВАЖНО: scene "scenes/Coach/friendlyfire02.vcd" - здесь менять можно только Coach и friendlyfire02. Все, что до Coach и после точки НЕ ТРОГАЕМ (то есть "scenes/ и .vcd" остаются всегда). Если нам нужен Эллис, то пишем вместо Coach Mechanic. Билл - NamVet, Зой - TeenGirl, Луис - Manager, Фрэн - Biker, Ро - Producer, Ник - Gambler.

-------- criteria iMT_TakAle IsCoach - здесь уже команда iMT_TakAleCoach без Coach в конце.
isCoach это правило - оно здесь единственное. Чтобы фраза произнеслась, вы должны играть за Тренера. Опять же, для других персонажей Coach меняем на их позывные, написал выше. Слово "criteria" не трогаем.

-------- Response iMT_TakAleCoach - также, как и с "criteria", слово "response" не трогаем. После "response" идет точь в точь название команды.

Здесь закончили. Сохраняем изменения и идем дальше.

Шаг 2: imt_criteria.txt

Открываем файл imt_criteria.txt и листаем, пока не увидим //Coach
Вообще можно в любом месте прописать код, но для удобства сделаем это именно там, где и остальные фразы Тренера. Пишем следующее:

Criterion "iMT_TakAle" "Concept" "iMT_TakAle" required



Если будете добавлять другие фразы, то просто копируете эту строчку. Меняться будет только часть в кавычках после iMT_
Главное, чтобы значения в кавычках после Criterion и Concept были одинаковыми.

Сохраняем и едем дальше.

Шаг 3: radialmenu.txt

Из папки talker выходим и открываем radialmenu.txt. Тут нам понадобится наше подчищенное радиальное меню. Возле command прописываем в кавычках "vocalize iMT_TakAle"
Возле text также в кавычках пишем название фразы. Желательно в двух словах, чтоб оно не накладывалось на другие фразы, например "Так, алё". В моем радиальном меню будет выглядеть так:



По названию направлений, думаю, сами разберетесь. Center - центральная секция, остальные - направления компаса.

Сохраняем изменения и закрываем все файлы. Теперь нам необходимо папку конвертировать обратно в vpk. Для этого идем по следующему пути: ДИСК:\Steam\steamapps\common\Left 4 Dead 2\bin

Находим в самом низу файл vpk.exe. Папку root мышью перетаскиваем на этот файл vpk.exe и в той же директории, где у вас лежит папка root, появится root.vpk. Если была на рабочем столе, то там и появится. Переименовываем root.vpk в любое другое название, например vocalizer.vpk и закидываем его по следующему пути: ДИСК:\Steam\steamapps\common\Left 4 Dead 2\left4dead2\addons

Ну и все. В игре создаем локальный сервер и за Тренера теперь можем воспроизвести заветную фразу. Если вы создавали радиальное колесо, то в настройках управления не забудьте присвоить клавишу.

Краткий итог, чтобы добавить фразу:

1) Пишем Rule и Response в файл, отвечающий за конкретного персонажа - для Тренера imt_coach.txt, Эллис - imt.mechanic.txt и т.д.
2) Пишем строчку Criterion "iMT_НАЗВАНИЕ" "Concept" "iMT_НАЗВАНИЕ" required в файл imt_criteria.txt.
3) Пишем в radialmenu.txt vocalize iMT_НАЗВАНИЕ и ниже название команды.
4) Сохраняем изменения, конвертируем папку в vpk и закидываем в addons.
Другие примеры
Чтобы было понятнее, приведу пару примеров других фраз.
1) Персонаж Эллис, фраза "ДЖЕРОНИМОООО":

-------- imt_mechanic.txt:

Response iMT_CannonballMechanic
{
scene "scenes/Mechanic/dlc1_c6m2_phase2jumpinwater06.vcd"
}
Rule iMT_CannonballMechanic
{
criteria iMT_Cannonball IsMechanic
Response iMT_CannonballMechanic
}

-------- imt_criteria.txt:
Criterion "iMT_Cannonball" "Concept" "iMT_Cannonball" required

-------- radialmenu.txt:
В пустую секцию напротив "command" пишем "vocalize iMT_Cannonball" и напротив "text" свое название "Джеронимо"

2) Персонаж Ник, фраза "Мы - 4 всадника апокалипсиса":

-------- imt_gambler.txt:

Response iMT_FourRidersGambler
{
scene "scenes/Gambler/Hurrah10.vcd"
}
Rule iMT_FourRidersGambler
{
criteria iMT_FourRiders IsGambler
Response iMT_FourRidersGambler
}

-------- imt_criteria.txt
Criterion "iMT_FourRiders" "Concept" "iMT_FourRiders" required

-------- radialmenu.txt:
В пустую секцию напротив "command" пишем "vocalize iMT_FourRiders" и напротив "text" свое название "4 всадника"
Внимание
Спасибо за внимание
1 opmerkingen
Meag 22 jun 2023 om 10:49 
ого