3 Mods hinzugefügt, Fehlende Nahrungspunkteangaben im Inventar ergänzt, falsche Nahrungspunkte berichtigt
This commit is contained in:
parent
763ba03e6c
commit
23dda4593a
151 changed files with 6445 additions and 109 deletions
63
mods/atl_server_statistics/script/command.lua
Normal file
63
mods/atl_server_statistics/script/command.lua
Normal file
|
@ -0,0 +1,63 @@
|
|||
local S = minetest.get_translator("atl_server_statistics")
|
||||
|
||||
minetest.register_chatcommand("stats", {
|
||||
description = S("Allows you to display your current statistics or those of a target player"),
|
||||
params = "<player_name>",
|
||||
func = function(player_name, param)
|
||||
local target_player_name = param ~= "" and param or player_name
|
||||
if not atl_server_statistics.player_has_stats(target_player_name) then
|
||||
return minetest.chat_send_player(player_name, minetest.colorize(atl_server_statistics.color_message, S("-!- No statistics available for ") .. target_player_name))
|
||||
end
|
||||
if atl_server_statistics.is_player_online(target_player_name) then
|
||||
atl_server_statistics.update_playtime_on_stats(target_player_name)
|
||||
end
|
||||
local stats_message = S("-!- Statistics of ") .. target_player_name .. " <> "
|
||||
for _, stat in ipairs(atl_server_statistics.statistics) do
|
||||
local value = atl_server_statistics.get_value(target_player_name, stat)
|
||||
if value > 0 then
|
||||
stats_message = stats_message .. string.format("%s %s | ", stat, (stat == "PlayTime" and atl_server_statistics.format_playtime(value)) or value)
|
||||
end
|
||||
end
|
||||
minetest.chat_send_player(player_name, minetest.colorize(atl_server_statistics.color_message, stats_message))
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_chatcommand("reset", {
|
||||
description = S("Allows you to reset your statistics with confirmation"),
|
||||
func = function(player_name)
|
||||
local current_time = os.time()
|
||||
if atl_server_statistics.reset_requests[player_name] then
|
||||
if current_time - atl_server_statistics.reset_requests[player_name] <= atl_server_statistics.time_before_end_request then
|
||||
atl_server_statistics.reset_player_stats(player_name)
|
||||
minetest.chat_send_player(player_name, minetest.colorize(atl_server_statistics.reset_color_message, S("-!- Your statistics have been reset.")))
|
||||
atl_server_statistics.reset_requests[player_name] = nil
|
||||
else
|
||||
atl_server_statistics.reset_requests[player_name] = current_time
|
||||
return minetest.chat_send_player(player_name, minetest.colorize(atl_server_statistics.reset_color_message, S("-!- Statistics reset request has expired. Please try again.")))
|
||||
end
|
||||
else
|
||||
atl_server_statistics.reset_requests[player_name] = current_time
|
||||
minetest.chat_send_player(player_name, minetest.colorize(atl_server_statistics.reset_color_message, S("-!- To confirm the reset of your statistics, type /reset again within the next ") .. atl_server_statistics.time_before_end_request .. S(" seconds.")))
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_chatcommand("leaderboard", {
|
||||
description = S("Displays the leaderboard with tabs for each statistics domain"),
|
||||
func = function(player_name)
|
||||
|
||||
local stats_list = atl_server_statistics.statistics
|
||||
local formspec = atl_server_statistics.create_base_formspec(stats_list, 1, player_name)
|
||||
formspec = formspec .. atl_server_statistics.generate_stats_table(stats_list[1], player_name)
|
||||
minetest.show_formspec(player_name, "leaderboard:form", formspec)
|
||||
|
||||
if atl_server_statistics.is_player_online(player_name) then
|
||||
atl_server_statistics.update_playtime_on_stats(player_name)
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
if minetest.settings:get_bool("atl_server_statistics.simplified_command") ~= true then
|
||||
minetest.register_chatcommand("s", minetest.registered_chatcommands["stats"])
|
||||
minetest.register_chatcommand("ld", minetest.registered_chatcommands["leaderboard"])
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue