switchGesture: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(Add new syntax for 2.18)
m (Text replacement - "kju" to ".kju")
 
(6 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{RV|type=command
{{RV|type=command
|arg= Local
|eff= Global


|game1= arma2
|game1= arma2
Line 27: Line 30:
|s2= soldier [[switchGesture]] [moveName, time, blendFactor, resetAim]
|s2= soldier [[switchGesture]] [moveName, time, blendFactor, resetAim]
|s2since= arma3 2.18
|s2since= arma3 2.18
|p21= moveName: [[String]] - Entry from {{hl|"CfgMovesMaleSdr" >> "states"}} or {{hl|"CfgGesturesMale" >> "states"}}
|p21= soldier: [[Object]]
|p22= time: [[Number]] - (Optional, default: 0) progress time, in range 0-1, where 0 = beginning of the animation, and 1 = end of the animation
|p22= moveName: [[String]] - Entry from {{hl|"CfgMovesMaleSdr" >> "states"}} or {{hl|"CfgGesturesMale" >> "states"}}
|p23= blendFactor: [[Number]] - (Optional, default: 0) In range 0-1. How much to blend the new animation with the current animation.  
|p23= time: [[Number]] - (Optional, default: 0) normalized time, in range 0-1, where 0 = beginning of the animation, and 1 = end of the animation
|p24= resetAim: [[Boolean]] - (Optional, default: true) Whether the aim/head direction should be reset after switching
|p24= blendFactor: [[Number]] - (Optional, default 1) how much to blend the current animation with the new animation, in range 0..1, where 0 = current animation, and 1 = new animation. When 1 is used, the switching is instant (not smooth).
|p25= resetAim: [[Boolean]] - (Optional, default: true) Whether the aim/head direction should be reset after switching
|r2= [[Nothing]]
|r2= [[Nothing]]


Line 45: Line 49:
_i = getUnitMovesInfo player;
_i = getUnitMovesInfo player;
_a = getUnitMovesInfo ai1;
_a = getUnitMovesInfo ai1;
 
if (animationState ai1 != _m || abs(_i#1 - _a#1) > 0.1) then {
if (animationState ai1 != _m || abs(_i#1 - _a#1) > 0.1) then {
ai1 switchMove [_m, _i#0, _i#3, false];
ai1 switchMove [_m, _i#0, _i#3, false];
Line 54: Line 58:
}
}
</sqf>
</sqf>
|seealso= [[playGesture]]
|seealso= [[playGesture]] [[getUnitMovesInfo]] [[switchMove]]
}}
}}


Line 61: Line 65:
<dt><dt>
<dt><dt>
<dd class="notedate">Posted on 2010-08-31</dd>
<dd class="notedate">Posted on 2010-08-31</dd>
<dt class="note">[[User:kju|kju]]</dt>
<dt class="note">[[User:.kju|.kju]]</dt>
<dd class="note">
<dd class="note">
Rpt says "Not implemented" as of OA 1.54.
Rpt says "Not implemented" as of OA 1.54.


</dl>
</dl>

Latest revision as of 20:32, 3 May 2024

Hover & click on the images for description

Description

Description:
When used on a person,the given move is started immediately (without transition).
Groups:
Animations

Syntax

Syntax:
soldier switchGesture moveName
Parameters:
soldier: Object
moveName: String
Return Value:
Nothing

Alternative Syntax

Syntax:
soldier switchGesture [moveName, time, blendFactor, resetAim]
Parameters:
soldier: Object
moveName: String - Entry from "CfgMovesMaleSdr" >> "states" or "CfgGesturesMale" >> "states"
time: Number - (Optional, default: 0) normalized time, in range 0-1, where 0 = beginning of the animation, and 1 = end of the animation
blendFactor: Number - (Optional, default 1) how much to blend the current animation with the new animation, in range 0..1, where 0 = current animation, and 1 = new animation. When 1 is used, the switching is instant (not smooth).
resetAim: Boolean - (Optional, default: true) Whether the aim/head direction should be reset after switching
Return Value:
Nothing

Examples

Example 1:
soldierOne switchGesture "Wave";
Example 2:
// Create a dummy agent that copies your moves ai1 = createAgent [typeOf player, getPosATL player, [], 0, "NONE"]; ai1 disableAI "ALL"; onEachFrame { ai1 setAnimSpeedCoef getAnimSpeedCoef player; ai1 setVectorDir vectorDir player; _m = animationState player; _g = gestureState player; _i = getUnitMovesInfo player; _a = getUnitMovesInfo ai1; if (animationState ai1 != _m || abs(_i#1 - _a#1) > 0.1) then { ai1 switchMove [_m, _i#0, _i#3, false]; }; if ((gestureState ai1 != _g || abs(_i#6 - _a#6) > 0.1) && (_g != "<none>" && _g find "_player" < 0)) then { ai1 switchGesture [_g, _i#5, _i#8, false]; }; }

Additional Information

See also:
playGesture getUnitMovesInfo switchMove

Notes

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 2010-08-31
.kju
Rpt says "Not implemented" as of OA 1.54.