@Initialize
{
ascent(i in 0..4){Option(i*90);}
}
task Option(a)
{
yield;
let obj = Obj_Create(OBJ_EFFECT);
let x = GetPlayerX;
let y = GetPlayerY;
let r = 0;
blahblahblah; //Effect object stuff, you should know how to do this
loop{
x = (GetPlayerX+x*19)/20; //Gives option position a little "lag"
y = (GetPlayerY+y*19)/20;
a += 5; //Makes them spin
if(GetKeyState(VK_SLOWMOVE)==KEY_HOLD && r > 32){r--;} //Move the options in or out based on if focusing or not
if(GetKeyState(VK_SLOWMOVE)==KEY_FREE && r < 48){r++;}
Obj_SetPosition(obj, x+cos(a)*r, y+sin(a)*r); //Set option position
//Place the shot firing code here, and use 'a' as the angle
yield;
}
}
Typed this all right here, so some probably made a stupid error in there somewhere. Make sure you've got a yield; in @MainLoop as well.