View Single Post
  #2  
Old 08-26-2017, 07:30 PM
MysticalDragon MysticalDragon is offline
Global Administration
MysticalDragon's Avatar
Join Date: Oct 2002
Location: Lynn Ma
Posts: 883
MysticalDragon is just really niceMysticalDragon is just really nice
Send a message via AIM to MysticalDragon Send a message via MSN to MysticalDragon
That's more then likely because when the custom bow on Gk1 was made the shoot function was pretty horrible, it was always better to make your own. Now or when it was improved it feels more responsive although its still very limited to what you should be able to do with projectiles. But for a simple bow shoot would probably be better anyways since its native to the client.

PHP Code:
onActionSProjectile         <- if a projectile hits on serverside
onActionProjectile             
<- if a projectile hits on clientside  Used the same as above
onPlayerShoots
(objobj) ;  <-If the player shot a projectile

example
:
function 
onActionSProjectile(temp.pltemp.dmg) {
  
temp.source isObject(temp.pl) ? makevar(temp.pl) : findplayer(temp.pl);//Player or Npc
  
doDamage(temp.sourcetemp.dmg); <-Call your Damage function
}

shoot(floatfloatfloatfloatfloatfloatstrstr) - shoots a projectile with x,y,z,angle,zangle,strength,ani,aniparams)

//Projectile Attributes
setshootparams(params);

example:
   
//This is to adjust the projectile to shoot at the right location
   
temp.arrowani "idle";
   
temp.arrowpos = {
     
"0.25,0.5",  //Dir 0
     
1.0,            //Dir 1
     
"-0.5,-1"     //Dir 2
    
,"-1.5,0"      //Dir 3
   
};
   
//setshootparams are like attributes saved within the projectile
   
setshootparams(
     
player,
     
temp.damage
   
);
   
shoot(
     
player.temp.arrowpos[player.dir][0],player.temp.arrowpos[player.dir][1], player.z,
     
getangle(vecx(player.dir), vecy(player.dir)), pi 321,
     
temp.arrowaniNULL
   
);
  
//x position of projectile = player.x - temp.arrowpos[player.dir][0]
  //y position of projectile = player.y - temp.arrowpos[player.dir][1]
  //player.z = current z Position of projectile
  //temp.arrowani = the arrow gani that's being fired
  //NULL = Gani Params (If your gani has any special attributes) e.g changing the arrow image depending on what bow your using. 
  //pi*/*32 = Strength of projectile
  //1 = speed of Projectile 
__________________
~Delteria Support
~Playerworld Support
~PWA Chief
http://support.toonslab.com
[email protected]




Last edited by MysticalDragon; 08-26-2017 at 08:04 PM..
Reply With Quote