---
title: Сохранения и миграции MD
summary: Первый запуск, сохранённые переменные, обновление настроек и миграции одиночного мода.
section: scripting
kind: guide
status: example
tags: ["md","save","load","migration","persistence","сохранения"]
sources: ["https://wiki.egosoft.com/X4%20Foundations%20Wiki/Modding%20Support/"]
---
## Жизненный цикл cue
Состояние MD-скрипта связано с сохранением игры. Уже завершённый cue не обязан исполняться заново после загрузки. Поэтому код, добавленный только в старый Init, может не инициализировать новые поля существующего сейва.
Разделяйте первый запуск мода и переход сохранения на новую версию его данных.
## Новое поле
Учебный фрагмент для контекста, который хранит ваши настройки:
```xml
```
Фрагмент не создаёт обработчик загрузки. Вызовите его из вашего реального пути инициализации/миграции и убедитесь, что он обращается к правильному пространству переменных.
## Сохраняйте выбор игрока
Значение по умолчанию записывается только для отсутствующего поля. При каждой загрузке не сбрасывайте пользовательские настройки, уже созданные объекты или прогресс задания.
Если переменная хранит ссылку на объект, проверьте его существование перед использованием. Временные UI handles и кеши интерфейса не заменяют сохраняемое игровое состояние.
## Проверка обновления мода
1. Создайте сейв с предыдущей версией данных.
2. Загрузите его с новой версией расширения.
3. Убедитесь, что старые значения сохранены, а новые поля добавлены.
4. Сохраните и полностью перезапустите X4.
5. Повторите чтение результата и убедитесь, что инициализация не создала второй объект.
Для простого изменения характеристики отдельно проверьте новый и уже существующий корабль: применение параметров и состояние повреждений могут иметь разный жизненный цикл.