Added tabs
parent
611118594e
commit
aed0b3faa4
56
init.lua
56
init.lua
|
@ -77,6 +77,8 @@ local update_highscore = function()
|
|||
end
|
||||
end
|
||||
|
||||
-- Updater
|
||||
|
||||
local timer = 0
|
||||
minetest.register_globalstep(function(dtime)
|
||||
timer = timer + dtime;
|
||||
|
@ -87,21 +89,47 @@ minetest.register_globalstep(function(dtime)
|
|||
end
|
||||
end)
|
||||
|
||||
-- Formspec
|
||||
|
||||
local function playerhighscore_lister()
|
||||
local string = ""
|
||||
local number = 1
|
||||
for _,entry in pairs(xp_highscores.highscore) do
|
||||
if rounding then
|
||||
string = string..tostring(number)..". "..entry.name .. ": " .. round(entry.xp) .. ","
|
||||
else
|
||||
string = string..tostring(number)". "..entry.name .. ": " .. entry.xp .. ","
|
||||
end
|
||||
number = number + 1
|
||||
end
|
||||
return string, number
|
||||
end
|
||||
|
||||
local function showxpform(pname, selected_idx, list)
|
||||
string, number = playerhighscore_lister()
|
||||
minetest.show_formspec(pname, "highscores:xp_highscores",
|
||||
"size[8,9]"..
|
||||
"tabheader[0,0;highscores_tab;" .. "Player Highscores,Top climber;"
|
||||
.. tostring(selected_idx) .. ";true;false]"..
|
||||
"table[1,1;6,7;highscores_table;"..string..";1]")
|
||||
end
|
||||
|
||||
minetest.register_chatcommand("highscores", {
|
||||
description = "show xp highscore",
|
||||
func = function(caller)
|
||||
local string = ""
|
||||
local number = 1
|
||||
for _,entry in pairs(xp_highscores.highscore) do
|
||||
if rounding then
|
||||
string = string..tostring(number)..". "..entry.name .. ": " .. round(entry.xp) .. ","
|
||||
else
|
||||
string = string..tostring(number)". "..entry.name .. ": " .. entry.xp .. ","
|
||||
end
|
||||
number = number + 1
|
||||
end
|
||||
minetest.show_formspec(caller, "highscores:xp_highscores",
|
||||
"size[8,9]"..
|
||||
"table[1,1;6,7;"..caller..";"..string..";1]")
|
||||
func = function(pname)
|
||||
showxpform(pname, 1)
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_on_player_receive_fields(function(player, formname, fields)
|
||||
if formname ~= "highscores:xp_highscores" then
|
||||
return
|
||||
end
|
||||
|
||||
local pname = player:get_player_name()
|
||||
if fields.highscores_tab == "1" then
|
||||
showxpform(pname, 1)
|
||||
elseif fields.highscores_tab == "2" then
|
||||
showxpform(pname, 2)
|
||||
end
|
||||
end)
|
||||
|
|
Loading…
Reference in New Issue