<a href="http://www.youtube.com/watch?v=5ORJTWLjR7o" rel="nofollow">http://www.youtube.com/watch?v=5ORJTWLjR7o</a>
*edit: If you double the height of the image with the other half added transparency, it will enlarge or rotate as intended without offsets. var pyro = function(pos1,pos2,pos3,pos4,pos5,pos6,psize,pspeed,ppeak,delay) { var flame1 = findObjs({_type: "graphic", name: "flame1"})[0]; if(!flame1) { log("object flame1 bad"); return; } var flame2 = findObjs({_type: "graphic", name: "flame2"})[0]; if(!flame2) { log("object flame2 bad"); return; } var flame3 = findObjs({_type: "graphic", name: "flame3"})[0]; if(!flame3) { log("object flame3 bad"); return; } var flame4 = findObjs({_type: "graphic", name: "flame4"})[0]; if(!flame4) { log("object flame4 bad"); return; } var flame5 = findObjs({_type: "graphic", name: "flame5"})[0]; if(!flame5) { log("object flame5 bad"); return; } var flame6 = findObjs({_type: "graphic", name: "flame6"})[0]; if(!flame6) { log("object flame6 bad"); return; } log("Begin Pyro"); setTimeout(function() { if(pos1 === 1) { burn(flame1,psize,pspeed,ppeak); log("Bruning pyro 1"); } else { log("No pyro 1") }; if(pos2 === 1) { burn(flame2,psize,pspeed,ppeak); log("Burning pyro 2"); } else { log("No pyro 2") }; if(pos3 === 1) { burn(flame3,psize,pspeed,ppeak); log("Burning pyro 3"); } else { log("No pyro 3") }; if(pos4 === 1) { burn(flame4,psize,pspeed,ppeak); log("Burning pyro 4"); } else { log("No pyro 4") }; if(pos5 === 1) { burn(flame5,psize,pspeed,ppeak); log("Burning pyro 5"); } else { log("No pyro 5") }; if(pos6 === 1) { burn(flame6,psize,pspeed,ppeak); log("Burning pyro 6"); } else { log("No pyro 6"); }; log("End Pyro"); }, delay); }; var burn = function(bpos,bsize,bspeed,bpeak) { var bminsize = bsize / 7; var bcount = 0; bpos.set("layer", "objects"); setInterval(function() { if(bcount === 7) { return; }; bpos.set("top", bpos.get("top") + (bminsize / -7.5) * bcount); bpos.set("height", bminsize * bcount); bcount++; }, bspeed); setTimeout(function() { var b2count = 0; setInterval(function() { if(b2count === 7) { return; }; bpos.set("top", bpos.get("top") + (bminsize / 7.5) * b2count); bpos.set("height", (bsize - (bminsize * b2count))); b2count++; }, bspeed); },bpeak); }; And here's my sequencer:
on("chat:message", function(msg) { if(msg.type == "api" && msg.content.indexOf("!pyro1") !== -1) { pyro(1,0,0,0,0,0,210,50,500,0); pyro(0,1,0,0,0,0,210,50,500,500); pyro(0,0,1,0,0,0,210,50,500,1000); pyro(0,0,0,1,0,0,210,50,500,1500); pyro(0,0,0,0,1,0,210,50,500,2000); pyro(0,0,0,0,0,1,210,50,500,2500); pyro(1,0,0,0,0,0,110,100,250,3000); pyro(0,1,0,0,0,0,140,100,250,3500); pyro(0,0,1,0,0,0,170,100,250,4000); pyro(0,0,0,1,0,0,210,100,250,4500); pyro(0,0,0,0,1,0,250,100,250,5000); pyro(0,0,0,0,0,1,290,100,250,5500); pyro(1,0,1,0,1,0,300,100,2500,5750); pyro(0,1,0,1,0,1,300,100,500,6500); }; });