Add formspec & access method for High Scores stats

master
shivajiva101 2020-09-05 22:36:54 +01:00 committed by GitHub
parent 0d340571ac
commit 067911d12a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 41 additions and 0 deletions

View File

@ -425,6 +425,38 @@ local function display_match_results(match_rank, arena_id)
end
end
--- Displays stats as a formspec
-- @param name - name of player requesting info
-- @return nothing
local function display_stats(name)
local fs = {
'size[9,7]',
'label[0,0;Rank]',
'label[1,0;Name]',
'label[4,0;Wins]',
'label[5,0;Kills]',
'label[6,0;Points]',
'label[7.1,0;Eggs]',
'label[8,0;Falls]'
}
for i,v in ipairs(stats.rankings) do
fs[#fs + 1] = 'label[0,'..(0.5 * i)..';'.. i ..']'
fs[#fs + 1] = 'label[1,'..(0.5 * i)..';'.. v.name ..']'
fs[#fs + 1] = 'label[4,'..(0.5 * i)..';'.. v.wins ..']'
fs[#fs + 1] = 'label[5,'..(0.5 * i)..';'.. v.kills ..']'
fs[#fs + 1] = 'label[6,'..(0.5 * i)..';'.. v.damage ..']'
fs[#fs + 1] = 'label[7.1,'..(0.5 * i)..';'.. v.eggs ..']'
fs[#fs + 1] = 'label[8,'..(0.5 * i)..';'.. v.falls ..']'
if i == 10 then break end
end
fs[#fs + 1] = 'button_exit[3.5,6;2,1;btn_e;OK]'
local res = table.concat(fs)
local player = minetest.get_player_by_name(name)
if player then
minetest.show_formspec(name, '', res)
end
end
--- Updates match players game time hud display every minute
-- @return nothing
local function update_hud_time()
@ -1163,6 +1195,15 @@ func = function(name, param)
end
})
-- show stats formspec
minetest.register_chatcommand("stats", {
params = "",
description = "Shows server game statistics",
func = function(name, param)
display_stats(name)
end
})
-- end match - development
minetest.register_chatcommand("e", {
params = "",