Skip to content

IVogel/gm_sled

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gm_sled

gm_sled is really simple wrapper around sled key-value database.

Installation

Download latest binary for corresponding OS and throw it into garrysmod/lua/bin/.
Or, you can compile your own version.

Compilation for main Garry's Mod branch:

cargo build --release --target i686-unknown-linux-gnu

or for windows

cargo build --release --target i686-pc-windows-msvc

Compilation for x86-x64 branch:

cargo build --release --target x86_64-unknown-linux-gnu

or for windows

cargo build --release --target x86_64-pc-windows-msvc

Example usage (but not really good example)

require("sled")

local db = sled.Open("currencydb")

currencydb = {__currency = {}}

function currencydb.set(player, currency, value)
    local tree = currencydb.__currency[currency]
    if not tree then
        tree = db:OpenTree(currency)
        currencydb.__currency[currency] = tree
    end
    tree:InsertStruct(player:SteamID64(), "d", value)
end

function currencydb.get(player, currency)
    local tree = currencydb.__currency[currency]
    if not tree then
        tree = db:OpenTree(currency)
        currencydb.__currency[currency] = tree
    end
    return tree:GetStruct(player:SteamID64(), "d")
end

function currencydb.list()
    local names = {}
    for name in db:TreeNames() do
        if name == "__sled__default" then continue end
        table.insert(names, name)
    end
    return names
end

About

Simple driver(?) for sled for Garry's Mod

Resources

Stars

Watchers

Forks

Packages

No packages published