PivityGmodStore

2. Settings layout

If you haven't read the previous topic, please read it >>> here <<<


Settings layout


Now the addon is ready to create custom settings, so let's create the file

Layout: settings(root) -> tab -> var -> value


Var types

Currently supporting "bool" "numslider" "float" types


Basic methods

:SetName("name here")

:SetDesc("description here")

:SetNameTranslateKey("translate key for name here") - force addon to use translation from language file

:SetNameTranslateKey("translate key for description here") - force addon to use translation from language file


Settings file example


Create file ehud/lua/ehud/config/config.lua

with content:

local settings = esclib:InitSettings("ehud")--Create settings instance in "ehud" addon

--tab creating
local tab = settings:AddTab("modules") --uid
tab:SetNameTranslateKey("tab_modules") --key in language file. You can use :SetName("any name without translation here")
tab:SetPosition(1) --postion (optional)

--adding vars
-- AddVar(uid,type)
local var = tab:AddVar("module_hud_leftbot", "bool")
var:SetNameTranslateKey("s_mainhud_name") --key in language file
var:SetValue(true) -- default value

--var with custom check
local var = tab:AddVar("module_fpp", "bool")
var:SetNameTranslateKey("s_fpp_name")
var:SetDescTranslateKey("s_fpp_desc")
var:SetValue(true)
var:CustomCheck(function(self,addon)
return DarkRP ~= nil
end)


--New tab creating
local tab = settings:AddTab("general")
tab:SetNameTranslateKey("tab_general")
tab:SetPosition(2)

--Different type
local var = tab:AddVar("animtime", "numslider")
var:SetNameTranslateKey("s_animspeed_name")
var:SetValue(ehud.config.AnimationSpeed)
var:SetMin(0.01)
var:SetMax(3)
var:SetDecimals(2)
var:SetStep(0.1)

--Blur
local var = tab:AddVar("paintblur", "bool")
var:SetNameTranslateKey("s_blur_name")
var:SetDescTranslateKey("s_blur_desc")
var:SetValue(ehud.config.DrawBackgroundBlur)


-- perform settings, load from file, save if not exists
settings:End()


Using example:

print(ehud.addon:GetVar("module_fpp")) --will print true, if not changed

>>> Creating language file <<<


Can't find what you're looking for?

Contact support