ru:guide:saving

Salet сохраняет все переменные, что вы положили в объект salet.character.

Вы можете использовать любые переменные, но функции не будут сохраняться.

В случае проблемы вы можете использовать salet.init(), чтобы проверить, что объект salet.character составлен правильно.

Чтобы сохранение было верным, генерация случайных чисел должна идти через объект salet.rnd

Salet по умолчанию включает автосохранение.

Чтобы выключить его, поставьте salet.autosave = false где-нибудь в начале игры.

Также Salet использует автозагрузку, т.е. когда игрок открывает страницу с игрой, то игра продолжается с того же места. Если вы хотите отключить это, выставите salet.autoload = false где-нибудь до вызова salet.beginGame().

Отдельных настроек для каждого действия в комнате нет. Каждый вызов каждого действия сохраняется, если в комнате разрешено сохранение, и не сохраняется, если запрещено.

Чтобы загрузить игру вручную, напишите это:

savefile = salet.getSave()
salet.loadGame(savefile)

Функции saveGame и getSave принимают параметр slot, чтобы вы могли сделать несколько слотов сохранений.

ВАЖНО!! Вы должны запретить сохранение в этой комнате через canSave: false. Даже неважно, где вы пытаетесь вызвать loadGame - при входе в комнату (специальные свойства enter, exit, before, after) или в одном из действий. Если эта комната или это действие попадёт в сохранение и вы попробуете загрузить игру, то игра войдёт в бесконечный цикл и зависнет вместе с браузером. Поэтому объявите комнату, из которой вы загружаете игру, несохраняемой.

Salet сохраняет путь игрока как текст (если точнее, то сериализованный JSON).

Всё, что находится внутри salet.character, конвертируется в текст и кидается в сохранение. Всё что не может быть представлено как текст (например, функции), не может быть сохранено.

Каждый переход по ссылке добавляется в переменную salet.progress. Сохранение записывает значение этой переменной, загрузка читает и повторяет путь игрока. (Поэтому так важно, чтобы случайные значения при загрузке не менялись.)

Игрок очищает локальное хранилище? Сохранение стёрто.

Вы перенесли вашу игру на другой сайт? Никакого способа переместить сохранения вместе с ней.

После того, как игра запущена, Salet запускает функцию salet.init. В ней вы можете проверить состояние игры.

После загрузки игрок заново заходит в текущую комнату. Если он перезапустит игру несколько раз, то в истории переходов текущая комната запишется столько же раз. Это нужно иметь в виду, если вы используете функцию salet.back.

  • ru/guide/saving.txt
  • Последнее изменение: 2021/01/24 10:42
  • (внешнее изменение)