SaveData
• Библиотека для удобного сохранения данных в JSON формат по пути data/ambi/savedata
Пример сохранения убийств игрока
local SD = Ambi.Packages.Out( 'savedata' ) -- Распаковываем библиотеку
local NAME_DB = 'kills'
local STRUCTURE_DB = { -- Какие будут ключи и дефолтные значения
SteamID = '',
Kills = 0
}
local DB = SD.Create( NAME_DB, STRUCTURE_DB ) -- Создаёт файл и таблицу
-- возвращает NAME_DB
hook.Add( '[Ambi.Player.Kill]', 'ExampleSaveData', function( ePly, eTarget )
if not eTarget:IsPlayer() then return end
local sid = ePly:SteamID()
SD.IsValid( DB, { SteamID = sid }, function()
-- Если есть подтаблица игрока в таблице
local kills = SD.Get( DB, { SteamID = sid } ) -- вернёт таблицу
kills = kills.Kills -- берём из неё только Kills
SD.Set( DB,
{ SteamID = sid }, -- по каким ключам ориентируемся, аналог WHERE
{ Kills = kills + 1 } -- что меняем?
)
end, function()
-- Если её нет, то создадим
SD.Init( DB, {
SteamID = id,
Kills = 1
} )
end )
end )
Last updated
Was this helpful?