speedzones = {} function onTick(timePassed) for index, obj in ipairs(speedzones) do local geom = obj:getGeom() local angle = math.atan2(geom[2].y - geom[1].y, geom[2].x - geom[1].x) angle = angle + (timePassed * 0.001) geom[2].x = math.cos(angle) + geom[1].x geom[2].y = math.sin(angle) + geom[1].y obj:setGeom(geom) end end function main() local objs = bf:findAllObjects() local i = 1 for index, obj in ipairs(objs) do if obj:getId() == 1 then speedzones[i] = obj i = i + 1 end end subscribe(Event.Tick) end