Краткая версия

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

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

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

Автосохранение

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, конвертируется в текст и кидается в сохранение. Всё что не может быть представлено как текст (например, функции), не может быть сохранено.

Сохранение помещается в локальное хранилище браузера игрока. Обычный размер локального хранилища - это 5 мегабайт на сайт. Это на весь сайт, не на одну игру. Это НЕ определённое число, у каждого браузера может быть настроено разное значение.

Если один вебсайт хранит 10 игр на Salet, то все их сохранения делят одно хранилище (если он сыграет во все десять игр). Если хранилище заполнится, то ничего больше не сохранится. Единственный способ очистить хранилище - это удалить какие-нибудь данные - то есть, другие сохранения (может быть, из других игр). А хорошие новости таковы, что большинству игр не понадобится больше дюжины переменных, так что 5 мегабайт - это много.

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

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

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

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

  • ru/guide/saving.txt
  • Последние изменения: 2016/09/20 13:51
  • (внешнее изменение)