3 -- * verify death messages
4 -- * log chat to stdout
9 table.insert(minetest
.registered_on_receiving_chat_message
, 1, function(msg
)
10 local d
= msg
:find('\1b@mcl_death_messages\1b') --mineclone specific
12 -- minetest.send_chat_message("real.") --uncomment to publish approval
13 minetest
.display_chat_message("real.")
20 local mod_name
= minetest
.get_current_modname()
22 local function log(level
, message
)
23 minetest
.log(level
, ('[%s] %s'):format(mod_name
, message
))
26 log('action', 'Chatlog loading...')
28 local LOG_LEVEL
= 'action'
30 local server_info
= minetest
.get_server_info()
31 local server_id
= server_info
.address
.. ':' .. server_info
.port
34 local register_on_send
= minetest
.register_on_sending_chat_message
or minetest
.register_on_sending_chat_messages
35 local register_on_receive
= minetest
.register_on_receiving_chat_message
or minetest
.register_on_receiving_chat_messages
38 local function safe(func
)
39 -- wrap a function w/ logic to avoid crashing the game
40 local f
= function(...)
41 local status
, out
= pcall(func
, ...)
45 log('warning', 'Error (func): ' .. out
)
52 local set_my_name_tries
= 0
53 local function set_my_name()
54 if minetest
.localplayer
then
55 my_name
= minetest
.localplayer
:get_name()
56 elseif set_my_name_tries
< 20 then
57 set_my_name_tries
= set_my_name_tries
+ 1
58 minetest
.after(1, set_my_name
)
66 local function loglastlogs()
67 if not fren
then return end
68 for k
,v
in pairs(fren
.friends
) do
69 if fren
.on_server(fren
.name_of(k
)) then
70 log("LASTLOGLOG START")
71 --minetest.display_chat_message('Last login of friend ' .. fren.name_of(k))
72 log("Last login of friend "..fren
.name_of(k
))
73 minetest
.send_chat_message("/last-login "..fren
.name_of(k
))
76 for k
,v
in pairs(fren
.enemies
) do
77 if fren
.on_server(fren
.name_of(k
)) then
78 log("Last login of enemy "..fren
.name_of(k
))
79 --minetest.display_chat_message('Last login of friend ' .. fren.name_of(k))
80 minetest
.send_chat_message("/last-login "..fren
.name_of(k
))
81 minetest
.after("5.0",function() log("LASTLOGLOG END") end)
86 --minetest.after("5.0",function() loglastlogs() end)
88 if minetest
.register_on_connect
then
89 minetest
.register_on_connect(set_my_name
)
90 elseif minetest
.register_on_mods_loaded
then
91 minetest
.register_on_mods_loaded(set_my_name
)
93 minetest
.after(1, set_my_name
)
97 if register_on_send
then
98 register_on_send(safe(function(message
)
99 local msg
= minetest
.strip_colors(message
)
101 log(LOG_LEVEL
, ('%s@%s [sent] %s'):format(my_name
, server_id
, msg
))
106 if register_on_receive
then
107 register_on_receive(safe(function(message
)
108 local msg
= minetest
.strip_colors(message
)
110 log(LOG_LEVEL
, ('%s@%s %s'):format(my_name
, server_id
, msg
))