animateSource

From Bohemia Interactive Community
Jump to: navigation, search
Introduced with Arma 3 version 1.58
  Arguments of this scripting command don't have to be local to the client the command is executed onEffects of this scripting command are broadcasted over the network and happen on every computer in the network

Click on the images for descriptions

Introduced in

Game:
Arma 3
Version:
1.58

Description

Description:
Process an animation of the object. If animate uses class name from CfgModels Animations, animateSource uses name defined by source property. This allows to use just one command on a bunch of animations related to the same source simultaneously. Since Arma 3 v1.65.138459 speed of animation can be altered with coefficient.

A class with the same source name should also be present in main config in CfgVehicles AnimationSources and have to be bound to the "user" controller for the command to work. If in order to animate door in example below using animate command it would require 2 calls:

house animate ["Door_1_rot", 1];
house animate ["Door_Handle_1_rot", 1];

With animateSource this would require only 1 (provided everything is configured correctly):

house animateSource ["Door_1_source", 1];

// model.cfg
....
class Animations
{
	class Door_1_rot
	{
		type = rotation;
		source = Door_1_source;
		selection = Door_1;
		axis = Door_1_axis;
		memory = 1;
		minValue = 0.1;
		maxValue = 1;
		angle0 = 0;
		angle1 = (rad 110);
	};
	class Door_Handle_1_rot
	{
		type = rotation;
		source = Door_1_source;
		selection = Door_Handle_1;
		axis = Door_Handle_1_axis;
		memory = 1;
		minValue = 0;
		maxValue = 0.1;
		angle0 = 0;
		angle1 = (rad -50);
	};
};
...
 
// config.cpp
...
class AnimationSources
{
	class Door_1_source
	{
		source = "user";
		animPeriod = 2;
		initPhase = 0;
	};
};
...

If you don't know much about model config you can use this page createVehicle/vehicles for reference. Some of the AnimationSources are listed with the class names of the available assets in Arma 3. If it says "user", the chances are it could work with animateSource (see example 2).

Arma 3 logo black.png It is recommended that animateSource command is used instead of animate whenever is possible, as it is more efficient and optimized for MP
warning.png Mixing animateSource command with animate command to animate the same part can lead to unexpected behavior

Syntax

Syntax:
object animateSource [source, phase, speed]
Parameters:
object: Object
[source, phase, speed]: Array
source: String - common source
phase: Number - wanted animation phase
speed: Boolean or Number - When true animation is instant. Since Arma 3 v1.65.138459 Number > 0 is treated as config speed value multiplier
Return Value:
Nothing

Examples

Example 1:
house animateSource ["Door_1_source", 1, true];
Example 2:
Create UGV and manipulate its turret (Currently not possible to do with animate command. See createVehicle/vehicles for reference)ugv = "B_UGV_01_F" createVehicle (player getRelPos [5, 0]); ugv addAction ["Show Turret", { ugv animateSource ["Turret", 0]; ugv animateSource ["MainTurret", rad 0, true]; ugv animateSource ["MainGun", rad 0, true]; }]; ugv addAction ["Hide Turret", {ugv animateSource ["Turret", 1]}]; ugv addAction ["Turret Left", {ugv animateSource ["MainTurret", rad 90]}]; ugv addAction ["Turret Right", {ugv animateSource ["MainTurret", -rad 90]}]; ugv addAction ["Turret Up", {ugv animateSource ["MainGun", rad 30]}]; ugv addAction ["Turret Down", {ugv animateSource ["MainGun", -rad 20]}];
Example 3:
barGate animateSource ["Door_1_source",0]; //Close barGate animateSource ["Door_1_source",1]; //Open

Additional Information

Multiplayer:
-
See also:
animationSourcePhasesetFaceAnimationanimateanimationPhaseanimateDoordoorPhaseanimationNames

Notes

Only post proven facts here. Report bugs on the feedback tracker. Use the talk page or the forums for discussions.
Add New Note | How To

Notes

Bottom Section