diff options
| -rw-r--r-- | init.lua | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -72,7 +72,8 @@ function playersettings.openform(player) else row = def.shortdesc end - if (setting_get_no_fallback(name, setting, false)) ~= nil then + local setvalue = setting_get_no_fallback(name, setting, false) + if setvalue ~= nil and setvalue ~= playersettings.getdefault(setting) then -- 'Value is set' indicator row = row .. " *" end @@ -171,10 +172,12 @@ function playersettings.handleform(player,form,fields) -- May also be triggered by `fields.bset` if def.type == "boolean" and fields.checkbox then playersettings.set(name,settingname,fields.checkbox == "true") + if not fields.quit then playersettings.openform(player) end elseif def.type == "enum" and fields.dropdown then local value = def.values[tonumber(fields.dropdown)] if value then playersettings.set(name, settingname, value) + if not fields.quit then playersettings.openform(player) end end elseif def.type == "number" and fields.field then local value = tonumber(fields.field) @@ -183,10 +186,12 @@ function playersettings.handleform(player,form,fields) and ((not def.min) or (value >= def.min)) then if def.integer then value = math.floor(value) end playersettings.set(name,settingname,value) + if not fields.quit then playersettings.openform(player) end end elseif def.type == "string" and fields.field then local value = fields.field:sub(1, def.max) playersettings.set(name,settingname,value) + if not fields.quit then playersettings.openform(player) end end end if fields.settinglist then |
