для версии DayZ 1.28.161464 оффлайМод DayZCommunityOfflineMode 4.1
Добавление своих (custom) точек спавна животных.
Описание для миссии ..\Dayz_Land_Game\Dayz_Land\Missions\DayZCommunityOfflineMode.ChernarusPlus
для других - аналогично.
Для начала за-Zip-им папку DayZCommunityOfflineMode.ChernarusPlus - если там уже что то настраивали, в случае косяков можно быстро вернуть в исходное состояние.
Сразу по поводу параметра запуска DayZ_x64.exe -config=serverDZ.cfg в стартовом батнике (DayZCommunityOfflineMode.bat), для учитывания параметров файла cfggameplay.json , в этом моде не работает, сколько ни старался выяснить почему, по этому его редактирование ничего не даёт. И редактирование там параметров, к примеру для stamina - ничего не меняет.
В скрипте: DayZCommunityOfflineMode.ChernarusPlus\core\modules\ComKeybinds\COMKeyBinds.c видно, что создатели мода - пытались прикрутить выкл-stamina к режиму Godmode
//GetPlayer().GetStaminaHandler().SyncStamina(1000, 1000);
COM_GetPB().GetStatStamina().Set(COM_GetPB().GetStaminaHandler().GetStaminaCap()); но это не работает.
Там же, чуть выше, в функции:
override void RegisterKeyMouseBindings()
{ ...
autoRun .AddBinding( "kX" ); - "автобег", не даёт нам переключать режим огня, меняем X на что нибудь( к примеру - autoRun .AddBinding( "k\\" ); ).
--------------------------------
Максимальное количество всех животных в игре. В DayZCommunityOfflineMode.ChernarusPlus\db\globals.xml в строке
<var name="AnimalMaxCount" type="0" value="800"/> ставим нужный value к примеру 1000 , главное чтоб кампутер тянул всё это и не лагал.
--------------------------------
В ..\DayZCommunityOfflineMode.ChernarusPlus\cfgEventSpawns.xml внизу прописаны, какие события будут выполняться:
<event name="AnimalDeer" />
<event name="AnimalWolf" />
<event name="AnimalCow" />
<event name="AnimalSheep" />
<event name="AnimalRoeDeer" />
<event name="AnimalWildBoar" />
<event name="AmbientHen" />
<event name="AnimalBear" />
<event name="AnimalGoat" />
<event name="AnimalPig" />
Проверить, есть ли для нужного животного.
--------------------------------
Увеличим количество спавна.
В Missions\DayZCommunityOfflineMode.ChernarusPlus\db\events.xml задаются события спавна, блоки для животных начинаются с <event name="Animal..."> , для куриц <event name="AmbientHen"> но я так ни одной и не увидел. Куры и кролики - почему то не спавнятся.
В этих блоках:
- <nominal>10</nominal> количество событий спавна текущего блока
- <min>5</min> <max>20</max> - диапазон возможного (случайный выбор) количества животных за один спавн
- <lifetime>180</lifetime> - время жизни
в тэгах children - прописываются параметры для подвидов, max="3" min="1" сколько такого подвида можно заспавнить, type= какой подвид
<children>
<child lootmax="0" lootmin="0" max="3" min="1" type="Animal_BosTaurusF_Brown"/>
<child lootmax="0" lootmin="0" max="3" min="2" type="Animal_BosTaurusF_Spotted"/>
<child lootmax="0" lootmin="0" max="3" min="1" type="Animal_BosTaurusF_White"/>
<child lootmax="0" lootmin="0" max="3" min="1" type="Animal_BosTaurus_Brown"/>
<child lootmax="0" lootmin="0" max="4" min="2" type="Animal_BosTaurus_Spotted"/>
<child lootmax="0" lootmin="0" max="3" min="1" type="Animal_BosTaurus_White"/>
</children>
в данном случае - это три вида коров Brown, Spotted, White. И они ещё продублированы.
Мы можем увеличит <min>7</min> <max>30</max>, в <children> max="13" min="4" , но главное чтоб общее в <children> max количество не превысило число из тэга <max>10</max> выше.
Ну и количество событий спавна - <nominal>17</nominal>
---------------------------
Переходим к DayZCommunityOfflineMode.ChernarusPlus\env\
Там находятся файлы-territories.xml
- bear_territories.xml - медведи
- sheep_goat_territories.xml - овцы и козы
- и т.д.
На каждый вид - свой файл-territories.xml
В них и будем прописывать дополнительные координаты спавна.Внутри, в блоках <territory color="...">...</territory> - и находятся данные для спавна.
<territory color="4294923520">
<zone name="Graze" smin="0" smax="0" dmin="1" dmax="2" x="13447.7" z="12913.5" r="160"/>
<zone name="Rest" smin="0" smax="0" dmin="1" dmax="2" x="13447.7" z="12913.5" r="100"/>
</territory>
Правит будем:
- dmin="1" dmax="2" - сколько животных нужно заспавнить по этим координатам
- x="13447.7" z="12913.5" - координаты спавна
и можно увеличить радиус обитания r="160"
zone name="Graze" - чем может заниматься животное, например для медведя, нападение - это <zone name="Graze" , а для волков - <zone name="HuntingGround" - охота , <zone name="Rest" - отдых.
Возможные параметры zone name="..." - можно посмотреть в оригинальных файлах-territories.xml DayZ.Community.OfflineMode
Для получения координат - нужно выяснить удобные (и возможно - естественные) места в игре. Запускаем игру. В меню Y- мода ставим галку Godmode, чтоб нам не мешали обитатели и идём искать места. Нашли полянку, прикидываем - какое животное тут бы могло обитать. Открываем меню Y- мода и в разделе TP - телепорт, в низу видим свои текущие координаты, записываем координаты куда нибудь и продолжаем... Список координат для спавна есть, закрываем игру, открываем к примеру bear_territories.xml, если решили спавнить медвведей. Копируем какой нибудь блок <territory color="4294923520">... </territory> и меняем там значения x и z(y) на те что сохранили и dmin="2" dmax="4" на нужное количество:
<territory color="4294923520">
<zone name="Graze" smin="0" smax="0" dmin="2" dmax="4" x="547.5" z="10001.3" r="100"/>
</territory>
Как я понял из форумов, из несколких строк в блоке <territory color="4294923520">... </territory> - случайно будет выбраться только одна, по этому для более гарантированного спавна - пишем в блоках по одной команде спавна. Не забываем проверить верное поведение name="Graze" для соответствующего типа животного. Для остальных животных ровно тоже. Главное не ошибиться и не нарушить Xml-структуру файла. Добавили всё что нужно.
----------------------------------
В стартовом батнике DayZCommunityOfflineMode.bat - прописано удаление папки storage_-1 ( RD /s /q "storage_-1" > nul 2>&1 ) перед запуском игры, по этому тут - в ручную удалять её не обязательно (как wipe на реальном сервере).
Запускаем игру, проверяем работу, если нет лута и зомбей - где то ошибочка. Для других миссий,Enoch и Namalsk - всё также.
А если хотим устроить форменное безобразие, берём из zombie_territories.xml все блоки <territory color="1136576269">... </territory>, добавляем их в файлы нужных животных, к примеру для коров - cattle_territories.xml или свиней pig_territories.xml, меняем name="" в <zone name="InfectedCity" на соответствующее поведение, для коров это Rest,Graze,Water и коровы имеют приличные шансы заспавниться там же где и зомбаки, в городах. Проделать это для других животных и начнётся форменное безобразие, зомбаки гоняют коров, медведи свиней. Но нагрузка на кампутер становиться существенно выше. Волки спавнятся почему то редко.
Вроде всё, пока.