From Bohemia Interactive Community
Jump to navigation Jump to search
Hover & click on the images for description


Multiplies 3D vector by a scalar.
Math - Vectors


vector vectorMultiply scalar
vector: Array - vector 3D or 2D (since Arma 3 v2.00, z coordinate is defaulted to 0)
scalar: Number
Return Value:


Example 1:
_newVector = [1,2,3] vectorMultiply 3; // returns [3,6,9]
Example 2:
private _eyePos = eyePos player; private _eyeDir = getCameraViewDirection player; // this is a normalized vector, i.e. its magnitude is 1 private _100mFurther = _eyeDir vectorMultiply 100; // since _eyeDir is normalized, multiplying it by 100 means 100 m in that direction private _lookPos = _eyePos vectorAdd _100mFurther; // the position where player is looking 100m ahead
Example 3:
// Override firing to throw the player towards where he's aiming player allowDamage false; player addAction ["", { player setVelocity ((player weaponDirection "") vectorMultiply 20); }, "", 0, false, true, "DefaultAction"];

Additional Information

See also:
vectorAdd vectorDiff vectorCrossProduct vectorDotProduct vectorCos vectorMagnitude vectorMagnitudeSqr vectorDistance vectorDistanceSqr vectorDir vectorUp setVectorDir setVectorUp setVectorDirAndUp vectorNormalized vectorFromTo matrixMultiply matrixTranspose


Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note
Posted on 28 Jun, 2014
Arma 3 logo black.png1.22 Algorithm:
Vector = [x, y, z]; scalar = a; Result = [(x * a), (y * a), (z * a)];
It is recommended to use vectorMultiply instead of BIS_fnc_vectorMultiply. This is a very useful function, as it can be used with the velocity command to move an object from one position to another. (ie <vector1> to <vector2>) - ensure both positions are found using getPosASL.
_obj setVelocity (((getPosASL _target) vectorDiff (getPosASL _obj)) vectorMultiply 2);