Do not spam the server chat with messages from /at_sync_ndb and trains going off_track
The off-track warning has moved into the info text of wagonsmaster
parent
46c4447da0
commit
09838252fe
|
@ -233,8 +233,9 @@ minetest.register_lbm({
|
|||
|
||||
--used when restoring stuff after a crash
|
||||
ndb.restore_all = function()
|
||||
atwarn("Updating the map from the nodedb, this may take a while")
|
||||
--atlog("Updating the map from the nodedb, this may take a while")
|
||||
local cnt=0
|
||||
local dcnt=0
|
||||
for y, ny in pairs(ndb_nodes) do
|
||||
for x, nx in pairs(ny) do
|
||||
for z, _ in pairs(nx) do
|
||||
|
@ -246,17 +247,21 @@ ndb.restore_all = function()
|
|||
if ori_ndef and ori_ndef.groups.save_in_at_nodedb then --check if this node has been worldedited, and don't replace then
|
||||
if (ndbnode.name~=node.name or ndbnode.param2~=node.param2) then
|
||||
minetest.swap_node(pos, ndbnode)
|
||||
atwarn("Replaced",node.name,"@",pos,"with",ndbnode.name)
|
||||
--atlog("Replaced",node.name,"@",pos,"with",ndbnode.name)
|
||||
cnt=cnt+1
|
||||
end
|
||||
else
|
||||
ndb.clear(pos)
|
||||
atwarn("Found ghost node (former",ndbnode and ndbnode.name,") @",pos,"deleting")
|
||||
dcnt=dcnt+1
|
||||
--atlog("Found ghost node (former",ndbnode and ndbnode.name,") @",pos,"deleting")
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
atwarn("Updated",cnt,"nodes")
|
||||
local text="Restore node database: Replaced",cnt,"nodes, removed",dcnt,"ghost nodes"
|
||||
atlog(text)
|
||||
return text
|
||||
end
|
||||
|
||||
minetest.register_on_dignode(function(pos, oldnode, digger)
|
||||
|
@ -287,9 +292,9 @@ minetest.register_chatcommand("at_sync_ndb",
|
|||
if not minetest.check_player_privs(name, {server=true}) and os.time() < ptime+30 then
|
||||
return false, "Please wait at least 30s from the previous execution of /at_restore_ndb!"
|
||||
end
|
||||
ndb.restore_all()
|
||||
local text = ndb.restore_all()
|
||||
ptime=os.time()
|
||||
return true
|
||||
return true, text
|
||||
end)
|
||||
end,
|
||||
privs = {train_operator=true}, -- Require the "privs" privilege to run
|
||||
|
|
|
@ -252,29 +252,29 @@ function advtrains.train_step_a(id, train, dtime)
|
|||
if front_off_track and back_off_track then--allow movement in both directions
|
||||
if train.tarvelocity>1 then
|
||||
train.tarvelocity=1
|
||||
atwarn("Train",t_info,"is off track at both ends. Clipping velocity to 1")
|
||||
atprint("Train",t_info,"is off track at both ends. Clipping velocity to 1")
|
||||
pprint=true
|
||||
end
|
||||
elseif front_off_track then--allow movement only backward
|
||||
if train.movedir==1 and train.tarvelocity>0 then
|
||||
train.tarvelocity=0
|
||||
atwarn("Train",t_info,"is off track. Trying to drive further out. Velocity clipped to 0")
|
||||
atprint("Train",t_info,"is off track. Trying to drive further out. Velocity clipped to 0")
|
||||
pprint=true
|
||||
end
|
||||
if train.movedir==-1 and train.tarvelocity>1 then
|
||||
train.tarvelocity=1
|
||||
atwarn("Train",t_info,"is off track. Velocity clipped to 1")
|
||||
atprint("Train",t_info,"is off track. Velocity clipped to 1")
|
||||
pprint=true
|
||||
end
|
||||
elseif back_off_track then--allow movement only forward
|
||||
if train.movedir==-1 and train.tarvelocity>0 then
|
||||
train.tarvelocity=0
|
||||
atwarn("Train",t_info,"is off track. Trying to drive further out. Velocity clipped to 0")
|
||||
atprint("Train",t_info,"is off track. Trying to drive further out. Velocity clipped to 0")
|
||||
pprint=true
|
||||
end
|
||||
if train.movedir==1 and train.tarvelocity>1 then
|
||||
train.tarvelocity=1
|
||||
atwarn("Train",t_info,"is off track. Velocity clipped to 1")
|
||||
atprint("Train",t_info,"is off track. Velocity clipped to 1")
|
||||
pprint=true
|
||||
end
|
||||
end
|
||||
|
|
|
@ -300,6 +300,15 @@ function wagon:on_step(dtime)
|
|||
|
||||
--check infotext
|
||||
local outside=self:train().text_outside or ""
|
||||
|
||||
local train = self:train()
|
||||
--show off-track information in outside text instead of notifying the whole server about this
|
||||
local front_off_track=train.max_index_on_track and train.index and train.index>train.max_index_on_track
|
||||
local back_off_track=train.min_index_on_track and train.end_index and train.end_index<train.min_index_on_track
|
||||
if front_off_track or back_off_track then
|
||||
outside = outside .."\n!!! Train off track !!!"
|
||||
end
|
||||
|
||||
if self.infotext_cache~=outside then
|
||||
self.object:set_properties({infotext=outside})
|
||||
self.infotext_cache=outside
|
||||
|
|
Loading…
Reference in New Issue