script_enemy_main{
let magnet=Obj_Create(OBJ_SHOT);
Obj_SetPosition(magnet, GetCenterX, GetCenterY-64);
Obj_SetAngle(magnet, 80);
task bullet(x, y, v1, v, ang){
let att=false;
let attx=0;
let atty=0;
let obj=Obj_Create(OBJ_SHOT);
Obj_SetPosition(obj, x, y);
Obj_SetAngle(obj, ang);
Obj_SetSpeed(obj, v1);
ObjShot_SetGraphic(obj, RED01);
ObjShot_SetDelay (obj, 0);
let tangle=0;
while(Obj_BeDeleted(obj)==false){
if(att==false){
if(Obj_GetX(obj)<(Obj_GetX(magnet)-50)||Obj_GetX(obj)>(Obj_GetX(magnet)+50)){
Obj_SetX(obj, Obj_GetX(obj) + v*cos(atan2(Obj_GetY(magnet)-Obj_GetY(obj), Obj_GetX(magnet)-Obj_GetX(obj))) );
} else{ attx=Obj_GetX(obj)-Obj_GetX(magnet); }
if(Obj_GetY(obj)<(Obj_GetY(magnet)-25)||Obj_GetY(obj)>(Obj_GetY(magnet)+25)){
Obj_SetY(obj, Obj_GetY(obj) + v*sin(atan2(Obj_GetY(magnet)-Obj_GetY(obj), Obj_GetX(magnet)-Obj_GetX(obj))) );
} else{ atty=Obj_GetY(obj)-Obj_GetY(magnet); }
}
if(attx!=0&&atty!=0){
Obj_SetSpeed(obj, 0);
att=true;
if(attx<50&&attx>0){attx=50; }
if(attx>-50&&attx<0){attx=-50; }
if(atty<30&&atty>0){atty=30; }
if(atty>-30&&atty<0){atty=-30; }
}
if(att==true){
Obj_SetPosition(obj, Obj_GetX(magnet)+attx, Obj_GetY(magnet)+atty);
}
yield;
}
}
@MainLoop { }
//etc.
There is still an error which I have to fix, though. Please wait warmly until the edit is ready.