From a713e0fabb41554dae97764be9e8a6fca0b4b7a8 Mon Sep 17 00:00:00 2001 From: Lunovox Date: Sun, 25 Feb 2024 02:06:51 -0300 Subject: [PATCH] =?UTF-8?q?[feat]=20Menu=20Gr=C3=A1fico=20com=20=C3=81udio?= =?UTF-8?q?=20nos=20Bot=C3=B5es.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- formspecs.lua | 65 ++++++++++++++++++++++++++++++++++++++------------- item_eurn.lua | 3 +++ 2 files changed, 52 insertions(+), 16 deletions(-) diff --git a/formspecs.lua b/formspecs.lua index ba6b41e..76ca6c6 100644 --- a/formspecs.lua +++ b/formspecs.lua @@ -1,6 +1,32 @@ modEUrn.FormSpecs = { + showFormMain = function(playername) + local myFormSpec = "" + myFormSpec = myFormSpec + .."formspec_version[6]" + .."size[16,8,false]" + .."background[0,-8;16,16;text_eurn_front.png]" + .."box[2.05,1.50;7.75,5.00;#001100CC]" + .."button[2.15,1.65;7.55,1;btnPresElection;"..modEUrn.translate("PRESIDENTIAL ELECTION").."]" + --.."button[2.15,2.65;7.55,1;btnElectoralCourt;"..modEUrn.translate("ELECTORAL COURT").."]" + .."button_exit[2.15,3.65;7.55,1;;"..modEUrn.translate("EXIT").."]" + minetest.sound_play("sfx_eurn_button", {to_player=playername, max_hear_distance=5.0,}) + minetest.show_formspec(playername, "frmEUrnMain", myFormSpec) + end, + showFormPresElection = function(playername) + local myFormSpec = "" + myFormSpec = myFormSpec + .."formspec_version[6]" + .."size[16,8,false]" + .."background[0,-8;16,16;text_eurn_front.png]" + .."box[2.05,1.50;7.75,5.00;#001100CC]" + .."button[2.15,1.65;7.55,1;btnPresCandidates;"..modEUrn.translate("PRESIDENTIAL CANDIDATES").."]" + --.."button[2.15,2.65;7.55,1;btnPresElect;"..modEUrn.translate("PRESIDENT ELECT").."]" + .."button[2.15,3.65;7.55,1;btnBack;"..modEUrn.translate("BACK").."]" + minetest.sound_play("sfx_eurn_button", {to_player=playername, max_hear_distance=5.0,}) + minetest.show_formspec(playername, "frmEUrnPresElection", myFormSpec) + end, showFormRegCampaign = function(playername, political_campaign) local Campaign = modEUrn.getPresCandCampaign(playername) if type(political_campaign)~="string" or political_campaign==""then @@ -22,8 +48,8 @@ modEUrn.FormSpecs = { ..minetest.formspec_escape(political_campaign).. "]" .."button_exit[0.5,6.75;12.25,1;btnSave;"..modEUrn.translate("REGISTER").."]" - .."button_exit[13.25,6.75;2,1;;"..modEUrn.translate("CANCEL").."]" - + .."button_exit[12.85,6.75;2.55,1;;"..modEUrn.translate("CANCEL").."]" + minetest.sound_play("sfx_eurn_button", {to_player=playername, max_hear_distance=5.0,}) minetest.show_formspec(playername, "frmEUrnRegCampaign", myFormSpec) end, showFormInfoCampaign = function(playername, candidatename) @@ -42,13 +68,13 @@ modEUrn.FormSpecs = { )..";" ..minetest.formspec_escape(Campaign).. "]" - --.."button_exit[0.5,6.75;11,1;btnSave;"..modEUrn.translate("REGISTER").."]" - .."button_exit[0.5,6.75;15,1;;"..modEUrn.translate("CLOSE").."]" + .."button_exit[0.5,6.75;12.25,1;btnVote;"..modEUrn.translate("VOTE").."]" + .."button_exit[13.25,6.75;2,1;;"..modEUrn.translate("CLOSE").."]" minetest.log('action', modEUrn.translate("Player %s is listing campaign data..."):format(playername)) minetest.log('action',modEUrn.translate("Candidate Name")..candidatename) minetest.log('action',modEUrn.translate("Candidate Campaign")..Campaign) - + minetest.sound_play("sfx_eurn_button", {to_player=playername, max_hear_distance=5.0,}) minetest.show_formspec(playername, "frmEUrnInfoCampaign", myFormSpec) end, @@ -91,16 +117,20 @@ modEUrn.FormSpecs = { minetest.register_on_player_receive_fields(function(player, formname, fields) local playername = player:get_player_name() - --[[ - modEUrn.debug( - "formname: "..formname.."\n" - .."fields: "..dump(fields), - playername - ) - --]] - if type(formname)=="string" and formname == "frmEUrnRegCampaign" then - if type(fields.txtCampaign)~= "nil" and type(fields.btnSave) ~= "nil" - then + --modEUrn.debug("formname: "..formname.."\n".."fields: "..dump(fields), playername) + + if type(formname)=="string" and formname == "frmEUrnMain" then + if type(fields.btnPresElection) ~= "nil" then + modEUrn.FormSpecs.showFormPresElection(playername) + elseif type(fields.quit) ~= "true" then + minetest.sound_play("sfx_eurn_button", {to_player=playername, max_hear_distance=5.0,}) + end + elseif type(formname)=="string" and formname == "frmEUrnPresElection" then + if type(fields.btnBack) ~= "nil" then + modEUrn.FormSpecs.showFormMain(playername) + end + elseif type(formname)=="string" and formname == "frmEUrnRegCampaign" then + if type(fields.txtCampaign)~= "nil" and type(fields.btnSave) ~= "nil" then --modEUrn.debug("modEUrn.doPresidentCandidate(playername='"..playername.."', playername='"..playername.."', fields.txtCampaign="..dump(fields.txtCampaign)..")") if modEUrn.doPresidentCandidate(playername, playername, fields.txtCampaign) then modEUrn.doSave() @@ -108,9 +138,12 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) playername, --os.date("%Y-%m-%d %Hh:%Mm:%Ss", now) .. core.colorize("#00FF00", "[E-URN]").." " - ..modEUrn.translate("Player %s has been registered to run as a candidate for president of this server!"):format(dump(playername)) + ..modEUrn.translate("Player @1 has been registered to run as a candidate for president of this server!", dump(playername)) ) + minetest.sound_play("sfx_eurn_confirm", {to_player=playername, max_hear_distance=5.0,}) end + elseif type(fields.quit) ~= "true" then + minetest.sound_play("sfx_eurn_button", {to_player=playername, max_hear_distance=5.0,}) end end end) diff --git a/item_eurn.lua b/item_eurn.lua index f198f85..eb8d7fb 100644 --- a/item_eurn.lua +++ b/item_eurn.lua @@ -37,6 +37,9 @@ minetest.register_node("eurn:eurn", { meta:set_string("owner",ownername) end, on_rightclick = function(pos, node, clicker) + local clickername = clicker:get_player_name() + modEUrn.FormSpecs.showFormMain(clickername) + --[[ local clickername = clicker:get_player_name() local meta = minetest.get_meta(pos)