2023-07-20 22:44:51 -03:00
|
|
|
--[[
|
|
|
|
elected = {
|
|
|
|
president = {
|
|
|
|
name = "", --name of the elected candidate.
|
|
|
|
when = 0, --when the candidate was elected.
|
|
|
|
voters = { }, --names of voters who voted for this elected candidate.
|
|
|
|
},
|
|
|
|
},
|
|
|
|
candidates = {
|
|
|
|
president = { },
|
|
|
|
},
|
|
|
|
--]]
|
|
|
|
|
|
|
|
modEUrn.getPropCommPresident = function()
|
|
|
|
local now = os.time() --Em milisegundos
|
|
|
|
return {
|
2024-02-16 21:28:25 -03:00
|
|
|
--privs = {electoraljudge=true},
|
|
|
|
params = "[<".. modEUrn.translate("candidate_name")..">]",
|
|
|
|
description = modEUrn.translate("Show or Select the presidente of the server."),
|
2023-07-20 22:44:51 -03:00
|
|
|
func = function(playername, param)
|
2024-02-16 21:28:25 -03:00
|
|
|
if type(param)=="string" and param~="" then
|
|
|
|
if minetest.get_player_privs(playername).electoraljudge then
|
|
|
|
if minetest.player_exists(param) then
|
|
|
|
local who = param
|
|
|
|
if modEUrn.handler.elected==nil then
|
|
|
|
modEUrn.handler.elected = { }
|
|
|
|
end
|
|
|
|
if modEUrn.handler.elected.president==nil then
|
|
|
|
modEUrn.handler.elected.president = { }
|
|
|
|
end
|
|
|
|
modEUrn.handler.elected.president.name = who
|
|
|
|
modEUrn.handler.elected.president.when = now
|
|
|
|
if modEUrn.handler.elected.president.voters==nil then
|
|
|
|
modEUrn.handler.elected.president.voters = { }
|
|
|
|
end
|
|
|
|
modEUrn.handler.elected.president.voters[playername] = now
|
|
|
|
|
|
|
|
if modEUrn.handler.candidates==nil then
|
|
|
|
modEUrn.handler.candidates = { }
|
|
|
|
end
|
|
|
|
if modEUrn.handler.candidates.president==nil then
|
|
|
|
modEUrn.handler.candidates.president = { }
|
|
|
|
end
|
|
|
|
modEUrn.handler.candidates.president[who] = now
|
|
|
|
|
|
|
|
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 named the president of this server!"):format(who)
|
|
|
|
)
|
|
|
|
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(param)
|
|
|
|
)
|
|
|
|
end
|
|
|
|
else
|
|
|
|
minetest.chat_send_player(
|
|
|
|
playername,
|
|
|
|
--os.date("%Y-%m-%d %Hh:%Mm:%Ss", now) ..
|
|
|
|
core.colorize("#FF0000", "[E-URN]").." "
|
|
|
|
..modEUrn.translate("You do not have the 'electoraljudge' privilege to define who will be the president of the server!")
|
|
|
|
)
|
|
|
|
end
|
|
|
|
else
|
|
|
|
minetest.chat_send_player(
|
|
|
|
playername,
|
|
|
|
--os.date("%Y-%m-%d %Hh:%Mm:%Ss", now) ..
|
|
|
|
core.colorize("#00FF00", "[E-URN]").." "
|
|
|
|
..modEUrn.translate("The president of this server is %s!"):format(dump(modEUrn.handler.elected.president.name))
|
|
|
|
)
|
|
|
|
end
|
2023-07-20 22:44:51 -03:00
|
|
|
end,
|
|
|
|
}
|
|
|
|
end
|
|
|
|
|
|
|
|
minetest.register_chatcommand(
|
|
|
|
"president",
|
|
|
|
modEUrn.getPropCommPresident()
|
|
|
|
)
|
|
|
|
|
|
|
|
minetest.register_chatcommand(
|
|
|
|
modEUrn.translate("president"),
|
|
|
|
modEUrn.getPropCommPresident()
|
|
|
|
)
|