variables can now have a default value other than nil
This commit is contained in:
parent
9077feb1a9
commit
67fe90c984
@ -198,9 +198,12 @@ yl_speak_up.get_quest_variable_value = function(player_name, variable_name)
|
||||
-- the owner name is alrady encoded in the variable name
|
||||
local k = tostring(variable_name)
|
||||
if(not(variable_name) or not(player_name) or not(yl_speak_up.player_vars[ k ])) then
|
||||
yl_speak_up.get_variable_metadata(k_long, "default_value", true)
|
||||
return nil
|
||||
end
|
||||
-- return stored value OR the default value
|
||||
return yl_speak_up.player_vars[ k ][ player_name ]
|
||||
or yl_speak_up.player_vars[ k ][ "$META$"][ "default_value" ]
|
||||
end
|
||||
|
||||
|
||||
@ -368,6 +371,12 @@ yl_speak_up.set_variable_metadata = function(k, pname, meta_name, entry_name, ne
|
||||
-- var_type (the type of the variable) is a single string
|
||||
if(meta_name == "var_type") then
|
||||
yl_speak_up.player_vars[ k ][ "$META$"][ meta_name ] = new_value
|
||||
elseif(meta_name == "default_value") then
|
||||
-- reset default value to nil with empty string:
|
||||
if(new_value == "") then
|
||||
new_value = nil
|
||||
end
|
||||
yl_speak_up.player_vars[ k ][ "$META$"][ meta_name ] = new_value
|
||||
else
|
||||
if( not(yl_speak_up.player_vars[ k ][ "$META$" ][ meta_name ])
|
||||
or type(yl_speak_up.player_vars[ k ][ "$META$" ][ meta_name ]) ~= "table") then
|
||||
@ -524,7 +533,7 @@ end
|
||||
-- which NPC do use this variable?
|
||||
yl_speak_up.get_variable_metadata = function(var_name, meta_name, get_as_is)
|
||||
-- var_type (the type of the variable) is a single string
|
||||
if(meta_name and var_name and meta_name == "var_type") then
|
||||
if(meta_name and var_name and (meta_name == "var_type" or meta_name == "default_value")) then
|
||||
if( not(yl_speak_up.player_vars[ var_name ])
|
||||
or not(yl_speak_up.player_vars[ var_name ][ "$META$"])) then
|
||||
return nil
|
||||
|
Loading…
Reference in New Issue
Block a user