forked from Sokomine/yl_speak_up
allow to set up the npc again
This commit is contained in:
parent
e96365a483
commit
ea276c04d8
@ -5,11 +5,6 @@ yl_speak_up.input_fs_initial_config = function(player, formname, fields)
|
|||||||
local pname = player:get_player_name()
|
local pname = player:get_player_name()
|
||||||
local n_id = yl_speak_up.speak_to[pname].n_id
|
local n_id = yl_speak_up.speak_to[pname].n_id
|
||||||
|
|
||||||
-- not in edit mode? then abort
|
|
||||||
if(yl_speak_up.edit_mode[pname] ~= n_id or not(n_id)) then
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
if(fields.back_from_error_msg) then
|
if(fields.back_from_error_msg) then
|
||||||
-- no point in showing the formspec or error message again if we did so already
|
-- no point in showing the formspec or error message again if we did so already
|
||||||
if(not(yl_speak_up.may_edit_npc(player, n_id))) then
|
if(not(yl_speak_up.may_edit_npc(player, n_id))) then
|
||||||
@ -21,7 +16,7 @@ yl_speak_up.input_fs_initial_config = function(player, formname, fields)
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
if(not(fields.save_initial_config) and (fields.quit or fields.exit)) then
|
if(not(fields.save_initial_config) or (fields and fields.exit)) then
|
||||||
-- is the player editing the npc? then leaving this config
|
-- is the player editing the npc? then leaving this config
|
||||||
-- dialog has to lead back to the talk dialog
|
-- dialog has to lead back to the talk dialog
|
||||||
if(yl_speak_up.edit_mode[pname] == n_id and n_id) then
|
if(yl_speak_up.edit_mode[pname] == n_id and n_id) then
|
||||||
@ -222,6 +217,7 @@ yl_speak_up.get_fs_initial_config = function(player, n_id, d_id, is_initial_conf
|
|||||||
local tmp_text = "Please provide your new NPC with a name and description!"
|
local tmp_text = "Please provide your new NPC with a name and description!"
|
||||||
local tmp_owner = (yl_speak_up.npc_owner[ n_id ] or "- none -")
|
local tmp_owner = (yl_speak_up.npc_owner[ n_id ] or "- none -")
|
||||||
local table_of_names = {}
|
local table_of_names = {}
|
||||||
|
local may_be_edited_by = ""
|
||||||
-- use existing name and description as presets when just editing
|
-- use existing name and description as presets when just editing
|
||||||
if(not(is_initial_config)) then
|
if(not(is_initial_config)) then
|
||||||
local dialog = yl_speak_up.speak_to[pname].dialog
|
local dialog = yl_speak_up.speak_to[pname].dialog
|
||||||
@ -233,6 +229,22 @@ yl_speak_up.get_fs_initial_config = function(player, n_id, d_id, is_initial_conf
|
|||||||
dialog.n_may_edit = {}
|
dialog.n_may_edit = {}
|
||||||
end
|
end
|
||||||
table_of_names = dialog.n_may_edit
|
table_of_names = dialog.n_may_edit
|
||||||
|
may_be_edited_by =
|
||||||
|
-- who can edit this NPC?
|
||||||
|
"label[0.2,4.05;May be edited by:]"..
|
||||||
|
-- offer a dropdown list and a text input field for player names for adding
|
||||||
|
yl_speak_up.create_dropdown_playerlist(player, pname,
|
||||||
|
table_of_names, yl_speak_up.speak_to[pname].tmp_index,
|
||||||
|
2.5, 3.9, 0.0, "list_may_edit", "player", "Remove player from list",
|
||||||
|
"add_may_edit",
|
||||||
|
"Enter the name of the player whom you\n"..
|
||||||
|
"want to grant the right to edit your NPC.\n"..
|
||||||
|
"The player needs at least the npc_talk_owner priv\n"..
|
||||||
|
"in order to actually edit the NPC.",
|
||||||
|
"delete_may_edit",
|
||||||
|
"If you click here, the player will no\n"..
|
||||||
|
"longer be able to edit your NPC."
|
||||||
|
)
|
||||||
end
|
end
|
||||||
local formspec = "size[10,6]"..
|
local formspec = "size[10,6]"..
|
||||||
"label[0.2,0.2;"..tmp_text.."]"..
|
"label[0.2,0.2;"..tmp_text.."]"..
|
||||||
@ -249,21 +261,7 @@ yl_speak_up.get_fs_initial_config = function(player, n_id, d_id, is_initial_conf
|
|||||||
"field[2.0,3.2;8,0.9;n_owner;;"..minetest.formspec_escape(tmp_owner).."]"..
|
"field[2.0,3.2;8,0.9;n_owner;;"..minetest.formspec_escape(tmp_owner).."]"..
|
||||||
"tooltip[n_owner;The owner of the NPC. This can only be changed\n"..
|
"tooltip[n_owner;The owner of the NPC. This can only be changed\n"..
|
||||||
"if you have the npc_talk_master priv.;#FFFFFF;#000000]"..
|
"if you have the npc_talk_master priv.;#FFFFFF;#000000]"..
|
||||||
-- who can edit this NPC?
|
may_be_edited_by..
|
||||||
"label[0.2,4.05;May be edited by:]"..
|
|
||||||
-- offer a dropdown list and a text input field for player names for adding
|
|
||||||
yl_speak_up.create_dropdown_playerlist(player, pname,
|
|
||||||
table_of_names, yl_speak_up.speak_to[pname].tmp_index,
|
|
||||||
2.5, 3.9, 0.0, "list_may_edit", "player", "Remove player from list",
|
|
||||||
"add_may_edit",
|
|
||||||
"Enter the name of the player whom you\n"..
|
|
||||||
"want to grant the right to edit your NPC.\n"..
|
|
||||||
"The player needs at least the npc_talk_owner priv\n"..
|
|
||||||
"in order to actually edit the NPC.",
|
|
||||||
"delete_may_edit",
|
|
||||||
"If you click here, the player will no\n"..
|
|
||||||
"longer be able to edit your NPC."
|
|
||||||
)..
|
|
||||||
-- save and exit buttons
|
-- save and exit buttons
|
||||||
"button_exit[3.2,5.2;2,0.9;save_initial_config;Save]"..
|
"button_exit[3.2,5.2;2,0.9;save_initial_config;Save]"..
|
||||||
"button_exit[5.4,5.2;2,0.9;exit;Exit]"
|
"button_exit[5.4,5.2;2,0.9;exit;Exit]"
|
||||||
|
Loading…
Reference in New Issue
Block a user