diff --git a/functions.lua b/functions.lua index 23be918..d662eb1 100644 --- a/functions.lua +++ b/functions.lua @@ -1696,8 +1696,32 @@ end -- options -minetest.register_on_player_receive_fields( - function(player, formname, fields) +-- route player input to the right functions; +-- return true when the right function has been found +minetest.register_on_player_receive_fields( function(player, formname, fields) + if formname == "yl_speak_up:optiondialog" then + yl_speak_up.input_optiondialog(player, formname, fields) + return true + elseif formname == "yl_speak_up:setdialog" then + yl_speak_up.input_setdialog(player, formname, fields) + return true + elseif formname == "yl_speak_up:confirm_save" then + yl_speak_up.input_confirm_save(player, formname, fields) + return true + elseif formname == "yl_speak_up:edit_option_dialog" then + yl_speak_up.input_edit_option_dialog(player, formname, fields) + return true + elseif formname == "yl_speak_up:talk" then + yl_speak_up.input_talk(player, formname, fields) + return true + elseif formname == "yl_speak_up:fashion" then + yl_speak_up.input_fashion(player, formname, fields) + return true + end +end) + + +yl_speak_up.input_optiondialog = function(player, formname, fields) if formname ~= "yl_speak_up:optiondialog" then return end @@ -1855,13 +1879,11 @@ minetest.register_on_player_receive_fields( "yl_speak_up:optiondialog", get_fs_optiondialog(player, n_id, d_id, o_id, p_id, r_id) ) - end -) +end -- dialog -minetest.register_on_player_receive_fields( - function(player, formname, fields) +yl_speak_up.input_setdialog = function(player, formname, fields) if formname ~= "yl_speak_up:setdialog" then return end @@ -1952,8 +1974,7 @@ minetest.register_on_player_receive_fields( yl_speak_up.speak_to[pname].d_id = fields.d_id minetest.show_formspec(pname, "yl_speak_up:setdialog", get_fs_setdialog(player, n_id, fields.d_id)) end - end -) +end -- talk @@ -2491,19 +2512,16 @@ end -- end of yl_speak_up.edit_mode_apply_changes -minetest.register_on_player_receive_fields( - function(player, formname, fields) +yl_speak_up.input_confirm_save = function(player, formname, fields) if formname ~= "yl_speak_up:confirm_save" then return end yl_speak_up.save_changes_and_switch_to_other_dialog(player, fields, fields.goto_target_dialog) - end -) +end -- process input from formspec created in get_fs_edit_option_dialog(..) -minetest.register_on_player_receive_fields( - function(player, formname, fields) +yl_speak_up.input_edit_option_dialog = function(player, formname, fields) if formname ~= "yl_speak_up:edit_option_dialog" then return end @@ -2580,8 +2598,7 @@ minetest.register_on_player_receive_fields( -- if ESC is pressed or anything else unpredicted happens: go back to the main dialog edit window -- reason: don't loose any unsaved changes to the dialog minetest.show_formspec(pname, "yl_speak_up:talk", get_fs_talkdialog(player, n_id, d_id)) - end -) +end -- identify multiple results that lead to target dialogs @@ -2621,8 +2638,7 @@ yl_speak_up.check_for_disambigous_results = function(n_id, pname) end -minetest.register_on_player_receive_fields( - function(player, formname, fields) +yl_speak_up.input_talk = function(player, formname, fields) if formname ~= "yl_speak_up:talk" then return end @@ -3010,8 +3026,7 @@ minetest.register_on_player_receive_fields( end end end - end -) +end -- Make the NPC talk @@ -3417,8 +3432,7 @@ yl_speak_up.get_fs_fashion = function(pname) return table.concat(formspec, "") end -minetest.register_on_player_receive_fields( --fashion - function(player, formname, fields) +yl_speak_up.input_fashion = function(player, formname, fields) if formname ~= "yl_speak_up:fashion" then return end @@ -3495,8 +3509,7 @@ minetest.register_on_player_receive_fields( --fashion end minetest.show_formspec(pname, "yl_speak_up:fashion", yl_speak_up.get_fs_fashion(pname)) - end -) +end function yl_speak_up.fashion(player, obj) local luaentity = obj:get_luaentity()