Сначала найдите исходный узел#
Прочитайте файл своей версии игры. Выпишите путь, стабильный идентификатор элемента и текущее значение. Затем создайте патч в соответствующем относительном пути расширения.
Операции add, replace и remove решают разные задачи. Не заменяйте весь документ ради одного атрибута: большой патч сильнее зависит от обновлений и конфликтует с другими расширениями.
Учебный пример#
Возьмём вымышленный документ, не файл из игры:
<items>
<item id="wiki_example" enabled="false" />
</items>Патч одного атрибута:
<diff>
<replace sel="/items/item[@id='wiki_example']/@enabled">true</replace>
</diff>Ожидаемый результат — тот же документ с enabled="true". Имя items и ID примера нельзя подставлять в настоящий мод без реального целевого файла.
Проверьте селектор#
- Найдите совпадения в исходном документе.
- Убедитесь, что найден именно нужный объект, а не одноимённый элемент другого типа.
- Примените патч и сравните эффективный документ.
- Запустите игру и проверьте эффект и журнал.
Ноль совпадений может означать неверную версию, неправильный путь или ещё не загруженную зависимость. Много совпадений — слишком широкий селектор. Безусловное подавление ошибок скрывает обе проблемы.
Практический следующий шаг#
Разберите изменение прочности настоящего корабля. Для нескольких модов, меняющих одно поле, проверьте совместимость и итоговый документ.