Представляю вашему вниманию мутатор, которого многие ждали, который является усовершенствованным аналогом встроенной в игру песочницы. Этот мутатор позволяет настраивать состав, количество и параметры монстров, выходящих по ходу игрового процесса.
Код для запуска мутатора в .bat файле или в MutLoader: MonsterConfig.MonsterConfig
Настройка мутатора:
Настройка мутатора настолько же сложна, насколько он гибок и насколько широки его возможности. Вкратце - вы можете настроить количество волн, сами волны, отряды монстров, многие параметры процесса появляения мобов и их характеристик, можно добавлять спец. сквады, которые были придуманы в классической системе появления мобов. Так же можно включить новую систему распределения денег.
Более подробно о настройке. Заполнение .ini файла состоит в основном из создания объектов, на которых и построена система новой песочницы. Объект добавляется в .ini файл следующим образом:
[Имя_Объекта Тип_Объекта]
После этой строчки вы добавляете параметры объекта. Имена объектов придумываются пользователем и не должны совпадать. Существует несколько типов объектов - MCMonsterInfo (Тип моба), MCSquadInfo (Отряд мобов), MCWaveInfo (Волна), MCMapInfo (Индивидуальные настройки для определённой карты).
Сам ход игрового процесса состоит из волн, волны состоят из набора отрядов, а отряды состоят из мобов. Заполнять конфигурацию будем соотвествующе.
Примечание - все значения параметров пишутся сразу же после = , никаких пробелов!! Иначе конфиг не будет прочитан.
Начнём с мобов:
[Имя_Монстра MCMonsterInfo]
MonsterClass - класс монстра.
Пример:
MonsterClass=class'KFChar.ZombieClot'
Как вы видите нужно эту строчку заполнять в форме class'Имя_Пакета.Имя_Класса'. Пакет это .u файл, содержащий класс монстра. Классы монстров обычно указываются в описании мутатора, если это нестандартный моб, у стандартных мобов коды указаны в .ini файле-примере.
MonsterName - имя монстра, которое вы даёте самостоятельно. Это имя будет отображаться при убийстве моба.
Пример:
MonsterName=Clot
Health - здоровье моба.
HeadHealth - здоровье головы моба.
HealthMax - предел роста хп моба.
HeadHealthMax - предел роста хп головы моба.
Speed - скорость передвижения моба. Если скорость не указана, то берётся его стандартная скорость.
SpeedMod - модификатор скорости передвижения моба. Работает только в случае, если параметр Speed не задан.
Пример:
SpeedMod=1.15
При таком параметре, скорость моба увеличится на 15% от стандартной.
RewardScore - деньги, выдаваемые за убийство моба. Если параметр не указан, берётся стандартное значение моба.
RewardScoreCoeff - множитель выдаваемых за убийство моба денег. На это число умножаются выдаваемые за монстра деньги.
PerPlayer - дополнительный параметр, отвечающий за значения, добавляющиеся за каждого живого игрока на сервере.
Пример:
PerPlayer=(Health=20,HeadHealth=10)
Health - здоровье за одного игрока, HeadHealth - здоровье головы за одного игрока
Resist - настройки резиста моба к типам урона. Резистов можно добавлять неограниченное количество.
DamType - к какому типу урона будет резист, Coeff - число, на которое умножается дамаг, bNotCheckChild - если равно true, то резист не будет работать против классов, наследующих данный класс
MonsterName - имя монстра, выбираемое из созданных вами объектов-монстров; Num - количество монстров
Дальнейшие параметры работают только для специальных сквадов. Специальный сквад, это отряд, который спавнится не рандомно, в принудительном порядке, через определённое пройденное количество заспавненных мобов.
Freq - количество мобов, после спавна которых выходит спец сквад
FreqRand - случайное число, добавляемое к Freq при респе спец сквада
InitialCounter - число счётчика количества заспавненных мобов в начале волны. Если есть желание чтобы спец сквад появился ближе к началу, или в самом начале волны, ставьте значения в зависимости от Freq и FreqRand. Чтобы спец сквад появлялся гарантированно в начале волны, ставьте этот параметр больше или равным Freq + FreqRand
Теперь перейдём к волнам:
[Имя_Волны MCWaveInfo]
Squad - отряды мобов из созданных вами MCSquadInfo объектов.
Это часть общих настроек, все остальные вынесены в специальный объект, имя которого нельзя трогать:
[GameInfo MCGameInfo]
FakedPlayersNum - количество фальшивых игроков, приплюсовываемых к действительному количеству. Количество игроков влияет на PerPlayer параметры.
bWaveFundSystem - если равно true, используется новая система распределения денег. В этой системе деньги начисляются не по факту нанесённых повреждений/лечения, а в конце волны.
HealedToScoreCoeff - коэффициент перевода лечения в очки. Работает при новой денежной системе.
MoneyMod - число, на которое умножается количество выдаваемых денег. Работает при новой денежной системе.
GameDifficulty - уровень классической сложности. Нужен для мобов которые респавнятся на картах наподобие Stalker Prometeus.
MonstersMaxAtOnceMod - число, на которое умножается максимальное количество мобов находящихся на карте
MonstersTotalMod - множитель количества монстров за волну
MonsterBodyHPMod - множитель здоровья мобов
MonsterHeadHPMod - множитель здоровья головы мобов
MonsterSpeedMod - множитель скорости передвижения мобов
BroadcastKillmessagesMass - масса моба, необходимая для общего сообщения об убийстве мутатора MCKillsMessage
BroadcastKillmessagesHealth - здоровье моба, необходимая для общего сообщения об убийстве мутатора MCKillsMessage
Кроме параметров, указанных выше, есть параметры зависящие от конкретной карты. Параметры, задаваемые для всех карт, кроме тех которые указаны отдельно, задаются в секции [default MCMapInfo]
Параметры зависящие от карты:
[Точное_Название_Карты MCMapInfo]
Waves - здесь добавляются волны с параметров bMapSpecific=true. Эти волны будут добавлены именно на эту карту, при этом не появившись на других.
Пример:
Waves=WaveSpec01
Waves=WaveSpec03
bUseZombieVolumeWaveDisabling - если равно true, используем настройки мапперов по блокировке определённых спавнов мобов в зависимости от текущей волны, если же равно false, эти настройки игнорируются.
MonstersTotalCoeff - множитель количества мобов за волну
MonstersMaxAtOnceCoeff - множитель количества мобов, одновременно находящихся на карте
TimeBetweenWaves - время на перерыв между волнами, в секундах
MonsterBodyHPMod,MonsterHeadHPMod,MonsterSpeedMod,MonsterDamageMod - аналогичны параметрам с такими же названиями в MCGameInfo, и перемножаются с ними
SquadDelayMod - множитель времени между появлением отрядов мобов
PerPlayerSquadDelayMod,PerPlayerSquadDelayModMin,PerPlayerSquadDelayModMax - аналогичны параметрам с такими же названиями в MCWaveInfo, и перемножаются с ними