variables can now have a default value other than nil
This commit is contained in:
parent
ebd2999687
commit
b2e2f843bd
@ -53,6 +53,33 @@ yl_speak_up.fun_input_fs_manage_variables_check_fields = function(player, formna
|
||||
false)
|
||||
})
|
||||
return
|
||||
-- set default value
|
||||
elseif(fields and fields.set_default_value and fields.default_value) then
|
||||
-- store the new default value
|
||||
if(fields.default_value == "") then
|
||||
fields.default_value = nil
|
||||
end
|
||||
local k_long = var_name_with_prefix
|
||||
local old_val = yl_speak_up.get_variable_metadata(k_long, "default_value", true)
|
||||
yl_speak_up.set_variable_metadata(k_long, nil, "default_value", nil, fields.default_value)
|
||||
local new_val = yl_speak_up.get_variable_metadata(k_long, "default_value", true)
|
||||
yl_speak_up.show_fs(player, "msg", {
|
||||
input_to = "yl_speak_up:manage_variables",
|
||||
formspec = "size[10,3.5]"..
|
||||
"label[0.2,0.0;The "..minetest.colorize("#FFFF00", "default value")..
|
||||
" for variable\n\t"..
|
||||
minetest.colorize("#FFFF00",
|
||||
minetest.formspec_escape(tostring(var_name)))..
|
||||
"\nhas been changed from\n\t"..
|
||||
minetest.colorize("#FFFF00",
|
||||
minetest.formspec_escape(old_val or ""))..
|
||||
"\nto the NEW value\n\t"..
|
||||
minetest.colorize("#FFFF00",
|
||||
minetest.formspec_escape(new_val or "")).."]"..
|
||||
"button[1.5,3.0;2,0.9;back_from_msg;Back]"
|
||||
})
|
||||
return
|
||||
|
||||
-- enable, disable and list variables in debug mode
|
||||
elseif(fields and fields.enable_debug_mode and var_name) then
|
||||
yl_speak_up.set_variable_metadata(var_name, pname, "debug", pname, true)
|
||||
@ -448,9 +475,23 @@ yl_speak_up.get_fs_manage_variables = function(player, param)
|
||||
"values into this variable."))
|
||||
local var_type = (yl_speak_up.get_variable_metadata(k_long, "var_type")
|
||||
or "String/text or numerical value, depending on how you use it")
|
||||
table.insert(formspec, "label[0.2,5.05;Type of variable: ")
|
||||
-- get the default value as-is (will usually be nil)
|
||||
local var_default_val = (yl_speak_up.get_variable_metadata(k_long, "default_value", true)
|
||||
or "")
|
||||
table.insert(formspec, "label[0.2,4.95;Type of variable: ")
|
||||
table.insert(formspec, minetest.colorize("#FFFF00", var_type)) -- show variable type
|
||||
table.insert(formspec, ".]")
|
||||
table.insert(formspec,
|
||||
"label[0.2,5.55;Default value (when not set):]"..
|
||||
"field[4.9,5.25;4.0,0.6;default_value;;"..
|
||||
minetest.formspec_escape(var_default_val).."]"..
|
||||
"button[9.0,5.25;4.5,0.6;set_default_value;Set default value]"..
|
||||
"tooltip[default_value;By default, variables start unset with value \'nil\'. "..
|
||||
"\nIf you set this to a diffrent value, the variable will have this "..
|
||||
"\nvalue instead whenever it is unset."..
|
||||
"\nNote: Internally it is still stored as \'nil\'.]"..
|
||||
"tooltip[set_default_value;Store a new default value. Use empty input to set "..
|
||||
"back to the default \'nil\'.]")
|
||||
if(var_type == "quest") then
|
||||
table.insert(formspec, "button[4.2,4.75;4.5,0.6;show_quest;Show and edit this quest]")
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user