send messages of notification to users about new spawn point will be set
* send notificaicon about spawn point but privatelly * log action and log error if no bed valid position are found
This commit is contained in:
parent
799d13ce3b
commit
7af1f6fb1b
26
init.lua
26
init.lua
@ -49,10 +49,14 @@ function find_ground(pos, player)
|
|||||||
else
|
else
|
||||||
player:setpos({x = pos.x, y = pos.y - i + 2, z = pos.z})
|
player:setpos({x = pos.x, y = pos.y - i + 2, z = pos.z})
|
||||||
finished = true
|
finished = true
|
||||||
|
name = player:get_player_name()
|
||||||
|
pos = player:getpos()
|
||||||
|
minetest.chat_send_player(name, "spawnrand: "..pos.x..","..pos.y..","..pos.z )
|
||||||
|
minetest.log("action", "[spawnrand] position for "..name.. ", "..pos.x..","..pos.y..","..pos.z)
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
until finished == true or i < -30
|
until finished == true or i <= -20
|
||||||
elseif node.name ~= 'air' or node.name ~= 'ignore' then --Theoretically below ground
|
elseif node.name ~= 'air' or node.name ~= 'ignore' then --Theoretically below ground
|
||||||
local i = 1
|
local i = 1
|
||||||
repeat
|
repeat
|
||||||
@ -68,6 +72,10 @@ function find_ground(pos, player)
|
|||||||
else
|
else
|
||||||
player:setpos({x = pos.x, y = pos.y + i, z = pos.z})
|
player:setpos({x = pos.x, y = pos.y + i, z = pos.z})
|
||||||
i = 25
|
i = 25
|
||||||
|
name = player:get_player_name()
|
||||||
|
pos = player:getpos()
|
||||||
|
minetest.chat_send_player(name, "spawnrand: "..pos.x..","..pos.y..","..pos.z )
|
||||||
|
minetest.log("action", "[spawnrand] position for "..name.. ", "..pos.x..","..pos.y..","..pos.z)
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -92,7 +100,10 @@ minetest.register_node('spawnrand:node', {
|
|||||||
-- newspam in new player join
|
-- newspam in new player join
|
||||||
minetest.register_on_newplayer(function(player)
|
minetest.register_on_newplayer(function(player)
|
||||||
|
|
||||||
|
local pos
|
||||||
if player ~= nil then
|
if player ~= nil then
|
||||||
|
pos = player:getpos()
|
||||||
|
minetest.chat_send_player(player:get_player_name( ), "...awaiting new spawn from : ".. pos.x ..","..pos.y..","..pos.z )
|
||||||
spawnrand(player)
|
spawnrand(player)
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -101,23 +112,24 @@ end)
|
|||||||
-- newspam in payer dead, but doe snot remain with same position.. take care of bed but not of home yet
|
-- newspam in payer dead, but doe snot remain with same position.. take care of bed but not of home yet
|
||||||
minetest.register_on_respawnplayer(function(player)
|
minetest.register_on_respawnplayer(function(player)
|
||||||
|
|
||||||
local name
|
local name, pos
|
||||||
|
|
||||||
if player ~= nil then
|
if player ~= nil then
|
||||||
name = player:get_player_name( )
|
name = player:get_player_name()
|
||||||
|
pos = player:getpos()
|
||||||
|
minetest.chat_send_player(player:get_player_name( ), "...awaiting new spawn from : ".. pos.x ..","..pos.y..","..pos.z )
|
||||||
if bed_respawn then
|
if bed_respawn then
|
||||||
local pos = beds.spawn[name]
|
pos = beds.spawn[name]
|
||||||
if pos then
|
if pos then
|
||||||
player:setpos(pos)
|
player:setpos(pos)
|
||||||
return true
|
|
||||||
else
|
else
|
||||||
|
minetest.log("error", "[spawnrand] fails to determine bed position for "..name.. ", new spawn will be used")
|
||||||
spawnrand(player)
|
spawnrand(player)
|
||||||
return true
|
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
spawnrand(player)
|
spawnrand(player)
|
||||||
return true
|
|
||||||
end
|
end
|
||||||
|
return true
|
||||||
end
|
end
|
||||||
|
|
||||||
end)
|
end)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user