Моды KF1: карты, скины, оружие и добавление пушек к торговцу
Это практический разбор ручной установки пользовательского контента в Killing Floor 1: карт, скинов персонажей и оружейных паков, а также того, что обычно пропускают, - как заставить модовое оружие появиться у торговца. Для торговца описаны два способа: мутатор WeaponsWorkShop (игра остается ванильной) и ServerPerks (Server Veterancy Handler v7). Если нужны только основы про расширения файлов, смотрите ручную установку карт; обзор типов мутаторов - в статье установка мутаторов.
Перед началом
Все устанавливается в корневую папку игры. Для обычной установки Steam путь выглядит так:
D:\SteamLibrary\steamapps\common\KillingFloor
Работать придется с папками Maps, System, Animations, Sounds, StaticMeshes и Textures. Моды берутся из Мастерской Steam или со сторонних сайтов в виде архивов.
Лимит 50 подписок в Steam Workshop
У Steam есть жесткое ограничение для Killing Floor: на практике устанавливаются и работают только первые 50 подписанных предметов. Неважно, что это (карты, музыка, оружие, персонажи) - 51-й и последующие просто не приходят.
Прямого обхода нет, но лимит можно растянуть. Многие авторы в Мастерской прикладывают прямую ссылку на скачивание в описании. Такие моды качайте и ставьте вручную, а подписывайтесь только на те, где ссылки нет. Так можно поставить гораздо больше 50 модов. Подробнее о Мастерской: гайд по Steam Workshop.
Server Veterancy Handler v7 (ServerPerks)
ServerPerks (Server Veterancy Handler) - обычная основа для своих скинов и оружия. Последняя версия - v7.50; обычная v7 отличается мало. Мод заменяет ванильный интерфейс и систему перков своими, благодаря чему можно подключать собственных персонажей и оружие.
Минус ровно в этом: меняется интерфейс и появляется своя логика перков. Если нужно только новое оружие в обычной игре, используйте WeaponsWorkShop (см. ниже).
Меню перков в игре с загруженным Server Veterancy Handler v7.
Ванильное меню Killing Floor для сравнения.
После подписки в Мастерской или ручной установки в System появится файл ServerPerks.ini. Именно в него позже добавляются скины и оружие. Серверная настройка этого мода описана в статье ServerPerks и меню статистики.
Ждущий сервер и ServerPerks 7. В теме «Server Perks 7» на форуме killingfloor.ru (2014) выяснилось, что на ждущем (listen) сервере с чистым SP7 у хоста не качается перк медика при лечении, а у подключившихся клиентов прокачка идёт; Flame воспроизвёл это на ждущем сервере, хотя в его первой проверке с ботами (не на ждущем сервере) медик качался нормально. Совет оттуда же: используйте выделенный сервер — многие неофициальные пушки сделаны под него и могут работать с ошибками на ждущем. Проверяя сервер, Flame сначала забыл выставить в ini MidGameSaveWaves=1.
Установка карт
Карты ставятся проще всего: дополнительные моды не нужны. Подпишитесь на карту в Мастерской, и она появится в игре.
Если не хочется тратить слот подписки, а карта есть только в Мастерской, воспользуйтесь сайтом-загрузчиком Steam Workshop: вставьте ссылку на карту и скачайте архив.
Сайт-загрузчик: вставьте ссылку на предмет и скачайте карту без подписки.
В архиве должен быть ровно один файл формата .rom.
В скачанном архиве один .rom-файл.
Перенесите его в папку Maps в корне игры (...\KillingFloor\Maps).
Файл карты кладется прямо в Maps.
Такие сайты надежно работают только с картами. Для оружия и скинов они скачивают не те файлы. Карты с других сайтов ставятся так же: .rom в Maps.
Установка скинов
Для своих персонажей нужен Server Veterancy Handler v7. Архивы скинов бывают нескольких видов.
Две папки, Animations и System. Откройте каждую папку архива и перенесите ее файлы в одноименную папку игры: Animations в Animations, System в System. Переносите файлы, а не сами папки: если в архиве папка называется animations и вы скопируете ее целиком, в корне игры могут оказаться и animations, и Animations, и скин не загрузится.
Вариант 1: папки Animations и System.
Только папка System. Перенесите ее содержимое в System.
Вариант 2: только System.
Отдельные файлы. Файлы .u и .ucl кладутся в System.
Вариант 3: отдельные файлы; .u и .ucl идут в System.
На странице мода есть строка вида CustomCharacters=SeriousSam. Скопируйте ее и добавьте в самый конец ServerPerks.ini. Каждый следующий скин - отдельной строкой в конце файла.
Строка CustomCharacters= добавляется в конец ServerPerks.ini.
Запустите игру, выберите режим, откройте вкладку Mutators и добавьте Server Veterancy Handler v7 и мутатор персонажа (в примере - Sam).
Включите Server Veterancy Handler v7 и нового персонажа во вкладке Mutators.
Запустите карту и выберите персонажа.
Новый персонаж доступен для выбора.
Некоторые скины идут со своей озвучкой, но большинство используют стандартные фразы. Если хотите делать свои скины, смотрите создание скинов игроков.
Установка оружия
Скачайте мод оружия и откройте архив. Обычно внутри несколько папок.
Типичный оружейный архив: по папке на каждый тип контента.
Переносите файлы по папкам, снова избегая дублей с разным регистром (System и system):
- Animations в Animations
- Sounds в Sounds
- StaticMeshes в StaticMeshes
- System в System
- Textures в Textures
Бывают архивы другого вида: одна основная папка, картинка и Readme.
Другой вариант: откройте основную папку и перенесите содержимое; Readme пригодится позже.
Откройте основную папку и перенесите ее содержимое так же. Картинка не нужна. Readme сохраните: в нем часто есть строка, нужная для торговца.
Запустите игру, выберите режим и откройте Mutators. Появятся новые строки. Например, с паком AK47 строка AK47LLI Shop Mutator добавляет оружие к торговцу, а AK47New Mutator выдает его в руки в начале матча.
Shop-мутатор добавляет оружие в магазин, второй выдает его при появлении.
Иногда пак добавляет только мутатор с названием оружия, без слова Shop. Тогда вы начинаете с этим оружием, но купить его нельзя.
Нет Shop-мутатора: оружие есть на старте, но торговец его не продает.
Дальше показано, как все равно добавить любое оружие к торговцу. Каталог популярных паков - в статье кастомное оружие.
Как найти строку для торговца (PickupClassName)
Обоим способам нужна одна строка из мода оружия. Авторы обычно пишут ее в описании или комментариях. Она выглядит как V94LLImut.V94LLIPickup (V-94) или Beretta96FSDT.Beretta96FSDTPickup (пистолет Beretta). Она всегда заканчивается на Pickup.
Если автор строку не указал и Readme нет, найдите ее сами. На примере Beretta 96: откройте архив, папку System и .ucl-файл оружия.
Файл .ucl внутри архива.
Если мод установлен из Мастерской, ищите его .ucl в папке System игры.
Тот же файл в System игры при установке из Мастерской.
Откройте его, найдите PickupClassName= и скопируйте значение после знака равенства.
Копируйте значение после PickupClassName=.
Способ 1: WeaponsWorkShop (ванильная игра, новое оружие у торговца)
WeaponsWorkShop - мутатор, который раскладывает модовое оружие по категориям перков в обычном магазине. Подпишитесь на него в Мастерской (предмет 147258902) и перезапустите игру. В левом столбце Mutators появятся три новые строки.
WeaponsWorkShop добавляет три строки в список доступных мутаторов.
Выделите WeaponsWorkShop WIP. Кнопка Configure Mutators справа внизу станет активной.
Выделите WeaponsWorkShop WIP, чтобы включить кнопку настройки.
Откройте настройки мутатора.
Поставьте галочку View Advanced Options, чтобы увидеть полный список оружия.
Встроенный список поддерживаемого модового оружия по перкам.
Любое установленное оружие из этого списка само появится у торговца. Добавлять собственный мутатор оружия не нужно. На примере V-94 вот что дают разные комбинации:
Только WeaponsWorkShop: V-94 у торговца, стандартный стартовый набор.
WeaponsWorkShop и обычный мутатор V-94: V-94 у торговца и в руках при появлении.
WeaponsWorkShop и Shop-мутатор V-94: у торговца два V-94.
Все три: дубль V-94 у торговца и V-94 при появлении.
Оружие, которого нет в списке
Если оружия нет в списке и у него нет Shop-мутатора, добавьте его вручную. Возьмите строку со страницы мода; для VERESK SR2 M там написано Code for ServerPerks: VereskSAMut.VereskSAPickup. Откройте Configure Mutators, прокрутите вниз, вставьте строку в пустое поле additional unsupported weapons и нажмите OK.
Дополнительные pickup-классы вставляются в «additional unsupported weapons».
Несколько видов оружия перечисляйте через запятую без пробелов:
PP19VityazSAMut.PP19VityazSAPickup,VereskSAMut.VereskSAPickup
В поле помещается примерно 1000 символов. Модовое оружие продается, только пока активен WeaponsWorkShop WIP. Плюс способа: большой список уже встроен, а больше мутатор в игре ничего не меняет.
Способ 2: TraderInventory в ServerPerks
С ServerPerks оружие добавляется прямо в его конфиг. Скопируйте pickup-строку, например Beretta96FSDT.Beretta96FSDTPickup, и откройте:
D:\SteamLibrary\steamapps\common\KillingFloor\System\ServerPerks.ini
Найдите строки, начинающиеся с TraderInventory.
Записи TraderInventory определяют ассортимент торговца.
Ниже в файле есть комментарии с расшифровкой номеров категорий. Они неверные. Строки WeaponCategories не трогайте, пользуйтесь этой таблицей:
Комментарии в ServerPerks.ini не совпадают с реальными номерами.
| Номер | Категория | Примеры |
|---|---|---|
| 0 | Melee | Катана, топор |
| 1 | Pistol | Пистолеты |
| 2 | Shotgun | Дробовики |
| 3 | Sniper | Winchester, M99, M14 |
| 4 | Machine Gun | Пулеметы, Thompson |
| 5 | Medic Gun | Оружие медика, легкие ПП |
| 6 | Explosive | Взрывчатка, гранатометы |
| 7 | Flame Thrower | Любое огненное оружие |
| 8 | Misc | Остальное |
Добавьте новую строку после последней записи TraderInventory в формате:
TraderInventory=[номер категории]:[pickup-строка]
Для пистолета Beretta:
TraderInventory=1:Beretta96FSDT.Beretta96FSDTPickup
Новая строка идет после существующих записей TraderInventory.
В игре включите во вкладке Mutators только Server Veterancy Handler v7.
Для этого способа нужен только ServerPerks.
Начните матч и зайдите к торговцу: Beretta 96 SF есть в разделе пистолетов.
Модовая Beretta 96 SF продается в категории пистолетов.
Добавленное так оружие продается, только пока активен Server Veterancy Handler v7.
Свои категории, например по перкам. Из темы «сортировка оружия по классам в KFCustomShopMutV2» (форум killingfloor.ru): число перед двоеточием в TraderInventory - это порядковый номер (с нуля) строки WeaponCategories в ServerPerks.ini. В версии ServerPerks из темы по умолчанию было 7 категорий (Melee - индекс 0, ..., Flame Thrower - индекс 6), поэтому TraderInventory=0:KFMod.ScythePickup относит косу к Melee, а TraderInventory=6:KFMod.FlameThrowerPickup - огнемёт к Flame Thrower. Flame распределил оружие по перкам, просто заменив список категорий:
WeaponCategories=SupportSpec
WeaponCategories=Berserker
WeaponCategories=Commando
WeaponCategories=FieldMedic
WeaponCategories=FireBug
WeaponCategories=Sharpshooter
WeaponCategories=Demolitions
После этого те же строки выглядят так: TraderInventory=1:KFMod.ScythePickup и TraderInventory=4:KFMod.FlameThrowerPickup. Там же: исходники классов перков ServerPerks (SRVetBerserker.uc, SRVetCommando.uc и т.д.) лежат в ServerPerksP.u (начиная с ServerPerks v5 файлы идут отдельно, совет warpel); чтобы убрать скидки, Flame предложил в каждом классе SRVet* сделать GetCostScaling всегда возвращающей 1.0.
Оружие из DLC для всех игроков. Из темы «DLC» (форум killingfloor.ru): чтобы платное оружие из дополнений могли покупать у торговца все игроки, его достаточно прописать в ServerPerks.ini теми же строками TraderInventory, ничего из пакетов не выдирая, например TraderInventory=4:KFMod.SCARMK17Pickup или TraderInventory=2:KFMod.GoldenAA12Pickup. Так работает с ServerPerks версии 6.50 и ниже; по словам SeRGakaMOON, для более новых версий нужен мутатор CleanAppIDMut (Flame).
Почему DLC-оружие не продаётся без покупки DLC. Из темы «DLC1040» (форум killingfloor.ru): Flame выяснил, что у оружия из DLC патча 1040 в defaultproperties прописана строка AppID=210934; это защита, из-за которой оружие нельзя купить у торговца, если DLC не куплено. Он собрал пакет без этой строки. Подключение:
ServerPackages=DLC1040Weapons
в KillingFloor.ini и такие строки в ServerPerks.ini:
DLC1040Weapons.ScythePickup
DLC1040Weapons.CrossbuzzsawPickup
DLC1040Weapons.DualFlareRevolverPickup
DLC1040Weapons.FlareRevolverPickup
DLC1040Weapons.ThompsonPickup
Для тех, кто не ставил патч 1040, Flame отдельно вырезал косу (DLC1040Scythe.ScythePickup) и арбалет с пилами (DLC1040Crossbow.CrossbuzzsawPickup).
Какой способ выбрать
| WeaponsWorkShop | ServerPerks | |
|---|---|---|
| Меняет интерфейс игры | Нет | Да |
| Встроенный список оружия | Большой | Нет, каждую строку вручную |
| Как добавить оружие | Окно настроек в игре | TraderInventory в ServerPerks.ini |
| Свои скины персонажей | Нет | Да |
| Должен быть включен | WeaponsWorkShop WIP | Server Veterancy Handler v7 |
Вопросы и ответы
- Почему часть модов из Мастерской Steam для Killing Floor не устанавливается?
- На практике Steam устанавливает только первые 50 подписанных предметов для игры. Все, что сверх лимита, просто не приходит. Скачивайте лишние моды вручную по ссылкам из описаний вместо подписки.
- Где взять строку, чтобы добавить модовое оружие к торговцу?
- Откройте .ucl-файл оружия из папки System в текстовом редакторе и скопируйте значение после PickupClassName=. Оно всегда заканчивается на Pickup, например Beretta96FSDT.Beretta96FSDTPickup.
- Какие номера категорий использует TraderInventory в ServerPerks?
- 0 Melee, 1 Pistol, 2 Shotgun, 3 Sniper, 4 Machine Gun, 5 Medic Gun, 6 Explosive, 7 Flame Thrower, 8 Misc. Комментарии внутри ServerPerks.ini указывают их неверно.
- Нужен ли ServerPerks, чтобы играть со своими скинами?
- Да. Пользовательские персонажи регистрируются строкой CustomCharacters= в ServerPerks.ini и требуют активного мутатора Server Veterancy Handler v7.