forked from Sokomine/yl_speak_up
fixed bugs regarding variable selection in preconditions and effects
This commit is contained in:
parent
f794a10a30
commit
a1af19ca46
@ -844,7 +844,7 @@ yl_speak_up.get_fs_edit_option_related = function(player, table_click_result,
|
|||||||
data.var_cmp_value = e[ id_prefix.."var_cmp_value" ]
|
data.var_cmp_value = e[ id_prefix.."var_cmp_value" ]
|
||||||
data.variable_name = e[ id_prefix.."variable" ]
|
data.variable_name = e[ id_prefix.."variable" ]
|
||||||
local var_list = get_sorted_player_var_list_function(pname)
|
local var_list = get_sorted_player_var_list_function(pname)
|
||||||
data.variable = math.max(1, table.indexof(var_list, e[ id_prefix.."variable"]))
|
data.variable = math.max(1, table.indexof(var_list, e[ id_prefix.."variable"])+1)
|
||||||
-- a block (precondition + effect)
|
-- a block (precondition + effect)
|
||||||
elseif(data.what == 3 and id_prefix ~= "a_") then
|
elseif(data.what == 3 and id_prefix ~= "a_") then
|
||||||
data.block = math.max(1,table.indexof(values_block, e[ id_prefix.."value" ]))
|
data.block = math.max(1,table.indexof(values_block, e[ id_prefix.."value" ]))
|
||||||
@ -940,8 +940,8 @@ yl_speak_up.get_fs_edit_option_related = function(player, table_click_result,
|
|||||||
-- "an internal state (i.e. of a quest)", -- 2
|
-- "an internal state (i.e. of a quest)", -- 2
|
||||||
-- (state is the second offered option in both preconditions and effects list)
|
-- (state is the second offered option in both preconditions and effects list)
|
||||||
if(data.what and data.what == 2 and id_prefix ~= "a_") then
|
if(data.what and data.what == 2 and id_prefix ~= "a_") then
|
||||||
if(not(data.variable) or data.variable == 1) then
|
if(not(data.variable) or data.variable < 1) then
|
||||||
data.variable = 1
|
data.variable = 0
|
||||||
-- not enough selected yet for saving
|
-- not enough selected yet for saving
|
||||||
save_button = ""
|
save_button = ""
|
||||||
elseif(not(data.operator) or data.operator == 1) then
|
elseif(not(data.operator) or data.operator == 1) then
|
||||||
@ -962,12 +962,16 @@ yl_speak_up.get_fs_edit_option_related = function(player, table_click_result,
|
|||||||
-- the player has read access to, and the order has to be constant
|
-- the player has read access to, and the order has to be constant
|
||||||
-- (because dropdown just returns an index)
|
-- (because dropdown just returns an index)
|
||||||
local var_list = get_sorted_player_var_list_function(pname)
|
local var_list = get_sorted_player_var_list_function(pname)
|
||||||
|
local var_list_text = "- please select -"
|
||||||
|
for i, v in ipairs(var_list) do
|
||||||
|
var_list_text = var_list_text..","..minetest.formspec_escape(tostring(v))
|
||||||
|
end
|
||||||
formspec = formspec..
|
formspec = formspec..
|
||||||
"label[0.2,3.3;"..text_variable.."]"..
|
"label[0.2,3.3;"..text_variable.."]"..
|
||||||
"label[0.2,4.3;Name of variable:]"..
|
"label[0.2,4.3;Name of variable:]"..
|
||||||
"dropdown[0.2,4.8;6.5,0.6;select_variable;"..
|
"dropdown[0.2,4.8;6.5,0.6;select_variable;"..
|
||||||
table.concat(var_list, ",")..";"..
|
var_list_text..";"..
|
||||||
tostring(data.variable)..";]"..
|
tostring(data.variable + 1)..";]"..
|
||||||
"label[7.0,4.3;"..text_select_operator.."]"..
|
"label[7.0,4.3;"..text_select_operator.."]"..
|
||||||
"dropdown[7.0,4.8;4.0,0.6;select_operator;"..
|
"dropdown[7.0,4.8;4.0,0.6;select_operator;"..
|
||||||
table.concat(check_operator, ",")..";"..
|
table.concat(check_operator, ",")..";"..
|
||||||
|
@ -103,7 +103,7 @@ local values_operator = {"", "==", "~=", ">=", ">", "<=", "<", "not", "is_set",
|
|||||||
|
|
||||||
-- some internal ones...
|
-- some internal ones...
|
||||||
local check_variable = {
|
local check_variable = {
|
||||||
"- please select -",
|
-- "- please select -", -- this is automaticly added to the var list
|
||||||
"(internal) hour of ingame day", -- 2
|
"(internal) hour of ingame day", -- 2
|
||||||
"(internal) player's health points", -- 3
|
"(internal) player's health points", -- 3
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user