[[help:modules|Назад: Работа с файлами игр, использование модулей]]
====== Сохранения ======
QSP позволяет сохранять и загружать состояния игры из файлов сохранений не только средствами самого плеера, но и непосредственно из кода игры.
===== Операторы для работы с сохранениями =====
* ''%%SAVEGAME%%'' — сохраняет состояние игры в указанный файл. Общая запись:
SAVEGAME [$путь]
, где ''%%[$путь]%%'' — путь к создаваемому файлу сохранения. Если параметр ''%%[$путь]%%'' отсутствует, то вызывается окно сохранения игры.\\
Пример:
! сохраняем состояние в файл 1.sav
savegame "1.sav"
! открываем окно сохранения
savegame
См. также локацию-обработчик события "**cохранение состояния игры**" ([[help:service_locations|ONGSAVE]]).
* ''%%OPENGAME%%'' — загрузка указанного файла сохранения. Общая запись:
OPENGAME [$путь]
, где ''%%[$путь]%%'' — путь к файлу сохранения. Если параметр ''%%[$путь]%%'' отсутствует, то вызывается окно загрузки состояния игры.\\ Пример:
! загрузка состояния из файла 1.sav
opengame "1.sav"
! открываем окно загрузки состояния
opengame
См. также локацию-обработчик события "**загрузка состояния игры**" ([[help:service_locations|ONGLOAD]]).
===== Системные переменные, отвечающие за настройку сохранений =====
* ''%%NOSAVE%%'' — если значение данной переменной отлично от **0**, пункт меню плеера "**Сохранить состояние игры**" игроку становится недоступен, т.е. игрок не может самостоятельно сохранить игру. В то же время на уровне кода QSP продолжает работать оператор ''%%SAVEGAME%%''. Пример:
! отключаем возможность сохранения игры
nosave=1
act "Бросить кости":
cubes=rand(1,6)
! включаем возможность сохранений обратно
nosave=0
delact $selact
end
* ''%%DEBUG%%'' — если значение переменной отлично от нуля, отключается проверка идентификатора игры при загрузке состояния. Иначе при каждом изменении файла игры нельзя будет использовать файлы сохранений, сделанные до изменения игры.\\ **Совет:** во время разработки и тестов игры значение переменной ''%%DEBUG%%'' всегда должно быть отлично от нуля, а когда вы выпускаете финальную версию игры (релиз), нужно выставить переменной ''%%DEBUG%%'' значение 0, чтобы игроки не смогли загрузить файлы сохранений от других игр.
! отключаем проверку игры на
! совместимость с сохранениями
debug = 1
[[help:realtime|Вперёд: Реальное время]]