forked from Sokomine/yl_speak_up
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
|
if(not(var_name)) then
|
||||||
var_name = ""
|
var_name = ""
|
||||||
end
|
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
|
-- 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)
|
-- change the value for a player (possibly to nil)
|
||||||
elseif(fields and fields.store_new_value_for_player and var_name
|
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
|
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)
|
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", {
|
yl_speak_up.show_fs(player, "msg", {
|
||||||
input_to = "yl_speak_up:manage_variables",
|
input_to = "yl_speak_up:manage_variables",
|
||||||
formspec = "size[10,2]"..
|
formspec = "size[10,2.5]"..
|
||||||
"label[0.2,0.0;Set variable \""..
|
"label[0.2,0.0;"..success_msg.." \""..
|
||||||
minetest.colorize("#FFFF00",
|
minetest.colorize("#FFFF00",
|
||||||
minetest.formspec_escape(tostring(var_name)))..
|
minetest.formspec_escape(tostring(var_name)))..
|
||||||
"\"\nfor player "..
|
"\"\nfor player "..
|
||||||
minetest.formspec_escape(fields.stored_value_for_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)..".]"..
|
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
|
return
|
||||||
-- remove the value for a player (set to nil)
|
-- remove the value for a player (set to nil)
|
||||||
elseif(fields and fields.unset_value_for_player and var_name
|
elseif(fields and fields.unset_value_for_player and var_name
|
||||||
and fields.stored_value_for_player and fields.stored_value_for_player ~= "") then
|
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", {
|
yl_speak_up.show_fs(player, "msg", {
|
||||||
input_to = "yl_speak_up:manage_variables",
|
input_to = "yl_speak_up:manage_variables",
|
||||||
formspec = "size[10,2]"..
|
formspec = "size[10,2]"..
|
||||||
"label[0.2,0.0;Unset variable \""..
|
"label[0.2,0.0;"..success_msg.." \""..
|
||||||
minetest.colorize("#FFFF00",
|
minetest.colorize("#FFFF00",
|
||||||
minetest.formspec_escape(tostring(var_name)))..
|
minetest.formspec_escape(tostring(var_name)))..
|
||||||
"\"\nfor player "..
|
"\"\nfor player "..
|
||||||
minetest.formspec_escape(fields.stored_value_for_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]"})
|
"button[1.5,1.5;2,0.9;back_from_msg;Back]"})
|
||||||
return
|
return
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user