Сохранение переменных при перезагрузке

Belo4ka_belka

Известный
Автор темы
191
7
Версия MoonLoader
.025-beta
Добрый день. Есть несколько строковых переменных, значение которых нужно сохранять в пределах одной игровой сессии не взирая на возможные перезагрузки основного скрипта. INICFG - классический вариант, но помимо пары нужных значений, таблица конфига содержит кучу данных которые нужно преобразовывать в строку перед сохранением - не хотелось бы использовать этот вариант. Посмотрел описание функции import - возможно это то что мне нужно. Не подскажете есть ли возможность вообще подобное реализовать: создать переменную, записывать в неё значения, а при перезагрузке скрипта значение переменной должно подхватываться из вне и продолжать работу в штатном режиме.
 

Pakulichev

Software Developer & System Administrator
Друг
1,789
2,130
Чтобы сохранять значения разных типов без необходимости преобразования в строковое представление, можно воспользоваться форматом JSON. В том числе это удобно, если нужно сохранять таблицы. Некоторые значения, например те, что используются в ImGui, сохранить без предварительного преобразования нельзя, а при загрузке скрипта нужно преобразовывать обратно вручную. Что касается функции "import", то она нужна скорее для работы с библиотеками, но никак не для сохранения конфигурации скрипта. По сути, можно сказать, что "import" - это своеобразная копия "require", различен лишь принцип работы. Функция "import" как бы добавляет часть скрипта внутрь другого скрипта перед запуском, а "require", можно сказать, грузит модули в глобальную область, которые в дальнейшем могут быть использованы и другими скриптами. Поэтому, если нужно сохранять данные, рекомендую использовать формат JSON. Примеров и готовых модулей для работы достаточно на форуме.
 

Belo4ka_belka

Известный
Автор темы
191
7
Чтобы сохранять значения разных типов без необходимости преобразования в строковое представление, можно воспользоваться форматом JSON. В том числе это удобно, если нужно сохранять таблицы. Некоторые значения, например те, что используются в ImGui, сохранить без предварительного преобразования нельзя, а при загрузке скрипта нужно преобразовывать обратно вручную. Что касается функции "import", то она нужна скорее для работы с библиотеками, но никак не для сохранения конфигурации скрипта. По сути, можно сказать, что "import" - это своеобразная копия "require", различен лишь принцип работы. Функция "import" как бы добавляет часть скрипта внутрь другого скрипта перед запуском, а "require", можно сказать, грузит модули в глобальную область, которые в дальнейшем могут быть использованы и другими скриптами. Поэтому, если нужно сохранять данные, рекомендую использовать формат JSON. Примеров и готовых модулей для работы достаточно на форуме.
Хорошо, а _G сможет помочь мне в этом вопросе? Мне просто не нравится идея сохранить всего лишь пару переменных во внешнем файле и обнулять её каждый запуск игры.