]> git.lizzy.rs Git - elidragon_v2.git/blob - mods/elidragon_playerlist/init.lua
Add playerlist
[elidragon_v2.git] / mods / elidragon_playerlist / init.lua
1 local ranks = elidragon.ranks
2
3 local player_huds = {}
4
5 controls.register_on_press(function(player, key)
6         if key == "sneak" then
7                 local name = player:get_player_name()
8                 local huds = {}
9                 for i, n, _, rank, rank_def in ranks.iterate_players() do
10                         table.insert(huds, player:hud_add({
11                                 hud_elem_type = "text",
12                                 position = {x = 0.5, y = 0},
13                                 offset = {x = 20, y = 53 + (i - 1) * 18},
14                                 text = n,
15                                 alignment = {x = 1, y = 1},
16                                 scale = {x = 100, y = 100},
17                                 number = tonumber(rank_def.color, 16),
18                         }))
19                         table.insert(huds, player:hud_add({
20                                 hud_elem_type = "image",
21                                 position = {x = 0.5, y = 0},
22                                 offset = {x = 0, y = 50 + (i - 1) * 18},
23                                 text = "server_ping_" .. math.max(1, math.ceil(4 - minetest.get_player_information(n).avg_rtt * 4)) .. ".png",
24                                 alignment = {x = -1, y = 1},
25                                 scale = {x = 1.5, y = 1.5},
26                                 number = 0xFFFFFF,
27                         }))
28                 end
29                 player_huds[name] = huds
30         end
31 end)
32
33 controls.register_on_release(function(player, key)
34         if key == "sneak" and player then
35                 for _, id in ipairs(player_huds[player:get_player_name()] or {}) do
36                         player:hud_remove(id)
37                 end
38         end
39 end)
40
41 elidragon.playerlist = {}