Removed player_list and pm mods
This commit is contained in:
parent
2b4f6fc8eb
commit
22bba65a6f
@ -1,10 +0,0 @@
|
|||||||
Player listing mod
|
|
||||||
==================
|
|
||||||
By Kaadmy, for Pixture
|
|
||||||
|
|
||||||
Adds player lists(current/recent/all).
|
|
||||||
|
|
||||||
Use the chatcommand "/plist" to show a player list
|
|
||||||
Change command parameters (none/recent/all) to show different stats
|
|
||||||
|
|
||||||
Source license: LGPLv2.1
|
|
@ -1 +0,0 @@
|
|||||||
default
|
|
@ -1,117 +0,0 @@
|
|||||||
--
|
|
||||||
-- Player listing mod
|
|
||||||
-- By Kaadmy, for Pixture
|
|
||||||
--
|
|
||||||
local S = minetest.get_translator("player_list")
|
|
||||||
|
|
||||||
player_list = {}
|
|
||||||
|
|
||||||
-- current players format:
|
|
||||||
-- {<playername> = <last connect(if connected, or nil)>}
|
|
||||||
player_list.players = {}
|
|
||||||
|
|
||||||
local function divmod(f, d)
|
|
||||||
return {math.floor(f / d), f % d}
|
|
||||||
end
|
|
||||||
|
|
||||||
local function prettytime(time)
|
|
||||||
local a = divmod(time, 60)
|
|
||||||
local seconds = a[2]
|
|
||||||
local minutes = a[1]
|
|
||||||
|
|
||||||
local b = divmod(minutes, 60)
|
|
||||||
local hours = b[1]
|
|
||||||
minutes = b[2]
|
|
||||||
|
|
||||||
local c = divmod(hours, 24)
|
|
||||||
local days = c[1]
|
|
||||||
hours = c[2]
|
|
||||||
|
|
||||||
local str = ""
|
|
||||||
if days ~= 0 then str = str .. days .. "d " end
|
|
||||||
if hours ~= 0 then str = str .. hours .. "h " end
|
|
||||||
if minutes ~= 0 then str = str .. minutes .. "m " end
|
|
||||||
str = str .. seconds .. "s"
|
|
||||||
|
|
||||||
return str
|
|
||||||
end
|
|
||||||
|
|
||||||
local function on_joinplayer(player)
|
|
||||||
local name = player:get_player_name()
|
|
||||||
|
|
||||||
player_list.players[name] = minetest.get_gametime()
|
|
||||||
end
|
|
||||||
|
|
||||||
local function on_leaveplayer(player)
|
|
||||||
local name = player:get_player_name()
|
|
||||||
|
|
||||||
player_list.players[name] = minetest.get_gametime()
|
|
||||||
end
|
|
||||||
|
|
||||||
minetest.register_on_joinplayer(on_joinplayer)
|
|
||||||
minetest.register_on_leaveplayer(on_leaveplayer)
|
|
||||||
|
|
||||||
minetest.register_chatcommand(
|
|
||||||
"plist",
|
|
||||||
{
|
|
||||||
params = "[ all | recent ]",
|
|
||||||
description = S("List current, recent, or all players since the last server restart"),
|
|
||||||
func = function(player_name, param)
|
|
||||||
local time = minetest.get_gametime()
|
|
||||||
|
|
||||||
local str = ""
|
|
||||||
|
|
||||||
if param == "all" then
|
|
||||||
minetest.chat_send_player(player_name, S("Players:"))
|
|
||||||
elseif param == "recent" then
|
|
||||||
str = str .. S("Recent players: ")
|
|
||||||
else
|
|
||||||
str = str .. S("Connected players: ")
|
|
||||||
end
|
|
||||||
|
|
||||||
local player_count = 0
|
|
||||||
for name, jointime in pairs(player_list.players) do
|
|
||||||
local plyr = minetest.get_player_by_name(name)
|
|
||||||
|
|
||||||
if param == "all" then
|
|
||||||
if plyr ~= nil then
|
|
||||||
player_count = player_count + 1
|
|
||||||
minetest.chat_send_player(S("@1: connected for @2", player_name, name, prettytime(time - jointime)))
|
|
||||||
else
|
|
||||||
minetest.chat_send_player(S("@1, @2: last seen @3 ago", player_name, name, prettytime(time - jointime)))
|
|
||||||
end
|
|
||||||
elseif param == "recent" then
|
|
||||||
if plyr == nil then -- Only show players that were connected but are currently disconnected
|
|
||||||
player_count = player_count + 1
|
|
||||||
|
|
||||||
if player_count == 1 then
|
|
||||||
str = str .. name
|
|
||||||
else
|
|
||||||
-- TODO: Translate comma
|
|
||||||
str = str .. ", " .. name
|
|
||||||
end
|
|
||||||
end
|
|
||||||
elseif plyr ~= nil then
|
|
||||||
player_count = player_count + 1
|
|
||||||
|
|
||||||
if player_count == 1 then
|
|
||||||
str = str .. name
|
|
||||||
else
|
|
||||||
-- TODO: Translate comma
|
|
||||||
str = str .. ", " .. name
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
minetest.chat_send_player(player_name, str)
|
|
||||||
|
|
||||||
if param == "recent" then
|
|
||||||
minetest.chat_send_player(player_name, S("Count: @1", player_count))
|
|
||||||
else
|
|
||||||
minetest.chat_send_player(player_name, S("Count: @1", player_count))
|
|
||||||
end
|
|
||||||
return true
|
|
||||||
end
|
|
||||||
})
|
|
||||||
|
|
||||||
default.log("mod:player_list", "loaded")
|
|
@ -1,9 +0,0 @@
|
|||||||
# textdomain: player_list
|
|
||||||
[all|recent]=[all|recent]
|
|
||||||
List current, recent, or all players since the last server restart=Aktuelle, neu hinzugekommene oder alle Spieler seit dem letzten Server-Neustart auflisten
|
|
||||||
Players:=Spieler:
|
|
||||||
Recent players: =Neue hinzugekommene Spieler:
|
|
||||||
Connected players: =Verbundene Spieler:
|
|
||||||
@1: connected for @2=@1: verbunden für @2
|
|
||||||
@1, @2: last seen @3 ago=@1, @2: zuletz gesehen vor @3
|
|
||||||
Count: @1=Anzahl: @1
|
|
@ -1,9 +0,0 @@
|
|||||||
# textdomain: player_list
|
|
||||||
[all|recent]=
|
|
||||||
List current, recent, or all players since the last server restart=
|
|
||||||
Players:=
|
|
||||||
Recent players: =
|
|
||||||
Connected players: =
|
|
||||||
@1: connected for @2=
|
|
||||||
@1, @2: last seen @3 ago=
|
|
||||||
Count: @1=
|
|
@ -1,8 +0,0 @@
|
|||||||
Private message mod
|
|
||||||
===================
|
|
||||||
By Kaadmy, for Pixture
|
|
||||||
|
|
||||||
Send private messages that save until the player rejoins
|
|
||||||
Private messages are cleared on server restart
|
|
||||||
|
|
||||||
Source license: LGPLv2.1
|
|
@ -1 +0,0 @@
|
|||||||
default
|
|
@ -1,80 +0,0 @@
|
|||||||
--
|
|
||||||
-- Private messages mod
|
|
||||||
-- By Kaadmy, for Pixture
|
|
||||||
--
|
|
||||||
local S = minetest.get_translator("pm")
|
|
||||||
|
|
||||||
local enable_saving = minetest.settings:get_bool("pm_enable_saving")
|
|
||||||
if enable_saving == nil then enable_saving = true end
|
|
||||||
if minetest.is_singleplayer() then
|
|
||||||
enable_saving = false
|
|
||||||
end
|
|
||||||
|
|
||||||
local messages = {}
|
|
||||||
|
|
||||||
minetest.register_chatcommand(
|
|
||||||
"pm",
|
|
||||||
{
|
|
||||||
params = S("<player> <message>"),
|
|
||||||
description = S("Send somebody a private message"),
|
|
||||||
privs = {shout=true},
|
|
||||||
func = function(name, param)
|
|
||||||
local sendto, message = param:match("^(%S+)%s(.+)$")
|
|
||||||
|
|
||||||
if not sendto then return false, S("Invalid usage, see /help pm.") end
|
|
||||||
|
|
||||||
if not minetest.get_player_by_name(sendto) then
|
|
||||||
if enable_saving then
|
|
||||||
if messages[sendto] == nil then messages[sendto] = {} end
|
|
||||||
table.insert(messages[sendto], name .. ": " .. message)
|
|
||||||
|
|
||||||
return false, S("The player @1 is not online, saving message instead.", sendto)
|
|
||||||
else
|
|
||||||
return false, S("The player @1 is not online, and PM saving is disabled.", sendto)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
minetest.log("action", "PM from " .. name .. " to " .. sendto
|
|
||||||
.. ": " .. message)
|
|
||||||
minetest.chat_send_player(sendto, S("PM from @1: @2", name, message))
|
|
||||||
return true, S("PM sent.")
|
|
||||||
end
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_chatcommand(
|
|
||||||
"pms",
|
|
||||||
{
|
|
||||||
description = S("Show saved private messages"),
|
|
||||||
func = function(name, param)
|
|
||||||
if not enable_saving then return false, S("PM saving is disabled.") end
|
|
||||||
if messages[name] == nil then return false, S("No saved PMs.") end
|
|
||||||
|
|
||||||
minetest.chat_send_player(name, S("Saved PMs:"))
|
|
||||||
|
|
||||||
local str = ""
|
|
||||||
local amt_pms = 0
|
|
||||||
for _, msg in pairs(messages[name]) do
|
|
||||||
amt_pms = amt_pms + 1
|
|
||||||
str = str .. " " .. msg .. "\n"
|
|
||||||
end
|
|
||||||
|
|
||||||
minetest.chat_send_player(name, str)
|
|
||||||
|
|
||||||
messages[name] = nil
|
|
||||||
|
|
||||||
return true, S("@1 saved PMs", amt_pms)
|
|
||||||
end
|
|
||||||
})
|
|
||||||
|
|
||||||
if enable_saving then
|
|
||||||
minetest.register_on_joinplayer(
|
|
||||||
function(player)
|
|
||||||
local name = player:get_player_name()
|
|
||||||
|
|
||||||
if messages[name] ~= nil and #messages[name] >= 1 then
|
|
||||||
minetest.chat_send_player(name, minetest.colorize("#0ff", S("You've got mail! Number of saved PMs: @1. Enter /pms command to view.", #messages[name])))
|
|
||||||
end
|
|
||||||
end)
|
|
||||||
end
|
|
||||||
|
|
||||||
default.log("mod:pm", "loaded")
|
|
@ -1,14 +0,0 @@
|
|||||||
# textdomain: pm
|
|
||||||
<player> <message>=<Spieler> <Nachricht>
|
|
||||||
Send somebody a private message=Jemanden eine Privatnachricht senden
|
|
||||||
Invalid usage, see /help pm.=Ungültige Verwendung, siehe /help pm.
|
|
||||||
The player @1 is not online, saving message instead.=Der Spieler @1 ist nicht online, die Nachricht wird statt dessen gespeichert.
|
|
||||||
The player @1 is not online, and PM saving is disabled.=Der Spieler @1 ist nicht online, und das Speichern von PNs ist deaktiviert.
|
|
||||||
PM from @1: @2=PN von @1: @2
|
|
||||||
PM sent.=PN gesendet.
|
|
||||||
Show saved private messages=Gespeicherte Privatnachrichten zeigen
|
|
||||||
PM saving is disabled.=Speichern von PNs ist deaktiviert.
|
|
||||||
No saved PMs.=Keine gespeicherten PNs.
|
|
||||||
Saved PMs:=Gespeicherte PNs:
|
|
||||||
@1 saved PMs=@1 gespeicherte PNs
|
|
||||||
You've got mail! Number of saved PMs: @1. Enter /pms command to view.=Sie haben Post! Anzahl der gespeicherten PNs: @. „/pms“-Behel eingeben, um sie zu lesen.
|
|
@ -1,14 +0,0 @@
|
|||||||
# textdomain: pm
|
|
||||||
<player> <message>=
|
|
||||||
Send somebody a private message=
|
|
||||||
Invalid usage, see /help pm.=
|
|
||||||
The player @1 is not online, saving message instead.=
|
|
||||||
The player @1 is not online, and PM saving is disabled.=
|
|
||||||
PM from @1: @2=
|
|
||||||
PM sent.=
|
|
||||||
Show saved private messages=
|
|
||||||
PM saving is disabled.=
|
|
||||||
No saved PMs.=
|
|
||||||
Saved PMs:=
|
|
||||||
@1 saved PMs=
|
|
||||||
You've got mail! Number of saved PMs: @1. Enter /pms command to view.=
|
|
Loading…
Reference in New Issue
Block a user