does danmakufu have problems with auto-deletion of player object lasers? cause this piece of code keeps on making it crash when the first laser spawned reaches the auto-delete mark (outside the screen)
task aquablast
{
let blastangle=angletoenemy;
let blastangleb=blastangle;
loop(10)
{
blastangle+=7;
PlaySE(GetCurrentScriptDirectory~"Laser1.wav");
aqualaser(GetCenterX+30*cos(blastangle), GetCenterY+30*sin(blastangle), blastangle);
aqualaser(GetCenterX+30*cos(blastangleb-blastangle), GetCenterY+30*sin(blastangleb-blastangle), blastangleb-blastangle);
aqualaser(GetCenterX+30*cos(180+blastangle), GetCenterY+30*sin(180+blastangle), 180+blastangle);
aqualaser(GetCenterX+30*cos(180+blastangleb-blastangle), GetCenterY+30*sin(180+blastangleb-blastangle), 180+blastangleb-blastangle);
loop(5){yield;}
}
task aqualaser(x, y, ang)
{
let count=0;
let startx=GetCommonData("STAGEX");
let starty=GetCommonData("STAGEY");
let obj=Obj_Create(OBJ_LASER);
Obj_SetPosition(obj, x, y);
Obj_SetAngle(obj, ang);
Obj_SetSpeed(obj, 0);
ObjShot_SetGraphic(obj, BLUE01);
ObjShot_SetDamage(obj, 0.5);
ObjShot_SetPenetration(obj, 30000);
ObjLaser_SetLength(obj, 2);
ObjLaser_SetWidth(obj, 15);
ObjLaser_SetSource(obj, false);
while(Obj_BeDeleted(obj)==false)
{
yield;
if(ObjLaser_GetLength(obj)<100){ObjLaser_SetLength(obj, ObjLaser_GetLength(obj)+3);}
if(ObjLaser_GetLength(obj)>100){ObjLaser_SetLength(obj, 100); count=1;}
if(count>=1){Obj_SetX(obj, Obj_GetX(obj)+3*cos(ang)); Obj_SetY(obj, Obj_GetY(obj)+3*sin(ang)); count++;}
if(count>=50){Obj_Delete(obj);}
if(startx!=GetCommonData("STAGEX"))
{
Obj_SetX(obj, Obj_GetX(obj)+(GetCommonData("STAGEX")-startx));
startx=GetCommonData("STAGEX");
}
if(starty!=GetCommonData("STAGEY"))
{
Obj_SetY(obj, Obj_GetY(obj)+(GetCommonData("STAGEY")-starty));
starty=GetCommonData("STAGEY");
}
}
}
}
*angletoenemy is just a function that returns an angle...