Меню вики
cfgspawnabletypes.xml в DayZ: обвесы, груз и износ
Как cfgspawnabletypes.xml в DayZ выдаёт предметы с обвесами, грузом и износом: шансы, пресеты из cfgrandompresets.xml, hoarder и живая запись.
types.xml решает, сколько копий предмета появляется. cfgspawnabletypes.xml решает, с чем появляется каждая копия: приклад и прицел на винтовке, колёса на машине, еда в рюкзаке и насколько всё это изношено.
Где лежит файл
В корне папки миссии, рядом с папкой db: mpmissions/dayzOffline.chernarusplus/cfgspawnabletypes.xml. Именованные списки, которые записи могут переиспользовать, лежат там же в cfgrandompresets.xml. Как и types.xml, оба файла читаются при запуске сервера.
Живая запись: M4-A1 на Чернаруси
<type name="M4A1">
<damage min="0.45" max="0.85"/>
<attachments chance="1">
<item name="M4_OEBttstck" chance="1"/>
</attachments>
<attachments chance="1">
<item name="M4_PlasticHndgrd" chance="1"/>
</attachments>
<attachments chance="1">
<item name="BUISOptic" chance="0.5"/>
<item name="M4_CarryHandleOptic" chance="1"/>
</attachments>
<attachments chance="0.1">
<item name="Mag_CMAG_40Rnd" chance="0.15"/>
<item name="Mag_CMAG_10Rnd" chance="0.5"/>
<item name="Mag_CMAG_20Rnd" chance="0.7"/>
<item name="Mag_CMAG_30Rnd" chance="1"/>
</attachments>
</type>В текущей версии игры винтовка появляется с износом от 45 до 85%, всегда с прикладом, цевьём и одним из перечисленных прицелов, а примерно в одном случае из десяти ещё и с магазином. Каждый блок <attachments> бросается отдельно.
Все теги
| Тег | Что делает |
|---|---|
type name | Предмет, к которому относится запись, по классу. |
damage min max | Износ при появлении от 0 (новый) до 1 (испорчен), выбирается между min и max. |
attachments chance | Один слот. Шанс блока решает, получит ли слот что-нибудь вообще; шансы предметов внутри решают, какой из перечисленных это будет. |
cargo chance | Что-то внутри предмета, например еда в рюкзаке. Работает так же, как attachments. |
preset | Вместо списка предметов блок может сослаться на именованный список из cfgrandompresets.xml: <cargo preset="myFood"/>. |
hoarder | Помечает хранилище: палатку, бочку, ящик. Предметы внутри таких хранилищ считает флаг count_in_hoarder в types.xml. |
Как работают шансы
Шансы это числа от 0 до 1, а не проценты: 1.0 всегда, 0.25 в четверти случаев. Блоки не зависят друг от друга, поэтому винтовка с тремя необязательными блоками может получить все три обвеса, один или ни одного.
Обвес, который не встаёт в слот предмета, просто не ставится. Проверяйте классы и совместимость на страницах предметов, прежде чем добавлять.
Частые правки
- Оружие всегда с магазином: поднимите шанс блока с магазином до 1.0.
- Машины со всеми запчастями: поставьте шанс 1.0 блокам колёс, дверей, аккумулятора и свечи в записи машины.
- Лут в лучшем состоянии: снизьте износ, например
<damage min="0.0" max="0.3"/>. - Рюкзаки с припасами: добавьте блок
<cargo>с предметами или пресетом.
Ошибки
- Шансы в процентах (25 вместо 0.25).
- Опечатка в классе: предмет молча никогда не появится.
- Ожидание, что этот файл меняет количество предметов. Количество задаёт types.xml в DayZ: все поля по порядку; предмет с nominal 0 не появится, что бы ни было в его записи cfgspawnabletypes.
Записи для каждого предмета
На страницах предметов в базе предметов есть ванильный блок cfgspawnabletypes для каждой карты, а у обвесов и запчастей ещё и список того, на чём они появляются: например Обвесы и Запчасти. Сами машины выдаёт events.xml в DayZ: машины, крушения и животные.
