removed obsolete action "custom" (use the new "evaluate" instead)

This commit is contained in:
Sokomine 2022-08-07 20:49:09 +02:00
parent 4dfa9f2ed3
commit 77c05631eb
4 changed files with 4 additions and 85 deletions

View File

@ -89,71 +89,6 @@ yl_speak_up.custom_server_functions.precondition_eval = function(player, descr,
end end
-----------------------------------------------------------------------------
-- Custom actions
-----------------------------------------------------------------------------
-- a custom action (the formspec shown to the player);
-- overwrite this function on your server with a custom one that shows the formspec
-- that you want!
yl_speak_up.get_fs_action_custom = function(player, param)
local pname = player:get_player_name()
local dialog = yl_speak_up.speak_to[pname].dialog
return "size[8.5,4.0]"..
"button[0.2,0.0;2.0,0.9;back_to_talk;Back to talk]"..
"button[4.75,0.0;3.0,0.9;finished_action;Stare back]"..
"button[4.75,0.8;3.0,0.9;failed_action;Fail to stare back]"..
"tooltip[back_to_talk;Click here if you want to abort/cancel.]"..
"tooltip[failed_action;Click here if you want the action to FAIL.]"..
"tooltip[finished_action;Click here if you want the action to be a SUCCESS.]"..
"label[0.5,1.7;"..minetest.formspec_escape(
"["..(dialog.n_npc or "- ? -").." stares expectantly at you.]").."]"..
"label[0.5,2.5;Your custom parameter is:]"..
"label[1.5,3.0;"..minetest.formspec_escape(tostring(param)).."]"..
"label[0.5,3.5;Overwrite this function with a custom one!]"
end
-- a custom action (checking of the input);
-- overwrite this function on your server with a custom one that checks the
-- input to your formspec - but don't forget to call the necessary functions
-- as shown here
yl_speak_up.input_fs_action_custom = function(player, formname, fields)
-- back from error_msg? then show the formspec again
if(fields.back_from_error_msg) then
yl_speak_up.show_fs(player, "action_custom", nil)
return
end
local pname = player:get_player_name()
local a_id = yl_speak_up.speak_to[pname].a_id
if(fields.back_to_talk) then
-- the action was aborted
yl_speak_up.execute_next_action(player, a_id, nil)
return
end
if(fields.failed_action) then
-- the action failed
yl_speak_up.execute_next_action(player, a_id, false)
return
end
if(fields.finished_action) then
-- the action was a success
yl_speak_up.execute_next_action(player, a_id, true)
return
end
-- else show a message to the player that he ought to decide
yl_speak_up.show_fs(player, "msg", {
input_to = "yl_speak_up:action_custom",
formspec = "size[7,1.0]"..
"label[0.2,-0.2;"..
"Please click either on \"Stare back\" or \"Back to talk\"!]"..
"button[2,0.5;1.5,0.9;back_from_error_msg;Back]"})
end
-- actions: (not yet used)
yl_speak_up.custom_functions_a_ = {}
----------------------------------------------------------------------------- -----------------------------------------------------------------------------
-- Custom preconditions, actions and effects -- Custom preconditions, actions and effects
-- (they contain functions; they have the type "evaluate") -- (they contain functions; they have the type "evaluate")

View File

@ -265,9 +265,6 @@ yl_speak_up.execute_action = function(player, n_id, o_id, a)
elseif(a.a_type == "evaluate") then elseif(a.a_type == "evaluate") then
yl_speak_up.show_fs(player, "action_evaluate", a.a_value) yl_speak_up.show_fs(player, "action_evaluate", a.a_value)
return return
elseif(a.a_type == "custom") then
yl_speak_up.show_fs(player, "action_custom", a.a_value)
return
end end
-- fallback: unkown type -- fallback: unkown type
return false return false
@ -609,10 +606,10 @@ yl_speak_up.input_fs_action_evaluate = function(player, formname, fields)
-- else show a message to the player that he ought to decide -- else show a message to the player that he ought to decide
yl_speak_up.show_fs(player, "msg", { yl_speak_up.show_fs(player, "msg", {
input_to = "yl_speak_up:action_evaluate", input_to = "yl_speak_up:action_evaluate",
formspec = "size[7,1.0]".. formspec = "size[7,1.5]"..
"label[0.2,-0.2;".. "label[0.2,-0.2;"..
"Please click on one of the offered options or select \"Back to talk\"!]".. "Please click on one of the offered options\nor select \"Back to talk\"!]"..
"button[2,0.5;1.5,0.9;back_from_error_msg;Back]"}) "button[2,1.0;1.5,0.9;back_from_error_msg;Back]"})
end end

View File

@ -33,9 +33,6 @@
-- .. -- ..
-- a_param9 the 9th parameter (optional; depends on function) -- a_param9 the 9th parameter (optional; depends on function)
-- --
-- call a custom formspec ("custom"):
-- a_value parameter for the custom function
--
-- a general, more complex formspec-basted puzzle ("puzzle"): not supported -- a general, more complex formspec-basted puzzle ("puzzle"): not supported
-- (custom may be more helpful) -- (custom may be more helpful)
-- --
@ -56,12 +53,11 @@ local check_what = {
"The player is expected to give something to the NPC (i.e. a quest item).", -- 5 "The player is expected to give something to the NPC (i.e. a quest item).", -- 5
"The player has to manually enter a password or passphrase or some other text.", -- 6 "The player has to manually enter a password or passphrase or some other text.", -- 6
"Show something custom (has to be provided by the server).", "Show something custom (has to be provided by the server).",
"Call custom functions that are supposed to be overridden by the server.", -- 7
-- "The player has to move virtual items in a virtual inventory to the right position.", -- 8 -- "The player has to move virtual items in a virtual inventory to the right position.", -- 8
} }
-- how to store these as a_type in the action: -- how to store these as a_type in the action:
local values_what = {"", "none", "trade", "npc_gives", "npc_wants", "text_input", "evaluate", "custom", "puzzle"} local values_what = {"", "none", "trade", "npc_gives", "npc_wants", "text_input", "evaluate", "puzzle"}
-- returns a human-readable text as description of the action -- returns a human-readable text as description of the action
@ -94,8 +90,6 @@ yl_speak_up.show_action = function(a)
-- puzzle is unused; better do that via custom -- puzzle is unused; better do that via custom
-- elseif(a.a_type == "puzzle") then -- elseif(a.a_type == "puzzle") then
-- return "puzzle:" -- return "puzzle:"
elseif(a.a_type == "custom") then
return "Call custom function with param: \""..tostring(a.a_value).."\"."
end end
-- fallback -- fallback
return tostring(a.a_value) return tostring(a.a_value)

View File

@ -74,9 +74,6 @@ minetest.register_on_player_receive_fields( function(player, formname, fields)
elseif formname == "yl_speak_up:action_evaluate" then elseif formname == "yl_speak_up:action_evaluate" then
yl_speak_up.input_fs_action_evaluate(player, formname, fields) yl_speak_up.input_fs_action_evaluate(player, formname, fields)
return true return true
elseif formname == "yl_speak_up:action_custom" then
yl_speak_up.input_fs_action_custom(player, formname, fields)
return true
-- handled in fs_edit_effects.lua -- handled in fs_edit_effects.lua
elseif formname == "yl_speak_up:edit_effects" then elseif formname == "yl_speak_up:edit_effects" then
yl_speak_up.input_fs_edit_effects(player, formname, fields) yl_speak_up.input_fs_edit_effects(player, formname, fields)
@ -338,10 +335,6 @@ yl_speak_up.show_fs = function(player, fs_name, param)
yl_speak_up.show_fs_ver(pname, "yl_speak_up:action_evaluate", yl_speak_up.show_fs_ver(pname, "yl_speak_up:action_evaluate",
yl_speak_up.get_fs_action_evaluate(player, param)) yl_speak_up.get_fs_action_evaluate(player, param))
elseif(fs_name == "action_custom") then
yl_speak_up.show_fs_ver(pname, "yl_speak_up:action_custom",
yl_speak_up.get_fs_action_custom(player, param))
elseif(fs_name == "manage_variables") then elseif(fs_name == "manage_variables") then
yl_speak_up.show_fs_ver(pname, "yl_speak_up:manage_variables", yl_speak_up.show_fs_ver(pname, "yl_speak_up:manage_variables",
yl_speak_up.get_fs_manage_variables(player, param)) yl_speak_up.get_fs_manage_variables(player, param))