switchGesture: Difference between revisions
Jump to navigation
Jump to search
(added parameter type) |
Lou Montana (talk | contribs) |
||
(49 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
{{ | {{RV|type=command | ||
| | |arg= Local | ||
|eff= Global | |||
|1.00 | |game1= arma2 | ||
|version1= 1.00 | |||
| | |game2= arma2oa | ||
|version2= 1.50 | |||
| | |game3= tkoh | ||
|version3= 1.00 | |||
| | |game4= arma3 | ||
|version4= 0.50 | |||
| | |gr1= Animations | ||
| | |descr= When used on a person,the given move is started immediately (without transition). | ||
| [[ | |s1= soldier [[switchGesture]] moveName | ||
|p1= soldier: [[Object]] | |||
| | |p2= moveName: [[String]] | ||
|r1= [[Nothing]] | |||
| |= | |s2= soldier [[switchGesture]] [moveName, time, blendFactor, resetAim] | ||
|s2since= arma3 2.18 | |||
|p21= soldier: [[Object]] | |||
|p22= moveName: [[String]] - Entry from {{hl|"CfgMovesMaleSdr" >> "states"}} or {{hl|"CfgGesturesMale" >> "states"}} | |||
|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= 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]] | |||
| | |x1= <sqf>soldierOne switchGesture "Wave";</sqf> | ||
|x2= <sqf>// 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]; | |||
}; | |||
} | |||
</sqf> | |||
|seealso= [[playGesture]] [[getUnitMovesInfo]] [[switchMove]] | |||
}} | }} | ||
<dl class="command_description"> | |||
<dl class= | |||
<dd class="notedate">Posted on | <dt><dt> | ||
<dt class="note"> | <dd class="notedate">Posted on 2010-08-31</dd> | ||
<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
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.