diff options
Diffstat (limited to 'init.lua')
| -rw-r--r-- | init.lua | 9 |
1 files changed, 6 insertions, 3 deletions
@@ -94,11 +94,12 @@ function playersettings.openform(player) elseif def.type == "string" then extras = ( "field[8,6;6,1;field;Enter value:;%s]" .. - "textarea[8,7.5;6,2;;;Allowed values: %s]" .. + "textarea[8,7.5;6,2;;;Allowed values: %s\nCharacters limit: %d]" .. "field_close_on_enter[field;false]" ):format( core.formspec_escape(settingvalue), - core.formspec_escape(def.values or "any string") + core.formspec_escape(def.values or "any string"), + def.max ) elseif def.type == "number" then local allowed = "any number" @@ -177,7 +178,8 @@ function playersettings.handleform(player,form,fields) playersettings.set(name,settingname,value) end elseif def.type == "string" and fields.field then - playersettings.set(name,settingname,fields.field) + local value = fields.field:sub(1, def.max) + playersettings.set(name,settingname,value) end end if fields.settinglist then @@ -258,6 +260,7 @@ function playersettings.register(setting,def) -- Type-specific checks if def.type == "string" then assert(type(def.values) == "string") + def.max = def.max or 200 elseif def.type == "enum" then assert(type(def.values) == "table") end |
