mirror of
https://gitea.your-land.de/Sokomine/yl_speak_up.git
synced 2025-07-24 14:28:54 +02:00
fixed bug in storing new variable values; also checking success of variable changes now
This commit is contained in:
parent
4df6a56bf8
commit
c9cc112169
@ -100,6 +100,7 @@ yl_speak_up.input_fs_manage_variables = function(player, formname, fields)
|
||||
if(not(var_name)) then
|
||||
var_name = ""
|
||||
end
|
||||
local var_name_with_prefix = yl_speak_up.restore_complete_var_name(var_name, pname)
|
||||
|
||||
|
||||
-- show all stored values for a variable in a table
|
||||
@ -155,33 +156,53 @@ yl_speak_up.input_fs_manage_variables = function(player, formname, fields)
|
||||
-- change the value for a player (possibly to nil)
|
||||
elseif(fields and fields.store_new_value_for_player and var_name
|
||||
and fields.stored_value_for_player and fields.stored_value_for_player ~= "") then
|
||||
yl_speak_up.set_quest_variable_value(fields.stored_value_for_player, var_name,
|
||||
local old_value = yl_speak_up.get_quest_variable_value(
|
||||
fields.stored_value_for_player, var_name_with_prefix)
|
||||
yl_speak_up.set_quest_variable_value(fields.stored_value_for_player, var_name_with_prefix,
|
||||
fields.current_value_for_player)
|
||||
local new_value = yl_speak_up.get_quest_variable_value(
|
||||
fields.stored_value_for_player, var_name_with_prefix)
|
||||
local success_msg = minetest.colorize("#00FF00", "Successfully set variable")
|
||||
if(new_value ~= fields.current_value_for_player) then
|
||||
success_msg = minetest.colorize("#FF0000", "FAILED TO set variable")
|
||||
end
|
||||
yl_speak_up.show_fs(player, "msg", {
|
||||
input_to = "yl_speak_up:manage_variables",
|
||||
formspec = "size[10,2]"..
|
||||
"label[0.2,0.0;Set variable \""..
|
||||
formspec = "size[10,2.5]"..
|
||||
"label[0.2,0.0;"..success_msg.." \""..
|
||||
minetest.colorize("#FFFF00",
|
||||
minetest.formspec_escape(tostring(var_name)))..
|
||||
"\"\nfor player "..
|
||||
minetest.formspec_escape(fields.stored_value_for_player)..
|
||||
"\nto new value "..
|
||||
"\n(old value: "..
|
||||
minetest.colorize("#AAAAAA", old_value)..
|
||||
")\nto new value "..
|
||||
minetest.colorize("#FFFF00", fields.current_value_for_player)..".]"..
|
||||
"button[1.5,1.5;2,0.9;back_from_msg;Back]"})
|
||||
"button[1.5,2.0;2,0.9;back_from_msg;Back]"})
|
||||
return
|
||||
-- remove the value for a player (set to nil)
|
||||
elseif(fields and fields.unset_value_for_player and var_name
|
||||
and fields.stored_value_for_player and fields.stored_value_for_player ~= "") then
|
||||
yl_speak_up.set_quest_variable_value(fields.stored_value_for_player, var_name, nil)
|
||||
local old_value = yl_speak_up.get_quest_variable_value(
|
||||
fields.stored_value_for_player, var_name_with_prefix)
|
||||
yl_speak_up.set_quest_variable_value(fields.stored_value_for_player, var_name_with_prefix, nil)
|
||||
local new_value = yl_speak_up.get_quest_variable_value(
|
||||
fields.stored_value_for_player, var_name_with_prefix)
|
||||
local success_msg = minetest.colorize("#00FF00", "Unset variable")
|
||||
if(new_value) then
|
||||
success_msg = minetest.colorize("#FF0000", "FAILED TO unset variable")
|
||||
end
|
||||
yl_speak_up.show_fs(player, "msg", {
|
||||
input_to = "yl_speak_up:manage_variables",
|
||||
formspec = "size[10,2]"..
|
||||
"label[0.2,0.0;Unset variable \""..
|
||||
"label[0.2,0.0;"..success_msg.." \""..
|
||||
minetest.colorize("#FFFF00",
|
||||
minetest.formspec_escape(tostring(var_name)))..
|
||||
"\"\nfor player "..
|
||||
minetest.formspec_escape(fields.stored_value_for_player)..
|
||||
".]"..
|
||||
"\n(old value: "..
|
||||
minetest.colorize("#AAAAAA", old_value)..
|
||||
").]"..
|
||||
"button[1.5,1.5;2,0.9;back_from_msg;Back]"})
|
||||
return
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user