From c1fe05b78f197ff4063dbb51e1b375f21c63255a Mon Sep 17 00:00:00 2001 From: ClobberXD Date: Fri, 3 Aug 2018 23:21:25 +0530 Subject: [PATCH] Improve and fix some end-of-match formspec issues * Fix clipped labels in end-of-match formspec * Improve format for match duration * Clean up code --- mods/ctf_stats/gui.lua | 32 +++++++++++++++----------------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/mods/ctf_stats/gui.lua b/mods/ctf_stats/gui.lua index f7ec1c3..b952da3 100644 --- a/mods/ctf_stats/gui.lua +++ b/mods/ctf_stats/gui.lua @@ -41,6 +41,11 @@ function ctf_stats.get_formspec_match_summary(stats, winner_team, winner_player, blue.score = blue.score + pstat.score end + local match_length = string.format("%02d:%02d:%02d", + math.floor(time/3600), -- hours + math.floor((time % 3600) / 60), -- minutes + math.floor(time % 60)) -- seconds + local ret = ctf_stats.get_formspec("Match Summary", players, 1) if stats[winner_team] then @@ -52,21 +57,14 @@ function ctf_stats.get_formspec_match_summary(stats, winner_team, winner_player, ret = ret .. "label[1,0;NO WINNER]" end - ret = ret .. "label[4,0;Kills]" - ret = ret .. "label[6,0;" .. render_per_team_stats(red, blue, "kills") .. "]" - ret = ret .. "label[4,0.5;Attempts]" - ret = ret .. "label[6,0.5;" .. render_per_team_stats(red, blue, "attempts") .. "]" - - local time_display = "" - if time >= 3600 then - time_display = math.floor(time/3600) .. "h" - end - time_display = time_display .. math.floor((time % 3600) / 60) .. "m" .. math.floor(time % 60) .. "s" - ret = ret .. "label[8,0;Duration]" - ret = ret .. "label[10,0;" .. time_display .. "]" - ret = ret .. "label[8,0.5;Total score]" - ret = ret .. "label[10,0.5;" .. render_per_team_stats(red, blue, "score", true) .. "]" - + ret = ret .. "label[6.5,0;Kills]" + ret = ret .. "label[8,0;" .. render_per_team_stats(red, blue, "kills") .. "]" + ret = ret .. "label[6.5,0.5;Attempts]" + ret = ret .. "label[8,0.5;" .. render_per_team_stats(red, blue, "attempts") .. "]" + ret = ret .. "label[9.5,0;Duration]" + ret = ret .. "label[11,0;" .. match_length .. "]" + ret = ret .. "label[9.5,0.5;Total score]" + ret = ret .. "label[11,0.5;" .. render_per_team_stats(red, blue, "score", true) .. "]" ret = ret .. "label[3.5,7.2;Tip: type /rankings for league tables]" -- Set prev_match_summary and write to mod_storage @@ -81,14 +79,14 @@ function ctf_stats.get_formspec(title, players, header, hlt_name) return one.score > two.score end) - local ret = "size[12," .. 6.5 + header .. "]" + local ret = "size[13,"..6.5+header.."]" ret = ret .. default.gui_bg .. default.gui_bg_img ret = ret .. "container[0," .. header .. "]" ret = ret .. "vertlabel[0,0;" .. title .. "]" ret = ret .. "tablecolumns[color;text;text;text;text;text;text;text;text;text]" ret = ret .. "tableoptions[highlight=#00000000]" - ret = ret .. "table[0.5,0;11.25,6;scores;" + ret = ret .. "table[0.5,0;12.25,6;scores;" ret = ret .. "#ffffff,,Player,Kills,Deaths,K/D ratio,Bounty kills,Captures,Attempts,Score" local player_in_top_50 = false