From: Elias Fleckenstein Date: Sun, 10 May 2020 17:11:54 +0000 (+0200) Subject: Added Playerlist X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;h=2f9d097a9cc124d2017ea0d8a8713e2d53b0d379;p=coronaserver.git Added Playerlist --- diff --git a/init.lua b/init.lua index a4bd20b..06667e2 100755 --- a/init.lua +++ b/init.lua @@ -1,6 +1,6 @@ coronaserver = {} -local modules = {"save", "advprivs", "ranks"} +local modules = {"save", "advprivs", "ranks", "playerlist"} for _, m in pairs(modules) do dofile(minetest.get_modpath("coronaserver") .. "/" .. m .. ".lua") diff --git a/playerlist.lua b/playerlist.lua new file mode 100644 index 0000000..01070c5 --- /dev/null +++ b/playerlist.lua @@ -0,0 +1,37 @@ +coronaserver.playerlist = {} +controls.register_on_press(function(player, key) + if key == "sneak" then + local name = player:get_player_name() + local list = {} + local players = minetest.get_connected_players() + for i, p in pairs(players) do + local n = p:get_player_name() + list[#list + 1] = player:hud_add({ + hud_elem_type = "text", + position = {x = 1, y = 0}, + offset = {x = -50, y = 5 + (i - 1) * 18}, + text = n, + alignment = {x = -1, y = 1}, + scale = {x = 100, y = 100}, + number = tonumber(coronaserver.get_rank(n).color:gsub("#", ""), 16), + }) + list[#list + 1] = player:hud_add({ + hud_elem_type = "image", + position = {x = 1, y = 0}, + offset = {x = -5, y = (i - 1) * 18}, + text = "server_ping_" .. math.ceil(4 - minetest.get_player_information(n).avg_rtt / 2 * 4) .. ".png", + alignment = {x = -1, y = 1}, + scale = {x = 1.5, y = 1.5}, + number = 0xFFFFFF, + }) + end + coronaserver.playerlist[name] = list + end +end) +controls.register_on_release(function(player, key) + if key == "sneak" then + for _, id in pairs(coronaserver.playerlist[player:get_player_name()]) do + player:hud_remove(id) + end + end +end) diff --git a/ranks.lua b/ranks.lua index fea20ae..565994e 100755 --- a/ranks.lua +++ b/ranks.lua @@ -14,6 +14,11 @@ coronaserver.ranks = { color = "#001FFF", tag = "[MODERATOR]", }, + { + name = "developer", + color = "#EBEE00", + tag = "[DEVELOPER]", + }, { name = "supporter", color = "#EE6E00", @@ -59,7 +64,7 @@ minetest.register_on_chat_message(function(name, message) end) minetest.register_chatcommand("rank", { params = " ", - description = "Einem Spieler einen Rang geben (owner|admin|moderator|supporter)", + description = "Einem Spieler einen Rang geben (owner|admin|moderator|supporter|supporter|player)", privs = {privs = true}, func = function(admin, param) local name = param:split(' ')[1]