improve _misc mod nointeract_messages.lua and noshout_messages.lua

This commit is contained in:
crabman77 2015-07-31 17:49:31 +02:00
parent bd5ffcf50d
commit 4d5607e849
2 changed files with 57 additions and 26 deletions

View File

@ -1,17 +1,31 @@
local TIMER = 0
minetest.register_globalstep(function(dtime)
TIMER = TIMER + dtime
if TIMER < 20 then return end
TIMER = 0
for _,player in ipairs(minetest.get_connected_players()) do
local name = player:get_player_name()
if not minetest.check_player_privs(name, {interact=true}) then
if not interact.blacklist[name] then
if minetest.check_player_privs(name, {shout=true}) then
minetest.chat_send_player(name, "Hey " .. name .. " ! Pour pouvoir construire et intéragir sur ce serveur, tu dois lire les règles du serveur et les accepter. Tape /rules.")
minetest.chat_send_player(name, "Hey " .. name .. " ! To build and interact on this server, you have to read the rules of our server and agree them. Type /rules.")
end
end
end
local players = {}
local function tick(name)
if players[name] == nil then return end
if not minetest.get_player_by_name(name) or minetest.check_player_privs(name, {interact=true}) == true then
players[name] = nil
return
end
if minetest.check_player_privs(name, {shout=true}) then
minetest.chat_send_player(name, "Hey " .. name .. " ! Pour pouvoir construire et intéragir sur ce serveur, tu dois lire les règles du serveur et les accepter. Tape /rules.")
minetest.chat_send_player(name, "Hey " .. name .. " ! To build and interact on this server, you have to read the rules of our server and agree them. Type /rules.")
end
minetest.after(20, tick, name)
end
minetest.register_on_joinplayer(function(player)
local name = player:get_player_name()
if not minetest.check_player_privs(name, {interact=true}) and players[name] == nil then
minetest.after(7, tick, name)
players[name] = true
end
end)
minetest.register_on_leaveplayer(function(player)
local name = player:get_player_name()
if not name then return end
players[name] = nil
end)

View File

@ -1,13 +1,30 @@
local TIMER = 0
minetest.register_globalstep(function(dtime)
TIMER = TIMER + dtime
if TIMER < 25 then return end
TIMER = 0
for _,player in ipairs(minetest.get_connected_players()) do
local name = player:get_player_name()
if not minetest.check_player_privs(name, {shout=true}) then
minetest.chat_send_player(name, "Hey " .. name .. " ! Pour pouvoir communiquer avec les autres joueurs sur ce serveur, tu dois lire les règles de l'irc et les accepter. Tape /irc.")
minetest.chat_send_player(name, "Hey " .. name .. " ! To speak to other people on this server, you have to read the rules of our irc channel and agree them. Type /irc.")
end
local players = {}
local function tick(name)
if players[name] == nil then return end
if not minetest.get_player_by_name(name) or minetest.check_player_privs(name, {shout=true}) == true then
players[name] = nil
return
end
minetest.chat_send_player(name, "Hey " .. name .. " ! Pour pouvoir communiquer avec les autres joueurs sur ce serveur, tu dois lire les règles de l'irc et les accepter. Tape /irc.")
minetest.chat_send_player(name, "Hey " .. name .. " ! To speak to other people on this server, you have to read the rules of our irc channel and agree them. Type /irc.")
minetest.after(20, tick, name)
end
minetest.register_on_joinplayer(function(player)
local name = player:get_player_name()
if not minetest.check_player_privs(name, {interact=true}) and players[name] == nil then
minetest.after(5, tick, name)
players[name] = true
end
end)
minetest.register_on_leaveplayer(function(player)
local name = player:get_player_name()
if not name then return end
players[name] = nil
end)