What you're looking for is delaying the looping code for the circular spawn by adding a "wait" for 1 frame or more. See the following:
Will spawn 36 bullets in a circle instantly.
loop(36) {
CreateShotA1(x+r*cos(dir),y+r*sin(dir),v,dir,type,delay);
dir+=360/36;
}
Will spawn 36 bullets in a circle, but each bullet spawns with 1-frame delay (at 60fps).
loop(36) {
CreateShotA1(x+r*cos(dir),y+r*sin(dir),v,dir,type,delay);
dir+=360/36;
yield; // Added a yield for 1-frame delay
}
I typed only variables because you decide the rest. r = radius.
You probably want to use the 2nd one if I judge your post. The more frame-delay, the slower the circle is formed.