Правила раздела:
1 Задавайте конкретные вопросы. Для болтовни есть свободный раздел.
2 По возможности давайте конкретные ответы.
3 Один вопрос=одна тема. Если хотите задать ещё вопрос, то начинайте новую тему.
4 Название темы должно составлять сам вопрос, и быть максимально конкретным. Рекомендуется начинать тему словами "Как", "Что", "Почему". А первый пост повторяет вопрос и даёт расширенные сведения.
5 Рекомендуется указывать версию мейкера (2000, 2003, RMXP, RMVX, ACE, IGM, и.т.д.. Это важно, и всё равно ведь спросят.
6 Темы "Пара вопросов", "Помогите", и подобные им - самый лёгкий путь к бану.
7 Поиск находится вверху справа.
А. Названия подразделов этого раздела уточняются. Советы принимаются.

[VX Ace] Что сохраняет сохранение?

Больше
7 года 6 мес. назад #106999 от niseoth
Выход с карты и последующий вход не сохраняет позиции перемещённых эвентов, а вот сохранение и загрузка -- сохраняют.
Насколько надёжна функция сохранения, если вся игра пройдёт на одной карте? Например, сохраняется ли выполняемая строка в параллельном эвенте и локальные свитчи эвентов? Заменённые эвентом тайлсет и бэкграунд?

Можно и самому протестировать, но я надеюсь, что кто-то это уже сделал.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Ветеран Поддержка Фонда Разработчик Проект месяца 3 место Учитель Оратор Даритель Стимкея 2 место За 2 место на конкурсе маппинга Программист Ruby Паладин
Больше
7 года 6 мес. назад - 7 года 6 мес. назад #107005 от Dmy

niseoth пишет: Выход с карты и последующий вход не сохраняет позиции перемещённых эвентов, а вот сохранение и загрузка -- сохраняют.

Загрузка учитывает их только в том случае, если сохранение произошло в той же версии игры, что и загрузка.

Каждый раз, когда мы вносим какое-то изменение в игру, Мейкер увеличивает внутренний номер версии ($data_system.version_id). При сохранении Мейкер записывает (кроме всего прочего) номер версии проекта, в котором делалось сохранение. При загрузке он проверяет, совпадает ли этот номер версии с текущей версией. Если совпадает — берутся события из сохранения. Если не совпадает — берутся события из карты. За это отвечает функция reload_map_if_updated в DataManager.

niseoth пишет: Насколько надёжна функция сохранения, если вся игра пройдёт на одной карте?

Достаточно надёжна, если вы не будете менять свой проект, т.к. все сохранения и загрузки будут в одной и той же версии.

За сохранение отвечает функция make_save_contents из стандартного скрипта DataManager, она сохраняет большую часть вещей. Вот код этой функции:
Code:
def self.make_save_contents contents = {} contents[:system] = $game_system contents[:timer] = $game_timer contents[:message] = $game_message contents[:switches] = $game_switches contents[:variables] = $game_variables contents[:self_switches] = $game_self_switches contents[:actors] = $game_actors contents[:party] = $game_party contents[:troop] = $game_troop contents[:map] = $game_map contents[:player] = $game_player contents end

Проблемы могут возникнуть с данными, добавляемыми через скрипты. Если скрипт должен сохранять какие-то свои данные в сохранении, об этом надо позаботиться при создании скрипта. Гарантии, что авторы скриптов об этом позаботились, нет: нужно проверять каждый скрипт отдельно.

niseoth пишет: Например, сохраняется ли выполняемая строка в параллельном эвенте и локальные свитчи эвентов? Заменённые эвентом тайлсет и бэкграунд?

Да, сохраняется. Параллельные события хранятся в $game_map в свойствах @events и @common_events. Изменённый тайлсет хранится в $game_map в свойстве @tileset_id. (Но если версия изменилась, то сохранённый $game_map не учитывается: карта загружается заново, а с ней изменённый тайлсет и строки в параллельных событиях.)

Локальные переключатели хранятся в $game_self_switches, и они сохраняются всегда, даже если версия проекта изменилась. Кстати, они и при переходе на другую карту сохраняются.
Последнее редактирование: 7 года 6 мес. назад пользователем Dmy.
Спасибо сказали: Cabbit, niseoth

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 0.087 секунд
Работает на Kunena форум