diff options
| author | cheapie <no-email-for-you@example.com> | 2017-01-25 14:24:37 -0600 | 
|---|---|---|
| committer | cheapie <no-email-for-you@example.com> | 2017-01-25 14:24:37 -0600 | 
| commit | 0c270e76ef248202bd5edfdd1de2b7c4a83b7a1d (patch) | |
| tree | 1c792b1239f75a331b3aff9d5f585a5acef1546e /trafficlight | |
| parent | 87fa05ad6a9e76c477787393a4740b73a987b5a2 (diff) | |
| download | roads-0c270e76ef248202bd5edfdd1de2b7c4a83b7a1d.tar roads-0c270e76ef248202bd5edfdd1de2b7c4a83b7a1d.tar.gz roads-0c270e76ef248202bd5edfdd1de2b7c4a83b7a1d.tar.bz2 roads-0c270e76ef248202bd5edfdd1de2b7c4a83b7a1d.tar.xz roads-0c270e76ef248202bd5edfdd1de2b7c4a83b7a1d.zip | |
Improve pedestrian signal reliability
Diffstat (limited to 'trafficlight')
| -rw-r--r-- | trafficlight/init.lua | 16 | 
1 files changed, 13 insertions, 3 deletions
| diff --git a/trafficlight/init.lua b/trafficlight/init.lua index 0754ebd..2b2038b 100644 --- a/trafficlight/init.lua +++ b/trafficlight/init.lua @@ -104,10 +104,20 @@ local function ped_on_flash_end(pos,record)  			obj:remove()  		end  	end -	if not record then return end +	if not record then +		timer:stop() +		return +	end  	local timer = minetest.get_node_timer(pos)  	local meta = minetest.get_meta(pos) -	meta:set_int("flashtime",math.min(timer:get_elapsed(),99)) +	local lastflashtime = meta:get_int("lastflashtime") +	local twoflashesago = meta:get_int("twoflashesago") +	local flashtime = math.min(timer:get_elapsed(),99) +	meta:set_int("twoflashesago",lastflashtime) +	meta:set_int("lastflashtime",flashtime) +	if math.abs(twoflashesago-lastflashtime) + math.abs(lastflashtime-flashtime) < 3 then +		meta:set_int("flashtime",flashtime) +	end  	timer:stop()  end @@ -1071,7 +1081,7 @@ minetest.register_entity(":streets:pedcountdown",{  	physical = false,  	collisionbox = {0,0,0,0,0,0},  	visual = "upright_sprite", -	textures = {"streets_pl_number_9l.png^streets_pl_number_9r.png"} +	textures = {"streets_pl_number_0l.png"}  })  minetest.register_abm({ | 
