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
for _, player in ipairs(players) do
modEUrn.on_leaveplayer(player)
local playername = player:get_player_name()
--minetest.disconnect_player(name, [reason])
minetest.disconnect_player(playername)
end
end
modEUrn.doSave()

View file

@ -14,37 +14,65 @@ candidates = {
modEUrn.getPropCommPresident = function()
local now = os.time() --Em milisegundos
return {
privs = {electoraljudge=true},
params = "<".. modEUrn.translate("candidate_name")..">",
description = modEUrn.translate("Select the presidente of the server."),
--privs = {electoraljudge=true},
params = "[<".. modEUrn.translate("candidate_name")..">]",
description = modEUrn.translate("Show or Select the presidente of the server."),
func = function(playername, param)
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) ..
"[E-URN] "..modEUrn.translate("Player '%s' has been named the president of this server!"):format(who)
)
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
end,
}
end