summaryrefslogtreecommitdiff
path: root/myhighscore/scoreboard.lua
diff options
context:
space:
mode:
Diffstat (limited to 'myhighscore/scoreboard.lua')
-rwxr-xr-xmyhighscore/scoreboard.lua33
1 files changed, 22 insertions, 11 deletions
diff --git a/myhighscore/scoreboard.lua b/myhighscore/scoreboard.lua
index 226e86a..38e659e 100755
--- a/myhighscore/scoreboard.lua
+++ b/myhighscore/scoreboard.lua
@@ -13,15 +13,26 @@ local game_name = "the game"
local game_player_name = "the player"
local game_player_score = "648138"
-local game_form = "size[6,8;]"..
- "background[0,0;6,8;myhighscore_form_bg.png]"..
- "label[1,0.5;HIGH SCORES FOR "..game_name.."]"..
- "label[1,1.5;PLAYER]"..
- "label[3.5,1.5;SCORE]"..
- "label[0.5,2;"..game_player_name.."]"..
- "label[3,2;"..game_player_score.."]"..
- "button[2,7;1,2;back;Back]"..
- "button_exit[4,7;1,2;exit;Exit]"
+local function get_formspec_for_game(name)
+ local def = myhighscore.registered_games[name]
+ local scores = myhighscore.scores[name] or {}
+ -- Obtain a comma separated list of scores to display
+ local scorelist = ""
+ for _,score in pairs(scores) do
+ scorelist = scorelist .. minetest.formspec_escape(score.player) ..
+ "\t\t\t\t " .. score.score ..","
+ end
+
+ return "size[6,8;]"..
+ "background[0,0;6,8;myhighscore_form_bg.png]"..
+ "label[1,0.5;HIGH SCORES FOR "..def.description.."]"..
+ "label[1,1.5;PLAYER]"..
+ "label[3.5,1.5;SCORE]"..
+ "textlist[0.5,2;5,5;;"..scorelist.."]"..
+ "button[2,7;1,2;back;Back]"..
+ "button_exit[4,7;1,2;exit;Exit]"
+end
+
minetest.register_node("myhighscore:score_board", {
description = "Score Board",
@@ -29,7 +40,7 @@ minetest.register_node("myhighscore:score_board", {
"myhighscore_top.png",
"myhighscore_back.png",
"myhighscore_side.png^[transformFX",
- "myhighscore_side.png",y
+ "myhighscore_side.png",
"myhighscore_back.png",
"myhighscore_front.png",
},
@@ -56,7 +67,7 @@ minetest.register_node("myhighscore:score_board", {
on_receive_fields = function(pos, formname, fields, sender)
local meta = minetest.env:get_meta(pos)
if fields['game'] then
- meta:set_string('formspec', game_form)
+ meta:set_string('formspec', get_formspec_for_game("pacmine"))
elseif fields["back"] then
meta:set_string('formspec', button_form)
end