This commit is contained in:
Lunovox 2024-02-16 21:28:25 -03:00
parent 29e6a93fd5
commit 52bb8ec550
2 changed files with 61 additions and 30 deletions

View file

@ -106,6 +106,9 @@ minetest.register_on_shutdown(function()
if #players >= 1 then if #players >= 1 then
for _, player in ipairs(players) do for _, player in ipairs(players) do
modEUrn.on_leaveplayer(player) modEUrn.on_leaveplayer(player)
local playername = player:get_player_name()
--minetest.disconnect_player(name, [reason])
minetest.disconnect_player(playername)
end end
end end
modEUrn.doSave() modEUrn.doSave()

View file

@ -14,37 +14,65 @@ candidates = {
modEUrn.getPropCommPresident = function() modEUrn.getPropCommPresident = function()
local now = os.time() --Em milisegundos local now = os.time() --Em milisegundos
return { return {
privs = {electoraljudge=true}, --privs = {electoraljudge=true},
params = "<".. modEUrn.translate("candidate_name")..">", params = "[<".. modEUrn.translate("candidate_name")..">]",
description = modEUrn.translate("Select the presidente of the server."), description = modEUrn.translate("Show or Select the presidente of the server."),
func = function(playername, param) func = function(playername, param)
local who = param if type(param)=="string" and param~="" then
if modEUrn.handler.elected==nil then if minetest.get_player_privs(playername).electoraljudge then
modEUrn.handler.elected = { } if minetest.player_exists(param) then
end local who = param
if modEUrn.handler.elected.president==nil then if modEUrn.handler.elected==nil then
modEUrn.handler.elected.president = { } modEUrn.handler.elected = { }
end end
modEUrn.handler.elected.president.name = who if modEUrn.handler.elected.president==nil then
modEUrn.handler.elected.president.when = now modEUrn.handler.elected.president = { }
if modEUrn.handler.elected.president.voters==nil then end
modEUrn.handler.elected.president.voters = { } modEUrn.handler.elected.president.name = who
end modEUrn.handler.elected.president.when = now
modEUrn.handler.elected.president.voters[playername] = now if modEUrn.handler.elected.president.voters==nil then
modEUrn.handler.elected.president.voters = { }
if modEUrn.handler.candidates==nil then end
modEUrn.handler.candidates = { } modEUrn.handler.elected.president.voters[playername] = now
end
if modEUrn.handler.candidates.president==nil then if modEUrn.handler.candidates==nil then
modEUrn.handler.candidates.president = { } modEUrn.handler.candidates = { }
end end
modEUrn.handler.candidates.president[who] = now if modEUrn.handler.candidates.president==nil then
modEUrn.handler.candidates.president = { }
minetest.chat_send_player( end
playername, modEUrn.handler.candidates.president[who] = now
--os.date("%Y-%m-%d %Hh:%Mm:%Ss", now) ..
"[E-URN] "..modEUrn.translate("Player '%s' has been named the president of this server!"):format(who) 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
end, end,
} }
end end