[feat] Menu Gráfico com Áudio nos Botões.

This commit is contained in:
Lunovox 2024-02-25 02:06:51 -03:00
parent 7b6310f6e1
commit a713e0fabb
2 changed files with 52 additions and 16 deletions

View file

@ -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)

View file

@ -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)