- 13
- 15
XCONF Module v.1.0.1
Contributors: Frankstosh & Pakulichev
XCONF Module работает на основе JSON Parser и позволяет хранить ваши данные в формате JSON. Это очень удобно и, в отличие от INI, JSON позволяет хранить большие объемы данных. Например, вы можете сохранить таблицу с целой горой вложенных таблиц внутри. Сделать то же самое при помощи INI, к сожалению, не представляется возможным — приходится жертвовать функциональностью.
Помимо всего прочего, XCONF Module обладает всеми прелестями другой библиотеки — inicfg. Вы можете задавать шаблон-конфигуратор, в котором будут хранится все необходимые данные, поэтому, даже если пользователь удалит файл конфигурации или как-либо его повредит, ваш скрипт восполнит все необходимые данные. Это также позволяет распространять скрипт без файла конфигурации.
Установка XCONF Module
Скачайте файл, находящийся во вложениях, и просто переместите его по следующему пути: {GTA_FOLDER}/moonloader/lib. Для того, чтобы использовать модуль внутри вашего скрипта, просто подключите его таким или любым другим способом:
xconf = require("xconf")
Использование XCONF Module
Библиотека предоставляет доступ к некотором функциям и методам, использование которых — залог правильного пользования модулем. В нижеприведённом скрипте вы можете лицезреть пример использования XCONF Module в боевых условиях:
Lua:
local xconf = require("xconf")
local conf = xconf.new("moonloader/new_config.json")
if conf then
conf:set_template({
main_settings = {
username = "Pakulichev",
email = "paveltalking@gmail.com",
password = {
hash = "XXXXXXXXXXXXXXX",
encoder = "SHA256"
},
level = 15
},
is_enabled = true
})
local result = conf:get()
if type(result) == 'table' then
print(result.main_settings.username)
print(result.main_settings.password.hash)
print(result.main_settings.password.encoder)
print(result.is_enabled)
end
conf:set({
main_settings = {
username = "Pavel",
password = {
hash = "RRRRRRRRRRRRRRR"
}
}
})
conf:close()
end
Lua:
XCONF Handle conf = xconf.new(string filename) -- открытие сессии работы с конфигуратором. Необходимо открывать сессию перед началом работы с файлом конфигурации и закрывать по окончанию работы с файлом конфигуратора.
conf:set_template(table template) -- установить шаблон конфигуратора, используется в работе модуля.
conf:set(table data) -- произвести запись в файл конфигурации, первым аргументом передать таблицу.
boolean/table data = conf:get() -- прочитать записи из файла конфигурации: метод может вернуть FALSE, необходимо делать проверку перед тем, как использовать значения из переменной "data". Будьте осторожны с этим методом!
conf:close() -- закрытие сессии работы с конфигуратором, необходимо делать в конце работы с файлом конфигурации.
Спасибо за ваше внимание!
Вложения
Последнее редактирование: