I'm sorry, I just really want to get done with this script. >_> Desperation means I don't have much time to read. And thanks!
That isn't the correct attitude to have though. Mainly because this thread is read and answered very fast, hence it has already 4 threads in history and lots of pages. There is no such thing as "I am in a hurry so I bluntly post a thread because it will help me faster" in this forum section. Now for your question.
ObjEffect_SetAngle(obj,x,y,z);
What do the parameters x, y and z stand for? If I leave both x and y as 0 and z as GetAngleToPlayer, the anchor comes out perfectly but it only flies to the right side of the boss. However, the tip of the anchor IS pointing towards the player.
x y z are the parameters for flipping or tilting the image. X parameter flips the image around the x-axis, y around the y-axis and z makes it rotate. If it is flying to the right of the boss, it means it has a movement angle of 0.
Take a look at your own code. You are saying "let anchorangle = 0;" but doing nothing with it. And defining ObjEffect_SetAngle(anchortoss,0,0,90); but you are nowhere defining WHERE the object bullet should move. You need to also define Obj_SetAngle(obj,angle); Remember that these are two different angle functions. The ObjEffect one is only for the graphics and the Obj_Angle is for the actual angle of the object bullet.
To fix your issue:
- Remove let anchorangle = 0; because you are doing nothing with it.
- Add Obj_SetAngle(obj,dir); <-- because you are using the parameter dir in your task.
- Change the effect angle to ObjEffect_SetAngle(obj,0,0,dir);
- Call the bullet in your script with superbullet(x,y,v,dir,graphic,delay); where dir = GetAngleToPlayer.
The parameter will automatically pass down the direction angle for both the Object it self and the effect angle.