function param1() return "interval", 10, 100, 36 end function param2() return "lines", 2, 100, 8 end function main( x, y, p ) local w = bs_width_max() if w < 1 then w = 1 end if firstDraw then firstDrawX = x firstDrawY = y end local m = w * bs_param1()/10 if not firstDraw then local distance = bs_distance( lastDrawX - x, 0 ) if distance < m then return 0 end end local r,g,b = bs_fore() local i for i=0,bs_param2()-1 do local dx = x local dy = firstDrawY + i * m / 2 if i % 2 == 1 then dx = dx - m/2 end bs_ellipse( dx,dy, w, w, 0, r,g,b, 255 ) end lastDrawX = x lastDrawY = y firstDraw = false return 1 end firstDrawX = 0 firstDrawY = 0 lastDrawX = 0 lastDrawY = 0 firstDraw = true