mirror of
https://gitlab.com/lunovox/e-urn.git
synced 2025-03-20 17:51:21 +00:00
[feat] Adicionando interface gráfica!
This commit is contained in:
parent
e5684c5747
commit
9c63aa9b40
3 changed files with 292 additions and 121 deletions
142
api.lua
142
api.lua
|
@ -3,6 +3,65 @@ minetest.register_privilege("electoraljudge", {
|
||||||
give_to_singleplayer=false,
|
give_to_singleplayer=false,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
modEUrn.debug = function(text, playername)
|
||||||
|
if text ~= nil
|
||||||
|
and type(text) == "string"
|
||||||
|
and text ~= ""
|
||||||
|
then
|
||||||
|
if minetest.settings:get_bool("eurn.debug") then
|
||||||
|
if playername ~= nil
|
||||||
|
and type(playername) == "string"
|
||||||
|
and playername ~= ""
|
||||||
|
then
|
||||||
|
local player = minetest.get_player_by_name(playername)
|
||||||
|
if player ~=nil and player:is_player() then
|
||||||
|
minetest.chat_send_player(
|
||||||
|
playername, text
|
||||||
|
)
|
||||||
|
minetest.log('action',"["..modEUrn.modname:upper()..":DEBUG:"..playername.."] "..text)
|
||||||
|
else
|
||||||
|
minetest.log('error',
|
||||||
|
"["..modEUrn.modname:upper()..":DEBUG] "
|
||||||
|
..modEUrn.translate(
|
||||||
|
"Unable to address debug for player '%s'."
|
||||||
|
):format(dump(playername))
|
||||||
|
)
|
||||||
|
minetest.log('action',"["..modEUrn.modname:upper()..":DEBUG] "..text)
|
||||||
|
end
|
||||||
|
else
|
||||||
|
minetest.chat_send_all(text)
|
||||||
|
minetest.log('action',"["..modEUrn.modname:upper()..":DEBUG] "..text)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
modEUrn.unsortTableByValue = function(tbl)
|
||||||
|
if type(tbl)~="table" then
|
||||||
|
tbl = {}
|
||||||
|
end
|
||||||
|
|
||||||
|
--modEUrn.debug("modEUrn.unsortTableByValue(): tbl = "..dump(tbl))
|
||||||
|
table.sort(tbl, function(a, b)
|
||||||
|
local aaa = "a(%s) > b(%s)"
|
||||||
|
aaa = aaa:format(dump(a), dump(b))
|
||||||
|
modEUrn.debug(aaa)
|
||||||
|
return a >= b
|
||||||
|
end)
|
||||||
|
--modEUrn.debug("modEUrn.unsortTableByValue(): tbl = "..dump(tbl))
|
||||||
|
|
||||||
|
return tbl
|
||||||
|
end
|
||||||
|
|
||||||
|
modEUrn.sortTableLenght = function(t)
|
||||||
|
local count = 0
|
||||||
|
--modEUrn.debug("t = "..dump(t))
|
||||||
|
for _ in pairs(t) do
|
||||||
|
count = count + 1
|
||||||
|
end
|
||||||
|
return count
|
||||||
|
end
|
||||||
|
|
||||||
modEUrn.handler = {
|
modEUrn.handler = {
|
||||||
elected = {
|
elected = {
|
||||||
president = {
|
president = {
|
||||||
|
@ -71,6 +130,7 @@ modEUrn.getPresidentName = function()
|
||||||
then
|
then
|
||||||
return modEUrn.handler.elected.president.name
|
return modEUrn.handler.elected.president.name
|
||||||
end
|
end
|
||||||
|
return ""
|
||||||
end
|
end
|
||||||
|
|
||||||
modEUrn.doPresident = function(playername, candidatename)
|
modEUrn.doPresident = function(playername, candidatename)
|
||||||
|
@ -161,10 +221,12 @@ end
|
||||||
|
|
||||||
modEUrn.getPresCandCampaign = function(candidatename)
|
modEUrn.getPresCandCampaign = function(candidatename)
|
||||||
local political_campaign = "There are no campaign data about this political candidate."
|
local political_campaign = "There are no campaign data about this political candidate."
|
||||||
if type(modEUrn.handler.candidates.president[candidatename].political_campaign)=="string"
|
--modEUrn.debug("candidatename="..dump(candidatename))
|
||||||
|
if type(modEUrn.handler.candidates.president[candidatename])=="table"
|
||||||
|
and type(modEUrn.handler.candidates.president[candidatename].political_campaign)=="string"
|
||||||
and modEUrn.handler.candidates.president[candidatename].political_campaign ~= ""
|
and modEUrn.handler.candidates.president[candidatename].political_campaign ~= ""
|
||||||
then
|
then
|
||||||
political_campaign =modEUrn.handler.candidates.president[candidatename].political_campaign
|
political_campaign = modEUrn.handler.candidates.president[candidatename].political_campaign
|
||||||
end
|
end
|
||||||
return political_campaign
|
return political_campaign
|
||||||
end
|
end
|
||||||
|
@ -178,6 +240,63 @@ modEUrn.getPresidentCandidates = function()
|
||||||
return cands
|
return cands
|
||||||
end
|
end
|
||||||
|
|
||||||
|
modEUrn.showPresCandCampaign = function(playername, candidatename)
|
||||||
|
if type(candidatename)=="string" and candidatename ~= "" then --Se o nome do candidato foi dito
|
||||||
|
if minetest.player_exists(candidatename) then --Se existe algum jogador o nome que foi dito
|
||||||
|
if type(modEUrn.handler.candidates.president[candidatename])=="table" then --Se foi algum candidato registrado.
|
||||||
|
local player = minetest.get_player_by_name(playername)
|
||||||
|
if player:is_player() then --verifica se o jogador está online ou por terminal
|
||||||
|
modEUrn.FormSpecs.showFormInfoCampaign(playername, candidatename)
|
||||||
|
else
|
||||||
|
minetest.chat_send_player(
|
||||||
|
playername,
|
||||||
|
core.colorize("#00FF00", "[E-URN]").." "
|
||||||
|
..core.colorize("#888888",
|
||||||
|
modEUrn.translate("Candidate Name")..": "
|
||||||
|
)
|
||||||
|
..core.colorize("#00FF00", candidatename)
|
||||||
|
)
|
||||||
|
local Campaign = modEUrn.getPresCandCampaign(candidatename)
|
||||||
|
if type(Campaign)=="string" and Campaign~="" then
|
||||||
|
minetest.chat_send_player(
|
||||||
|
playername,
|
||||||
|
core.colorize("#00FF00", "[E-URN]").." "
|
||||||
|
..core.colorize("#888888",
|
||||||
|
modEUrn.translate("Candidate Campaign")..": "
|
||||||
|
)
|
||||||
|
..Campaign
|
||||||
|
)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
else
|
||||||
|
minetest.chat_send_player(
|
||||||
|
playername,
|
||||||
|
core.colorize("#FF0000", "[E-URN]").." "
|
||||||
|
..modEUrn.translate("Player %s is not registered as a candidate for president!"):format(candidatename)
|
||||||
|
)
|
||||||
|
end
|
||||||
|
else
|
||||||
|
minetest.chat_send_player(
|
||||||
|
playername,
|
||||||
|
--os.date("%Y-%m-%d %Hh:%Mm:%Ss", now) ..
|
||||||
|
core.colorize("#FF0000", "[E-URN]").." "
|
||||||
|
..modEUrn.translate("The name '%s' is not the player name registered on the server!"):format(candidatename)
|
||||||
|
)
|
||||||
|
end
|
||||||
|
else
|
||||||
|
minetest.chat_send_player(
|
||||||
|
playername,
|
||||||
|
--os.date("%Y-%m-%d %Hh:%Mm:%Ss", now) ..
|
||||||
|
core.colorize("#FF0000", "[E-URN]").." "
|
||||||
|
..modEUrn.translate("Please enter the name of the candidate you wish to display the campaign!").."\n"
|
||||||
|
..core.colorize("#888888", "Syntaxe: ")
|
||||||
|
..core.colorize("#00FFFF",
|
||||||
|
"/campaign <"..modEUrn.translate("candidate_name")..">"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
modEUrn.doCheckPresident = function()
|
modEUrn.doCheckPresident = function()
|
||||||
--Verifica registra quem será o presidente pela maioria de voto do candidato.
|
--Verifica registra quem será o presidente pela maioria de voto do candidato.
|
||||||
if #modEUrn.handler.candidates.president >= 1 then
|
if #modEUrn.handler.candidates.president >= 1 then
|
||||||
|
@ -261,23 +380,10 @@ minetest.register_on_shutdown(function()
|
||||||
--minetest.log('action',"[E-URN] "..modEUrn.translate("Saving the database from all players in the file '%s'!"):format(modEUrn.urlTabela))
|
--minetest.log('action',"[E-URN] "..modEUrn.translate("Saving the database from all players in the file '%s'!"):format(modEUrn.urlTabela))
|
||||||
end)
|
end)
|
||||||
|
|
||||||
minetest.register_on_player_receive_fields(function(player, formname, fields)
|
|
||||||
if type(formname)~="string" and formname == "eurn" then
|
|
||||||
local playername = player:get_player_name()
|
|
||||||
if type(fields.txtCampaign)=="string"
|
|
||||||
and (
|
|
||||||
type(fields.key_enter) ~= "nil"
|
|
||||||
or type(fields.btnSave) ~= "nil"
|
|
||||||
)
|
|
||||||
then
|
|
||||||
modEUrn.doPresidentCandidate(playername, playername, fields.txtCampaign)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end)
|
|
||||||
|
|
||||||
minetest.after(3.5, function()
|
minetest.after(3.5, function()
|
||||||
minetest.register_globalstep(function(dtime)
|
minetest.register_globalstep(function(dtime)
|
||||||
local presname = modEUrn.handler.elected.president.name
|
--local presname = modEUrn.handler.elected.president.name
|
||||||
|
local presname = modEUrn.getPresidentName()
|
||||||
if type(presname)=="string" and presname~="" then
|
if type(presname)=="string" and presname~="" then
|
||||||
local mesAtual = os.date("%m", os.time())
|
local mesAtual = os.date("%m", os.time())
|
||||||
local mesChecked = os.date("%m", tonumber(modEUrn.handler.elected.president.when) or os.time())
|
local mesChecked = os.date("%m", tonumber(modEUrn.handler.elected.president.when) or os.time())
|
||||||
|
@ -287,3 +393,5 @@ minetest.after(3.5, function()
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
|
||||||
|
|
149
commands.lua
149
commands.lua
|
@ -75,16 +75,22 @@ modEUrn.getPropCommCandidateMe = function()
|
||||||
params = "[<".. modEUrn.translate("political campaign")..">]",
|
params = "[<".. modEUrn.translate("political campaign")..">]",
|
||||||
description = modEUrn.translate("Register your campaign to run for server president."),
|
description = modEUrn.translate("Register your campaign to run for server president."),
|
||||||
func = function(playername, political_campaign)
|
func = function(playername, political_campaign)
|
||||||
local candidatename = playername
|
local player = minetest.get_player_by_name(playername)
|
||||||
if modEUrn.doPresidentCandidate(playername, candidatename, political_campaign) then
|
if player and player:is_player() then
|
||||||
modEUrn.doSave()
|
--modEUrn.debug("playername='"..playername.."' | political_campaign='"..political_campaign.."'")
|
||||||
minetest.chat_send_player(
|
modEUrn.FormSpecs.showFormRegCampaign(playername, political_campaign)
|
||||||
playername,
|
else
|
||||||
--os.date("%Y-%m-%d %Hh:%Mm:%Ss", now) ..
|
local candidatename = playername
|
||||||
core.colorize("#00FF00", "[E-URN]").." "
|
if modEUrn.doPresidentCandidate(playername, candidatename, political_campaign) then
|
||||||
..modEUrn.translate("Player %s has been registered to run as a candidate for president of this server!"):format(dump(candidatename))
|
modEUrn.doSave()
|
||||||
)
|
minetest.chat_send_player(
|
||||||
end
|
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(candidatename))
|
||||||
|
)
|
||||||
|
end
|
||||||
|
end
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
@ -156,56 +162,7 @@ modEUrn.getPropCommCandCampaign = function()
|
||||||
params = "<".. modEUrn.translate("candidate_name")..">",
|
params = "<".. modEUrn.translate("candidate_name")..">",
|
||||||
description = modEUrn.translate("Show the Campaign of candidate for president."),
|
description = modEUrn.translate("Show the Campaign of candidate for president."),
|
||||||
func = function(playername, candidatename)
|
func = function(playername, candidatename)
|
||||||
if type(candidatename)=="string" and candidatename ~= "" then
|
modEUrn.showPresCandCampaign(playername, candidatename)
|
||||||
|
|
||||||
if minetest.player_exists(candidatename) then
|
|
||||||
if type(modEUrn.handler.candidates.president[candidatename])=="table" then
|
|
||||||
minetest.chat_send_player(
|
|
||||||
playername,
|
|
||||||
core.colorize("#00FF00", "[E-URN]").." "
|
|
||||||
..core.colorize("#888888",
|
|
||||||
modEUrn.translate("Candidate Name: ")
|
|
||||||
)
|
|
||||||
..core.colorize("#00FF00", candidatename)
|
|
||||||
)
|
|
||||||
local Campaign = modEUrn.getPresCandCampaign(candidatename)
|
|
||||||
if type(Campaign)=="string" and Campaign~="" then
|
|
||||||
minetest.chat_send_player(
|
|
||||||
playername,
|
|
||||||
core.colorize("#00FF00", "[E-URN]").." "
|
|
||||||
..core.colorize("#888888",
|
|
||||||
modEUrn.translate("Candidate Campaign: ")
|
|
||||||
)
|
|
||||||
..Campaign
|
|
||||||
)
|
|
||||||
end
|
|
||||||
else
|
|
||||||
minetest.chat_send_player(
|
|
||||||
playername,
|
|
||||||
core.colorize("#FF0000", "[E-URN]").." "
|
|
||||||
..modEUrn.translate("Player %s is not registered as a candidate for president!"):format(candidatename)
|
|
||||||
)
|
|
||||||
end
|
|
||||||
else
|
|
||||||
minetest.chat_send_player(
|
|
||||||
playername,
|
|
||||||
--os.date("%Y-%m-%d %Hh:%Mm:%Ss", now) ..
|
|
||||||
core.colorize("#FF0000", "[E-URN]").." "
|
|
||||||
..modEUrn.translate("The name '%s' is not the player name registered on the server!"):format(candidatename)
|
|
||||||
)
|
|
||||||
end
|
|
||||||
else
|
|
||||||
minetest.chat_send_player(
|
|
||||||
playername,
|
|
||||||
--os.date("%Y-%m-%d %Hh:%Mm:%Ss", now) ..
|
|
||||||
core.colorize("#FF0000", "[E-URN]").." "
|
|
||||||
..modEUrn.translate("Please enter the name of the candidate you wish to display the campaign!").."\n"
|
|
||||||
..core.colorize("#888888", "Syntaxe: ")
|
|
||||||
..core.colorize("#00FFFF",
|
|
||||||
"/campaign <"..modEUrn.translate("candidate_name")..">"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
end
|
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
@ -238,7 +195,10 @@ modEUrn.getPropCommCandVote = function()
|
||||||
--modEUrn.handler.voters[playername].times.played
|
--modEUrn.handler.voters[playername].times.played
|
||||||
|
|
||||||
for iCandPresName, _ in pairs(modEUrn.handler.candidates.president) do
|
for iCandPresName, _ in pairs(modEUrn.handler.candidates.president) do
|
||||||
|
--modEUrn.debug("iCandPresName = "..iCandPresName)
|
||||||
if type(modEUrn.handler.candidates.president[iCandPresName].voters[playername])~="nil" then
|
if type(modEUrn.handler.candidates.president[iCandPresName].voters[playername])~="nil" then
|
||||||
|
--modEUrn.debug("modEUrn.handler.candidates.president["..iCandPresName.."].voters = "..dump(modEUrn.handler.candidates.president[iCandPresName].voters))
|
||||||
|
modEUrn.handler.candidates.president[iCandPresName].voters[playername] = nil
|
||||||
break
|
break
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -255,7 +215,7 @@ modEUrn.getPropCommCandVote = function()
|
||||||
minetest.chat_send_player(
|
minetest.chat_send_player(
|
||||||
playername,
|
playername,
|
||||||
core.colorize("#FF0000", "[E-URN]").." "
|
core.colorize("#FF0000", "[E-URN]").." "
|
||||||
..modEUrn.translate("Player %s is not registered as a candidate for president!"):format(candidatename)
|
..modEUrn.translate("Player '%s' is not registered as a candidate for president!"):format(candidatename)
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
|
@ -299,6 +259,71 @@ minetest.register_chatcommand(
|
||||||
modEUrn.getPropCommCandVote()
|
modEUrn.getPropCommCandVote()
|
||||||
)
|
)
|
||||||
|
|
||||||
|
--############################################################################
|
||||||
|
|
||||||
|
modEUrn.getPropCommVotes = function()
|
||||||
|
return {
|
||||||
|
privs = {electoraljudge=true},
|
||||||
|
--params = "<".. modEUrn.translate("candidate_name")..">",
|
||||||
|
description = modEUrn.translate("Displays the number of votes for each candidate!"),
|
||||||
|
func = function(playername, candidatename)
|
||||||
|
--modEUrn.debug("modEUrn.handler.candidates.president = "..dump(modEUrn.handler.candidates.president))
|
||||||
|
--modEUrn.debug("modEUrn.sortTableLenght(modEUrn.handler.candidates.president) = "..modEUrn.sortTableLenght(modEUrn.handler.candidates.president))
|
||||||
|
if type(modEUrn.handler.candidates.president)=="table" then
|
||||||
|
local votes = {}
|
||||||
|
for iCandPresName, iCandPresTable in pairs(modEUrn.handler.candidates.president) do
|
||||||
|
local num = modEUrn.sortTableLenght(iCandPresTable.voters)
|
||||||
|
if type(iCandPresTable.voters)=="table" and num >= 1 then
|
||||||
|
votes[iCandPresName] = num
|
||||||
|
--modEUrn.debug("num = "..num)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if modEUrn.sortTableLenght(votes) >= 1 then
|
||||||
|
--modEUrn.debug(dump(votes))
|
||||||
|
votes = modEUrn.unsortTableByValue(votes)
|
||||||
|
--modEUrn.debug(dump(votes))
|
||||||
|
local strVotes = ""
|
||||||
|
for iCandPresName, iCandPresVotes in pairs(votes) do
|
||||||
|
--modEUrn.debug("modEUrn.getPropCommVotes(): iCandPresName = "..dump(iCandPresName).." | iCandPresVotes = "..dump(iCandPresVotes))
|
||||||
|
if strVotes=="" then
|
||||||
|
strVotes = modEUrn.translate(" * %s : %02d votes"):format(iCandPresName, iCandPresVotes)
|
||||||
|
else
|
||||||
|
strVotes = strVotes.."\n"..modEUrn.translate(" * %s : %02d votes"):format(iCandPresName, iCandPresVotes)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
minetest.chat_send_player(
|
||||||
|
playername,
|
||||||
|
core.colorize("#00FF00", "[E-URN]").." "
|
||||||
|
..modEUrn.translate("Voting list for presidential election: ").."\n"..strVotes
|
||||||
|
)
|
||||||
|
|
||||||
|
--]]
|
||||||
|
|
||||||
|
else
|
||||||
|
minetest.chat_send_player(
|
||||||
|
playername,
|
||||||
|
core.colorize("#FF0000", "[E-URN]").." "
|
||||||
|
..modEUrn.translate("No one has voted in the presidential election yet!")
|
||||||
|
--..core.colorize("#00FF00", candidatename)
|
||||||
|
)
|
||||||
|
end
|
||||||
|
else
|
||||||
|
minetest.chat_send_player(
|
||||||
|
playername,
|
||||||
|
core.colorize("#FF0000", "[E-URN]").." "
|
||||||
|
..modEUrn.translate("There is no registered candidate for the presidential election!")
|
||||||
|
--..core.colorize("#00FF00", candidatename)
|
||||||
|
)
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
minetest.register_chatcommand(
|
||||||
|
"votes",
|
||||||
|
modEUrn.getPropCommVotes()
|
||||||
|
)
|
||||||
|
|
||||||
--############################################################################
|
--############################################################################
|
||||||
|
|
||||||
|
@ -326,4 +351,4 @@ minetest.register_chatcommand(
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
--]]
|
--]]
|
||||||
|
|
122
formspecs.lua
122
formspecs.lua
|
@ -1,48 +1,58 @@
|
||||||
local body = [[
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<center>
|
|
||||||
<img name=favicon.png float=center width=96 height=96>
|
|
||||||
<style font=mono color=#FF0000 size=24><b>OLÁ %s!</b></style>
|
|
||||||
</center>
|
|
||||||
|
|
||||||
Esse é um <action name=lnkExemplo1><item name=default:sword_wood valign=middle width=14 height=14> Exemplo de Link</action> em formato hyperlink. (Não é funcional!)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<center>
|
|
||||||
-= Fim =-
|
|
||||||
<bigger>=D</bigger>
|
|
||||||
</center>
|
|
||||||
|
|
||||||
]]
|
|
||||||
|
|
||||||
|
|
||||||
modEUrn.FormSpecs = {
|
modEUrn.FormSpecs = {
|
||||||
|
showFormRegCampaign = function(playername, political_campaign)
|
||||||
|
local Campaign = modEUrn.getPresCandCampaign(playername)
|
||||||
|
if type(political_campaign)~="string" or political_campaign==""then
|
||||||
|
political_campaign = Campaign
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
local myFormSpec = ""
|
||||||
|
myFormSpec = myFormSpec
|
||||||
|
.."formspec_version[6]"
|
||||||
|
.."size[16,8,false]"
|
||||||
|
.."background[0,-8;16,16;text_eurn_front.png]"
|
||||||
|
.."box[0.5,0.75;15,5.75;#000000CC]"
|
||||||
|
.."textarea[0.5,0.75;15,5.75;txtCampaign;"
|
||||||
|
..minetest.formspec_escape(
|
||||||
|
modEUrn.translate("Campanha Política de")..": "..
|
||||||
|
core.colorize("#00FF00", playername)
|
||||||
|
)..";"
|
||||||
|
..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").."]"
|
||||||
|
|
||||||
|
minetest.show_formspec(playername, "frmEUrnRegCampaign", myFormSpec)
|
||||||
|
end,
|
||||||
|
showFormInfoCampaign = function(playername, candidatename)
|
||||||
|
local Campaign = modEUrn.getPresCandCampaign(candidatename)
|
||||||
|
--if type(modEUrn.handler.candidates.president[candidatename])=="nil" then Campaign = "" end
|
||||||
|
local myFormSpec = ""
|
||||||
|
myFormSpec = myFormSpec
|
||||||
|
.."formspec_version[6]"
|
||||||
|
.."size[16,8,false]"
|
||||||
|
.."background[0,-8;16,16;text_eurn_front.png]"
|
||||||
|
.."box[0.5,0.75;15,5.75;#00000088]"
|
||||||
|
.."textarea[0.5,0.75;15,5.75;;"
|
||||||
|
..minetest.formspec_escape(
|
||||||
|
modEUrn.translate("Campanha Política de")..": "..
|
||||||
|
core.colorize("#00FF00", candidatename)
|
||||||
|
)..";"
|
||||||
|
..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").."]"
|
||||||
|
|
||||||
|
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.show_formspec(playername, "frmEUrnInfoCampaign", myFormSpec)
|
||||||
|
end,
|
||||||
|
|
||||||
|
--[[
|
||||||
showHypertext = function(playername)
|
showHypertext = function(playername)
|
||||||
--Fonte:
|
--Fonte:
|
||||||
-- * https://minetest.gitlab.io/minetest/formspec/
|
-- * https://minetest.gitlab.io/minetest/formspec/
|
||||||
|
@ -76,4 +86,32 @@ modEUrn.FormSpecs = {
|
||||||
--"hypertext[<X>,<Y>;<W>,<H>;<name>;<text>]"
|
--"hypertext[<X>,<Y>;<W>,<H>;<name>;<text>]"
|
||||||
minetest.show_formspec(playername, "frmEUrnInit", myFormSpec)
|
minetest.show_formspec(playername, "frmEUrnInit", myFormSpec)
|
||||||
end,
|
end,
|
||||||
|
--]]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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("modEUrn.doPresidentCandidate(playername='"..playername.."', playername='"..playername.."', fields.txtCampaign="..dump(fields.txtCampaign)..")")
|
||||||
|
if modEUrn.doPresidentCandidate(playername, playername, fields.txtCampaign) then
|
||||||
|
modEUrn.doSave()
|
||||||
|
minetest.chat_send_player(
|
||||||
|
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))
|
||||||
|
)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue