summaryrefslogtreecommitdiff
path: root/init.lua
diff options
context:
space:
mode:
authorKrock <mk939@ymail.com>2026-05-16 09:16:01 -0500
committercheapie <no-email-for-you@example.com>2026-05-16 09:16:01 -0500
commit0a795ae447ccca69fe7f9ad28f7267758b4d5e35 (patch)
tree3def16e7bfd868542f8c1b94f1b8ee8fe430ac66 /init.lua
parent2eafcb924a6b89f6a67e3fa4bf6586413623ffc9 (diff)
downloadplayersettings-0a795ae447ccca69fe7f9ad28f7267758b4d5e35.tar
playersettings-0a795ae447ccca69fe7f9ad28f7267758b4d5e35.tar.gz
playersettings-0a795ae447ccca69fe7f9ad28f7267758b4d5e35.tar.bz2
playersettings-0a795ae447ccca69fe7f9ad28f7267758b4d5e35.tar.xz
playersettings-0a795ae447ccca69fe7f9ad28f7267758b4d5e35.zip
[PATCH 1/2] Limit for string values
Diffstat (limited to 'init.lua')
-rw-r--r--init.lua9
1 files changed, 6 insertions, 3 deletions
diff --git a/init.lua b/init.lua
index b1d1b2a..2bf67fb 100644
--- a/init.lua
+++ b/init.lua
@@ -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