- 8,868
- 11,576
Модуль упрощает работу с JSON конфигами. Работает с moonloader и на чистом LuaJit (для LuaJIt требуется библиотека json.lua от rxi)
Установка: переместить файл
Внимание: не меняйте название файла!
Установка: переместить файл
j-cfg.lua
из вложений в папку moonloader\lib
.Внимание: не меняйте название файла!
"Minified" версия позволит вам избавится от требования установки модуля.
Что бы использовать функции без установки модуля перейдите на сайт https://goonlinetools.com/lua-minifier/, засуньте в него код библиотеки и уберите "return Json;" в конце. Затем вставьте его в свой скрипт.
Что бы использовать функции без установки модуля перейдите на сайт https://goonlinetools.com/lua-minifier/, засуньте в него код библиотеки и уберите "return Json;" в конце. Затем вставьте его в свой скрипт.
Ниже вы можете увидеть пошаговую мини инструкцию. В конце будет финальный код
1. Подключение модуля
Подключаем модуль через pcall для вывода ошибки если модуль не найден.
2. Создаем конфиг
Для создания конфига необходимо вызвать функцию, которую возвращает модуль (в нашем случае это функция
При вызове указываем следующие параметры:
3. Взаимодействие с конфигом
3.1 Чтение значения
3.2 Изменение значения
3.3 Добавление нового значения
После изменения или добавления значения вам необходимо сохранить конфиг:
1. Подключение модуля
Подключаем модуль через pcall для вывода ошибки если модуль не найден.
Lua:
local JsonStatus, Json = pcall(require, 'j-cfg'); -- "безопасно" подключаем модуль
assert(JsonStatus, 'jsoncfg.lua not found!'); -- крашим скрипт если модуль не найден
2. Создаем конфиг
Для создания конфига необходимо вызвать функцию, которую возвращает модуль (в нашем случае это функция
Json
).При вызове указываем следующие параметры:
- путь к файлу. Если указать "*название*.json", то автоматически будет сохранено в папку
moonloader\config
. Можно закинуть конфиг в свою папку, указав название папки перед названием, например: "myScript\settings.json
", в таком случае конфиг будет создан в папкеmoonloader\myScript\settings.json
. Создать файл вне папки moonloader не получится! - стандартная таблица (недостающие значения из прочитанной таблицы будут автоматически взяты отсюда)
- status (boolean): удалось ли загрузить конфиг
- cfg (table): наш конфиг
- message (string): код ошибки (при успешной загрузке будет "ok")
Lua:
local status, cfg = Json('myFirstConfig.json', {
name = 'Dima',
nickname = 'chapo',
education = 'Electrical engineer',
skills = {
'shitcode'
},
body = {
height = 190,
weight = 70,
age = 19,
skinColor = 'white',
eyesColor = 'blue',
bodyParts = {
'Head',
'Left Hand',
'Right Hand',
'Left foot',
'Right foot'
}
}
});
3. Взаимодействие с конфигом
3.1 Чтение значения
Lua:
print('Привет,', cfg.name, '!'); -- читаем значение из поля "name". Выведет "Dima"
Lua:
cfg.name = 'Dear user!'; -- изменяем значение поля "name" на "Dear user"
Lua:
cfg.retard = 'Vesp@n'; -- записываем текст "Vesp@n" в поле "retard"
После изменения или добавления значения вам необходимо сохранить конфиг:
Lua:
cfg.name = 'Dear user!'; -- изменяем значение
cfg.retard = 'Vesp@n'; -- добавляем значение
cfg(); -- сохраняем всю таблицу в файл
Lua:
local JsonStatus, Json = pcall(require, 'j-cfg');
assert(JsonStatus, 'j-cfg.lua not found! Download: https://github.com/GovnocodedByChapo/lua-json-config');
local status, cfg = Json('myFirstConfig.json', {
name = 'chapo',
education = 'Electrical engineer',
skills = {
'shitcode'
},
body = {
height = 190,
weight = 70,
age = 19,
skinColor = 'white',
eyesColor = 'blue',
bodyParts = {
'Head',
'Left Hand',
'Right Hand',
'Left foot',
'Right foot'
}
}
});
print('Привет,', cfg.name, '!');
cfg.name = 'Dear user!';
cfg.retard = 'Vesp@n';
cfg();
Вложения
Последнее редактирование: