summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--trafficlight/init.lua16
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({