Формат может сохранять и загружать состояние игры, включая
- последнюю страницу
- историю открытых страниц
- коллекции
- переменные
Автосохранение включено всегда. Игра сохраняется каждый ход.
Загрузить автосохранение можно, если в начале игры нажать на кнопку Continue (Продолжить)
Сохранение происходит в localStorage браузера.
Автосохранение происходит всегда в отдельный слот.
В начале игры движок всегда показывает стартовую страницу с кнопками
- 'Продолжить' (если есть автосейв)
- 'Новая игра' (начнет перезаписывать автосейв)
Оформление стартовой страницы можно поменять командой, которую надо ввести в пользовательском скрипте Twine
w.startPage({
continue: "Продолжить", // надпись на кнопке продолжить
continueOff: true, // отключить показ кнопки продолжения
newGame: 'Новая игра', // надпись на кнопке "Новая игра"
title: 'Космический квест', // заголовок страницы, будет в теге h1
text: 'Великая игра о космосе', // текст страницы, будет в теге p и над кнопками
});
Все параметры - не обязательны. Если какой-то параметр не указывается, используются значения по умолчанию.
Дополнительно оформление можно поменять за счет CSS, так как стартовая страница
- в теге body ставит id
start-screen
и такой же class - имеет HTML-структуру обычной страницы, в которой можно настраивать фон, картинки, цвета
Также можно в тексте пассажей использовать вставки скриптов с помощью {{ вставьте скрипт здесь }}
с командами save и load в таком виде
{{
Wonder.save('save_slot1'); // сохранить в слоте save_slot1
}}
и
{{
Wonder.load('save_slot1'); // загрузить из слота save_slot1
}}
Если используется внешнее API для сохранения и записи - локальное сохранение лучше отключить, чтобы не было глюков и лишних записей-восстановлений. Это делается в пользовательском скрипте с помощью команды
Wonder.disableLocalSave();
При отключении перестают работать все команды сейва, включая автосейв и произвольную загрузку/сохранение в любой локации.
Если после этой команды в той же игре надо будет включить , можно использовать в каком-нибудь пассаже
Wonder.disableLocalSave(false);