task PlayerShot01(x,y,speed,angle,r,g,b,damage){
let eff      = Obj_Create(OBJ_EFFECT);
let obj      = Obj_Create(OBJ_SHOT);
let alpha    = 100;

ObjEffect_SetTexture(eff,img2);
ObjEffect_SetRenderState(eff,ALPHA);
ObjEffect_SetPrimitiveType(eff,PRIMITIVE_TRIANGLESTRIP);
ObjEffect_SetLayer(eff,2);
ObjEffect_CreateVertex(eff,4);
ObjEffect_SetVertexXY(eff,0,28/-2,26/-2);
ObjEffect_SetVertexXY(eff,1,28/-2,26/2);
ObjEffect_SetVertexXY(eff,2,28/2,26/-2);
ObjEffect_SetVertexXY(eff,3,28/2,26/2);
ObjEffect_SetVertexUV(eff,0,1,3);
ObjEffect_SetVertexUV(eff,1,1,28);
ObjEffect_SetVertexUV(eff,2,29,3);
ObjEffect_SetVertexUV(eff,3,29,28);
ObjEffect_SetVertexColor(eff,0,alpha,r,g,b);
ObjEffect_SetVertexColor(eff,1,alpha,r,g,b);
ObjEffect_SetVertexColor(eff,2,alpha,r,g,b);
ObjEffect_SetVertexColor(eff,3,alpha,r,g,b);
    
Obj_SetPosition(obj,x,y);
Obj_SetSpeed(obj,speed);
Obj_SetAngle(obj,angle);
Obj_SetAlpha(obj,0);
ObjShot_SetBombResist(obj,true);
ObjShot_SetGraphic(obj,1);
ObjShot_SetDamage(obj,damage);
ObjShot_SetPenetration(obj,1);
ObjShot_ToItem(obj,false);

loop{
Obj_SetPosition(eff,Obj_GetX(obj),Obj_GetY(obj));
ObjEffect_SetAngle(eff,0,0,90+Obj_GetAngle(obj));
if(Obj_BeDeleted(obj)==true){
Obj_Delete(eff);
break;
}

if(OnMissed==true){
Obj_Delete(obj);
Obj_Delete(eff);
break;
}

yield;
}
}