Well well, Happy New Year!

So, this script, while not being
that interesting in terms of dodging, does look nice and reminds one of fire works. Some additional graphical effects like fading sparkles would've been nice, but that would've required some more advanced knowledge to implement and thus shouldn't be expected from one's earlier scripts, anyways.

One tip on your general coding: To highly reduce the amount of code you need to type out and to make your code more clear, you can use the
loop function even
inside a
loop. For example, take this code from your script:
if(Frame==Interval){
loop(12){
CreateShotA(1, GetX, GetY, 0);
SetShotDataA(1, 0, 3, 0, 0, 0, 0, 234);
SetShotDataA(1, 30, 0, 0, 0, 0, 0, 234);
SetShotDataA(1, 60, 2, 0, 0, 0, 0, 151);
SetShotDataA(1, 90, 0, 0, 0, 0, 0, 151);
SetShotDataA(1, 120, 1, ANGB, 2, 0, 0, 27);
SetShotDataA(1, 180, 0, ANGB, 0, 0, 0, 27);
SetShotDataA(1, 240, 3, rand_int(0,360), 0, 0, 0, 57);
FireShot(1);
ANGB=ANGB+30;
}
loop(12){
CreateShotA(1, GetX, GetY, 0);
SetShotDataA(1, 0, 3, 0, 0, 0, 0, 234);
SetShotDataA(1, 30, 0, 0, 0, 0, 0, 234);
SetShotDataA(1, 60, 2, 45, 0, 0, 0, 151);
SetShotDataA(1, 90, 0, 45, 0, 0, 0, 151);
SetShotDataA(1, 120, 1, ANGB, 2, 0, 0, 27);
SetShotDataA(1, 180, 0, ANGB, 0, 0, 0, 27);
SetShotDataA(1, 240, 3, rand_int(0,360), 0, 0, 0, 57);
FireShot(1);
ANGB=ANGB+30;
}
loop(12){
CreateShotA(1, GetX, GetY, 0);
SetShotDataA(1, 0, 3, 0, 0, 0, 0, 234);
SetShotDataA(1, 30, 0, 0, 0, 0, 0, 234);
SetShotDataA(1, 60, 2, 90, 0, 0, 0, 151);
SetShotDataA(1, 90, 0, 90, 0, 0, 0, 151);
SetShotDataA(1, 120, 1, ANGB, 2, 0, 0, 27);
SetShotDataA(1, 180, 0, ANGB, 0, 0, 0, 27);
SetShotDataA(1, 240, 3, rand_int(0,360), 0, 0, 0, 57);
FireShot(1);
ANGB=ANGB+30;
}
loop(12){
CreateShotA(1, GetX, GetY, 0);
SetShotDataA(1, 0, 3, 0, 0, 0, 0, 234);
SetShotDataA(1, 30, 0, 0, 0, 0, 0, 234);
SetShotDataA(1, 60, 2, 135, 0, 0, 0, 151);
SetShotDataA(1, 90, 0, 135, 0, 0, 0, 151);
SetShotDataA(1, 120, 1, ANGB, 2, 0, 0, 27);
SetShotDataA(1, 180, 0, ANGB, 0, 0, 0, 27);
SetShotDataA(1, 240, 3, rand_int(0,360), 0, 0, 0, 57);
FireShot(1);
ANGB=ANGB+30;
}
loop(12){
CreateShotA(1, GetX, GetY, 0);
SetShotDataA(1, 0, 3, 0, 0, 0, 0, 234);
SetShotDataA(1, 30, 0, 0, 0, 0, 0, 234);
SetShotDataA(1, 60, 2, 180, 0, 0, 0, 151);
SetShotDataA(1, 90, 0, 180, 0, 0, 0, 151);
SetShotDataA(1, 120, 1, ANGB, 2, 0, 0, 27);
SetShotDataA(1, 180, 0, ANGB, 0, 0, 0, 27);
SetShotDataA(1, 240, 3, rand_int(0,360), 0, 0, 0, 57);
FireShot(1);
ANGB=ANGB+30;
}
loop(12){
CreateShotA(1, GetX, GetY, 0);
SetShotDataA(1, 0, 3, 0, 0, 0, 0, 234);
SetShotDataA(1, 30, 0, 0, 0, 0, 0, 234);
SetShotDataA(1, 60, 2, 225, 0, 0, 0, 151);
SetShotDataA(1, 90, 0, 225, 0, 0, 0, 151);
SetShotDataA(1, 120, 1, ANGB, 2, 0, 0, 27);
SetShotDataA(1, 180, 0, ANGB, 0, 0, 0, 27);
SetShotDataA(1, 240, 3, rand_int(0,360), 0, 0, 0, 57);
FireShot(1);
ANGB=ANGB+30;
}
loop(12){
CreateShotA(1, GetX, GetY, 0);
SetShotDataA(1, 0, 3, 0, 0, 0, 0, 234);
SetShotDataA(1, 30, 0, 0, 0, 0, 0, 234);
SetShotDataA(1, 60, 2, 270, 0, 0, 0, 151);
SetShotDataA(1, 90, 0, 270, 0, 0, 0, 151);
SetShotDataA(1, 120, 1, ANGB, 2, 0, 0, 27);
SetShotDataA(1, 180, 0, ANGB, 0, 0, 0, 27);
SetShotDataA(1, 240, 3, rand_int(0,360), 0, 0, 0, 57);
FireShot(1);
ANGB=ANGB+30;
}
loop(12){
CreateShotA(1, GetX, GetY, 0);
SetShotDataA(1, 0, 3, 0, 0, 0, 0, 234);
SetShotDataA(1, 30, 0, 0, 0, 0, 0, 234);
SetShotDataA(1, 60, 2, 315, 0, 0, 0, 151);
SetShotDataA(1, 90, 0, 315, 0, 0, 0, 151);
SetShotDataA(1, 120, 1, ANGB, 2, 0, 0, 27);
SetShotDataA(1, 180, 0, ANGB, 0, 0, 0, 27);
SetShotDataA(1, 240, 3, rand_int(0,360), 0, 0, 0, 57);
FireShot(1);
ANGB=ANGB+30;
}
Frame=0;
}
if(Frame==Interval2){
loop(12){
CreateShotA(1, GetX, GetY, 0);
SetShotDataA(1, 0, 3, 180, 0, 0, 0, 233);
SetShotDataA(1, 30, 0, 180, 0, 0, 0, 233);
SetShotDataA(1, 60, 2, 0, 0, 0, 0, 153);
SetShotDataA(1, 90, 0, 0, 0, 0, 0, 153);
SetShotDataA(1, 120, 1, ANGB, -2, 0, 0, 32);
SetShotDataA(1, 180, 0, ANGB, 0, 0, 0, 32);
SetShotDataA(1, 240, 3, rand_int(0,360), 0, 0, 0, 62);
FireShot(1);
ANGB=ANGB+30;
}
loop(12){
CreateShotA(1, GetX, GetY, 0);
SetShotDataA(1, 0, 3, 180, 0, 0, 0, 233);
SetShotDataA(1, 30, 0, 180, 0, 0, 0, 233);
SetShotDataA(1, 60, 2, 45, 0, 0, 0, 153);
SetShotDataA(1, 90, 0, 45, 0, 0, 0, 153);
SetShotDataA(1, 120, 1, ANGB, -2, 0, 0, 32);
SetShotDataA(1, 180, 0, ANGB, 0, 0, 0, 32);
SetShotDataA(1, 240, 3, rand_int(0,360), 0, 0, 0, 62);
FireShot(1);
ANGB=ANGB+30;
}
loop(12){
CreateShotA(1, GetX, GetY, 0);
SetShotDataA(1, 0, 3, 180, 0, 0, 0, 233);
SetShotDataA(1, 30, 0, 180, 0, 0, 0, 233);
SetShotDataA(1, 60, 2, 90, 0, 0, 0, 153);
SetShotDataA(1, 90, 0, 90, 0, 0, 0, 153);
SetShotDataA(1, 120, 1, ANGB, -2, 0, 0, 32);
SetShotDataA(1, 180, 0, ANGB, 0, 0, 0, 32);
SetShotDataA(1, 240, 3, rand_int(0,360), 0, 0, 0, 62);
FireShot(1);
ANGB=ANGB+30;
}
loop(12){
CreateShotA(1, GetX, GetY, 0);
SetShotDataA(1, 0, 3, 180, 0, 0, 0, 233);
SetShotDataA(1, 30, 0, 180, 0, 0, 0, 233);
SetShotDataA(1, 60, 2, 135, 0, 0, 0, 153);
SetShotDataA(1, 90, 0, 135, 0, 0, 0, 153);
SetShotDataA(1, 120, 1, ANGB, -2, 0, 0, 32);
SetShotDataA(1, 180, 0, ANGB, 0, 0, 0, 32);
SetShotDataA(1, 240, 3, rand_int(0,360), 0, 0, 0, 62);
FireShot(1);
ANGB=ANGB+30;
}
loop(12){
CreateShotA(1, GetX, GetY, 0);
SetShotDataA(1, 0, 3, 180, 0, 0, 0, 233);
SetShotDataA(1, 30, 0, 180, 0, 0, 0, 233);
SetShotDataA(1, 60, 2, 180, 0, 0, 0, 153);
SetShotDataA(1, 90, 0, 180, 0, 0, 0, 153);
SetShotDataA(1, 120, 1, ANGB, -2, 0, 0, 32);
SetShotDataA(1, 180, 0, ANGB, 0, 0, 0, 32);
SetShotDataA(1, 240, 3, rand_int(0,360), 0, 0, 0, 62);
FireShot(1);
ANGB=ANGB+30;
}
loop(12){
CreateShotA(1, GetX, GetY, 0);
SetShotDataA(1, 0, 3, 180, 0, 0, 0, 233);
SetShotDataA(1, 30, 0, 180, 0, 0, 0, 233);
SetShotDataA(1, 60, 2, 225, 0, 0, 0, 153);
SetShotDataA(1, 90, 0, 225, 0, 0, 0, 153);
SetShotDataA(1, 120, 1, ANGB, -2, 0, 0, 32);
SetShotDataA(1, 180, 0, ANGB, 0, 0, 0, 32);
SetShotDataA(1, 240, 3, rand_int(0,360), 0, 0, 0, 62);
FireShot(1);
ANGB=ANGB+30;
}
loop(12){
CreateShotA(1, GetX, GetY, 0);
SetShotDataA(1, 0, 3, 180, 0, 0, 0, 233);
SetShotDataA(1, 30, 0, 180, 0, 0, 0, 233);
SetShotDataA(1, 60, 2, 270, 0, 0, 0, 153);
SetShotDataA(1, 90, 0, 270, 0, 0, 0, 153);
SetShotDataA(1, 120, 1, ANGB, -2, 0, 0, 32);
SetShotDataA(1, 180, 0, ANGB, 0, 0, 0, 32);
SetShotDataA(1, 240, 3, rand_int(0,360), 0, 0, 0, 62);
FireShot(1);
ANGB=ANGB+30;
}
loop(12){
CreateShotA(1, GetX, GetY, 0);
SetShotDataA(1, 0, 3, 180, 0, 0, 0, 233);
SetShotDataA(1, 30, 0, 180, 0, 0, 0, 233);
SetShotDataA(1, 60, 2, 315, 0, 0, 0, 153);
SetShotDataA(1, 90, 0, 315, 0, 0, 0, 153);
SetShotDataA(1, 120, 1, ANGB, -2, 0, 0, 32);
SetShotDataA(1, 180, 0, ANGB, 0, 0, 0, 32);
SetShotDataA(1, 240, 3, rand_int(0,360), 0, 0, 0, 62);
FireShot(1);
ANGB=ANGB+30
}
}
You used a
loop during which a variable is increased to make bullets that are the same except for one parameter. Why not do the same thing to another parameter? Just define another variable (in this case, I called it ANGC to stay close to your form) and you reduce the amount of code you have to write to 1/8 of the actual amount!

if(Frame==Interval){
loop(8){
loop(12){
CreateShotA(1, GetX, GetY, 0);
SetShotDataA(1, 0, 3, 0, 0, 0, 0, 234);
SetShotDataA(1, 30, 0, 0, 0, 0, 0, 234);
SetShotDataA(1, 60, 2, ANGC, 0, 0, 0, 151);
SetShotDataA(1, 90, 0, ANGC, 0, 0, 0, 151);
SetShotDataA(1, 120, 1, ANGB, 2, 0, 0, 27);
SetShotDataA(1, 180, 0, ANGB, 0, 0, 0, 27);
SetShotDataA(1, 240, 3, rand_int(0,360), 0, 0, 0, 57);
FireShot(1);
ANGB=ANGB+30;
}
ANGC=ANGC+45;
}
Frame=0;
}
if(Frame==Interval2){
loop(8){
loop(12){
CreateShotA(1, GetX, GetY, 0);
SetShotDataA(1, 0, 3, 180, 0, 0, 0, 233);
SetShotDataA(1, 30, 0, 180, 0, 0, 0, 233);
SetShotDataA(1, 60, 2, ANGC, 0, 0, 0, 153);
SetShotDataA(1, 90, 0, ANGC, 0, 0, 0, 153);
SetShotDataA(1, 120, 1, ANGB, -2, 0, 0, 32);
SetShotDataA(1, 180, 0, ANGB, 0, 0, 0, 32);
SetShotDataA(1, 240, 3, rand_int(0,360), 0, 0, 0, 62);
FireShot(1);
ANGB=ANGB+30;
}
ANGC=ANGC+45;
}
}
Oh yeah, indenting your text properly may seem like unneccessary work at first, but it will make it much easier for you (and other people who want to help) to spot where eventual flaws in your scripts lie.

All in all, not too bad a work, and I am eager to see some more of your scripts in the future.
/wall of code :V