From 1648de41145c829ff6626c5157268f74367b257e Mon Sep 17 00:00:00 2001 From: orwell96 Date: Sun, 29 Jan 2017 21:29:48 +0100 Subject: Limit dtime to prevent trains moving too far in a single step and update zip --- advtrains.zip | Bin 4922848 -> 4922942 bytes advtrains/advtrains/trainlogic.lua | 9 ++++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/advtrains.zip b/advtrains.zip index 58f0f63..271862d 100644 Binary files a/advtrains.zip and b/advtrains.zip differ diff --git a/advtrains/advtrains/trainlogic.lua b/advtrains/advtrains/trainlogic.lua index 7238d92..1bc732d 100644 --- a/advtrains/advtrains/trainlogic.lua +++ b/advtrains/advtrains/trainlogic.lua @@ -40,7 +40,14 @@ advtrains.audit_interval=10 advtrains.save_and_audit_timer=advtrains.audit_interval -minetest.register_globalstep(function(dtime) +minetest.register_globalstep(function(dtime_mt) + --limit dtime: if trains move too far in one step, automation may cause stuck and wrongly braking trains + local dtime=dtime_mt + if dtime>0.2 then + atprint("Limiting dtime to 0.2!") + dtime=0.2 + end + advtrains.save_and_audit_timer=advtrains.save_and_audit_timer-dtime if advtrains.save_and_audit_timer<=0 then local t=os.clock() -- cgit v1.2.3