local randomChannel = Channel.random(61616, -1.4, 1.4) local material = {"fastdarken", "fastmultiply", "fastdarken"} local function glitchline(timing) local duration = math.random(100, 500) local s = Scene.createSprite("glitchline.png", material[math.random(#material)], "notes") s.setParent(Scene.screenCanvas) s.scaleX = 100*2048*5 s.scaleY = math.random(50, 300) s.layer = "Topmost" s.sort = 9999999 s.colorR = Channel.random(math.random(1, 10000), 0, 255) s.colorG = Channel.random(math.random(1, 10000), 0, 255) s.colorB = Channel.random(math.random(1, 10000), 0, 255) s.active = Channel.keyframe().setDefaultEasing("cnsti").addKey(0, 0) .addKey(timing, 1).addKey(timing + duration, 0) local transY = Channel.keyframe().setDefaultEasing("inconst").addKey(timing, 0).addKey(timing + duration, 999999) s.translationY = randomChannel.valueAt(timing) * 480 + transY end addScenecontrol("glitchline", {"duration", "density"}, function(cmd) local timing = cmd.timing local duration2 = cmd.args[1] local density = cmd.args[2] if duration2 == 0 then glitchline(timing) else for i = timing, timing + duration2, 100/density do glitchline(i) end end end)