A. no script needed. Somewhere (such as the player's init field -- or for MP the init field of some object that always appears), put
MyShell = "FxExploGround1" camcreate [0,0,0]
Set the trigger tot he condition you want, and add:
&& getpos Myshell select 0 == 0
e.g., if you wnat the boolean BARRAGE to control the trigger:
barrage && getpos myshell select 0 == 0
Use the drop time to create an interval, according to the formula:
distance = 4.9 *(seconds ^2)
so for 5 seconds, that's: 4.9 * 25 or 72.5
Now put in the activation field that Z value, and clal the shell MyShell, viz:
shell = "Shell120"; radius = 60; "MyShell = shell camcreate [((getpos boom) select 0) + (((_x mod 1)*radius)*sin _x), ((getpos boom) select 1) + (((_x mod 1)*radius)*cos _x), 72.5]" foreach [random 360, random 360, random 360, random 360]
voila`!
B. In a script:
shell = "Shell120"
radius = 60
@condition
#loop
"shell camcreate [((getpos boom) select 0) + (((_x mod 1)*radius)*sin _x), ((getpos boom) select 1) + (((_x mod 1)*radius)*cos _x), 20]" foreach [random 360, random 360, random 360, random 360]
?condition:goto "loop"