fixed typo in /uberspeed command and added tons of stuff to /plist

This commit is contained in:
kaadmy 2015-10-01 14:55:18 -07:00
parent a8d131bc18
commit 60627ca1bd
2 changed files with 37 additions and 9 deletions

View File

@ -81,7 +81,7 @@ minetest.register_chatcommand(
"uberspeed", "uberspeed",
{ {
params = "[on|off|cinematic]", params = "[on|off|cinematic]",
description = "Set Uberspeed, ", description = "Set Uberspeed",
privs = {weather = true}, privs = {weather = true},
func = function(name, param) func = function(name, param)
local player=minetest.get_player_by_name(name) local player=minetest.get_player_by_name(name)

View File

@ -5,8 +5,6 @@
playerlist = {} playerlist = {}
playerlist.step = tonumber(minetest.setting_get("playerlist_step")) or 3
-- current players format: -- current players format:
-- {<playername> = <last connect(if connected, or nil)>} -- {<playername> = <last connect(if connected, or nil)>}
playerlist.players = {} playerlist.players = {}
@ -55,23 +53,53 @@ minetest.register_on_leaveplayer(on_leaveplayer)
minetest.register_chatcommand( minetest.register_chatcommand(
"plist", "plist",
{ {
params = "[all|recent]",
description = "List players that are connected and have connected since the last server restart", description = "List players that are connected and have connected since the last server restart",
func = function(name, param) func = function(name, param)
local time = minetest.get_gametime() local time = minetest.get_gametime()
minetest.chat_send_player(name, "Player list:") local str = ""
if param == "all" then
minetest.chat_send_player(name, "Players:")
elseif param == "recent" then
str = str .. "Recent players: "
else
str = str .. "Connected players: "
end
local player_count = 0 local player_count = 0
for name, jointime in pairs(playerlist.players) do for name, jointime in pairs(playerlist.players) do
if minetest.get_player_by_name(name) ~= nil then local plyr = minetest.get_player_by_name(name)
if param == "all" then
if plyr ~= nil then
player_count = player_count + 1 player_count = player_count + 1
minetest.chat_send_player(name, " " .. name .. ": connected for " .. prettytime(time - jointime)) minetest.chat_send_player(name, " " .. name .. ": connected for " .. prettytime(time - jointime))
else else
minetest.chat_send_player(name, " " .. name .. ": last seen " .. prettytime(time - jointime) .. " ago") minetest.chat_send_player(name, " " .. name .. ": last seen " .. prettytime(time - jointime) .. " ago")
end end
else
if param == "recent" then
if plyr == nil then
player_count = player_count + 1
str = str .. name .. ", "
end
elseif plyr ~= nil then
player_count = player_count + 1
str = str .. name .. ", "
end
end
end end
minetest.chat_send_player(name, player_count .. " players connected") minetest.chat_send_player(name, str)
if param == "recent" then
minetest.chat_send_player(name, player_count .. " recent players")
else
minetest.chat_send_player(name, player_count .. " connected players")
end
end end
}) })
default.log("mod:playerlist", "loaded") default.log("mod:playerlist", "loaded")