shoot x,y,z,angle,zangle,power,gani,ganiattribute;
x-starting x of the projectile
y-" "y " "
z-" "z " "
angle-the angle at which the shot will fire, in radians. 0 is right, 3.14/2 is up, 3.15 is left, and 3.14*1.5 is down
zangle-same thing but for on the z axis, it decides how "up" the shot will be fired, with 0 being shot straight forward (not good to do, wont get anywhere becuase of the gravity), and 3.14/2 being straight up.
power- the force of the shot. 1 is the default graal arrow, and having 0 will make the projectile not be affected by gravity and travel at a speed of 1 (not sure if that's how it's meant, but my experience tells me this).
gani- gani of the projectile, if you put nothing it uses the player's gani without the player sprites (except for shadow). example: if the player is idle it will shoot a shadow.
gani attribute- same as with setani gani,ganiattribute;
Hope that helps, anyone can correct me if I put something wrong or misguiding here (but dont be an ass about it)
EDIT: forgot a few other things for setting up and recieving the projectile.
setshootparams param0,param1,ect.-for clientside, when recieved, there will be parameters based on what's set here, so if you have iut set as:
NPC Code:
setshootparams 1,2;
when recieved (I'll cover that next) with actionprojectile clientside it will have #p(0) as 1, and #p(1) as 2. if done serverside or with actionprojectile2, when recieved it will have #p(0) as the landing x(where the projectile hits the ground or something else), #p(1) as the landing y, and then #p(2) as 1, and #p(3) as 2.
Recieving:
actionprojectile-if on clientside, it reacts when hit by a clientside projectile. If on serverside it triggers if a clientside projectile lands (or if in a class npc when it's hit by one), and if done serverside, #p(0) is the land x, and #p(1) is the landing y, and the following params will be any ones that were set for the projectile. Otherwise the params are in order of what was set by the player, starting at #p(0).
actionsprojectile-a serverside projectile has landed (meaning a projectile sent by a serverside script). Params are the same as with serverside above. If put in a class npc or on clientside, it will react when hit by a serverside projectile (and params are as the player set)
actionprojectile2- clientside: a clientside projectile has landed. Params are same as actionprojectile on serverside. This command isnt used serverside.
I think that covers it all, hope this helps.