No I need the muzzle vector
This is allll of the code
function VectorExtend(%vec, %x)
{
return VectorAdd(%vec, VectorScale(VectorNormalize(%vec), %x));
}
function Armor::onTrigger(%data,%obj,%slot,%val)
{
Parent::onTrigger(%data,%obj,%slot,%val);
//echo("onTrigger invoked");
if(%obj.getDatablock() == PlayerIceHockeyArmor.getID() || %obj.getDatablock() == PlayerGoalieArmor.getID())
{
//echo("yes he has a hockey player");
if(%slot == 2)
{
//echo("stopping him");
if(($Sim::Time - %obj.lastbrake) > 1)
{
serverPlay3D(Shave_Ice,%obj.gettransform());
%obj.setVelocity("0 0 0");
%obj.lastbrake = $Sim::Time;
}
}
}
%image = %obj.getMountedImage(0);
//Echo(%image);
if(%slot == 4)
{
//HOCKEY PASS
if(isObject(%image) && %image.HockeyStickWPuck)
{
%obj.hasPuck = false;
%obj.hasSportBall = false;
//echo("no puck :(");
serverPlay3D(SlapShot,%obj.getPosition());
%obj.unmountimage( 0 );
%obj.mountimage(HockeyStickImage, 0);
%objectVelocity = %obj.getVelocity();
%vector = %obj.getMuzzleVector(0);
%vector1 = VectorScale(%vector,40);
%vector2 = VectorScale(%objectVelocity,0.1);
%fvel = VectorAdd(%vector1,%vector2);
%vel = VectorAdd(%fvel, "0 0 -10");
%p = new item()
{
dataBlock = PuckPickupItem;
position = VectorExtend(%obj.getMuzzleVector(0),3);
sourceObject = %obj;
sourceSlot = 0;
client = %obj.client;
};
%p.setVelocity(%vel);
%p.schedulePop();
%obj.playThread(3, shiftRight);
}
if(isObject(%image) && %image.HockeyStick)
{
if(%val)
%obj.playThread(3,shiftRight);
}
//GOALIE PASS
if(isObject(%image) && %image.GoalieStickWPuck)
{
%obj.hasPuck = false;
%obj.hasSportBall = false;
//echo("no puck :(");
serverPlay3D(SlapShot,%obj.getPosition());
%obj.unmountimage( 0 );
%obj.mountimage(GoalieStickImage, 0);
%objectVelocity = %obj.getVelocity();
%vector = %obj.getMuzzleVector(0);
%vector1 = VectorScale(%vector,40);
%vector2 = VectorScale(%objectVelocity,0.1);
%fvel = VectorAdd(%vector1,%vector2);
%vel = VectorAdd(%fvel, "0 0 -10");
%p = new Projectile()
{
dataBlock = PuckProjectile;
initialVelocity = %vel;
initialPosition = VectorExtend(%obj.getMuzzlePoint(0),3);
sourceObject = %obj;
sourceSlot = 0;
client = %obj.client;
};
%obj.playThread(3, shiftRight);
}
if(isObject(%image) && %image.GoalieStick)
{
if(%val)
%obj.playThread(3,shiftRight);
}
}
}
and the ontrigger is in a package