BIS fnc scriptedMove: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Some wiki formatting)
(Add BIS_fnc_unitCapture to see also)
 
(5 intermediate revisions by one other user not shown)
Line 1: Line 1:
<!--
{{TabView
|selected= 2
|title1= {{TabView/GameTitle|arma2oa}}
|content1=
{{RV|type=function
{{RV|type=function


Line 9: Line 17:
|game3= arma3
|game3= arma3
|version3= 0.50
|version3= 0.50
|gr1= Object Manipulation
|descr= Force a unit to turn towards and walk to provided destination(s).
{{Feature|arma3|This syntax is '''broken''' in {{arma3}} as its code relies on [[Arma 2: Multiplayer Framework]] and only works since {{GVI|arma3|2.10}} (see other tab).}}
|s1= [unit, waypoints, code, walkAnim, animLength] call [[BIS_fnc_scriptedMove]]
|p1= unit: [[Object]]
|p2= waypoints: [[Array]] of [[Position]]s
|p3= code: [[Code]] - (Optional, default <sqf inline>{}</sqf>) code to run after waypoint completion
|p4= walkAnim: [[String]] - (Optional, default "AmovPercMwlkSnonWnonDf")
|p5= animLength: [[Number]] - ('''required''' if ''walkAnim'' is defined) distance made by ''walkAnim'' animation
|r1= [[Script Handle]]
|x1= <sqf>[myUnit, [getMarkerPos "wp1", getMarkerPos "wp2", getMarkerPos "wp3"]] call BIS_fnc_scriptedMove;</sqf>
|seealso= [[move]] [[setDriveOnPath]]
}}
|title2= {{TabView/GameTitle|arma3}}
|content2=
-->{{RV|type=function
|game1= arma3
|version1= 2.10


|arg= global
|arg= global
Line 16: Line 57:


|descr= Forces a unit to turn towards and walk to provided destination(s). Will not work on [[player]]. When [[Group]] is used as argument, the function will be automatically executed for each unit in the group.
|descr= Forces a unit to turn towards and walk to provided destination(s). Will not work on [[player]]. When [[Group]] is used as argument, the function will be automatically executed for each unit in the group.
{{Feature|important|An {{arma3}}-compatible version will be available in '''{{arma3}} v2.10'''.}}


{{Feature|informative|When using endAnim, make sure it is able to break walkAnim (not all animations are compatible). When code is executed, it receives the following params [unit, waypoints, currentIndex, userArgs] }}
{{Feature|informative|When using ''endAnim'', make sure it is able to break ''walkAnim'' (not all animations are compatible). When code is executed, it receives the following params: [unit, waypoints, currentIndex, userArgs].}}


|s1= [unitOrGroup, waypoints, code, walkAnim, completionRadius, endAnim] call [[BIS_fnc_scriptedMove]]
|s1= [unitOrGroup, waypoints, code, walkAnim, completionRadius, endAnim] call [[BIS_fnc_scriptedMove]]
Line 24: Line 64:
|p1= unitOrGroup: [[Object]] or [[Group]] - unit or group of units of the class "Man"
|p1= unitOrGroup: [[Object]] or [[Group]] - unit or group of units of the class "Man"


|p2= waypoints: [[Array]] of [[Position]]s in format [pos1, pos2,...] or <nowiki>[</nowiki>[pos1, completionRadius1, turnSpeedCoef1], [pos2, completionRadius2, turnSpeedCoef2],...]
|p2= waypoints: [[Array]] of [[Position]]s in format [pos1, pos2, ...] or [<nowiki/>[pos1, completionRadius1, turnSpeedCoef1], [pos2, completionRadius2, turnSpeedCoef2], ...]


|p3= code: [[Code]] or [[Array]] - (Optional, default <sqf inline>{}</sqf>) code to run after each waypoint completion. Format {code} or <nowiki>[</nowiki>[params], {code}]
|p3= code: [[Code]] or [[Array]] - (Optional, default <sqf inline>{}</sqf>) code to run after each waypoint completion. Format {code} or <nowiki>[</nowiki>[params], {code}]
Line 40: Line 80:
|x1= <sqf>[myUnit, [getMarkerPos "wp1", getMarkerPos "wp2", getMarkerPos "wp3"]] call BIS_fnc_scriptedMove;</sqf>
|x1= <sqf>[myUnit, [getMarkerPos "wp1", getMarkerPos "wp2", getMarkerPos "wp3"]] call BIS_fnc_scriptedMove;</sqf>


|seealso= [[move]] [[setDriveOnPath]]
|seealso= [[move]] [[setDriveOnPath]] [[BIS_fnc_unitCapture]]
}}
 
<!--
}}
}}
-->

Latest revision as of 20:35, 8 October 2023

Hover & click on the images for description

Description

Description:
Forces a unit to turn towards and walk to provided destination(s). Will not work on player. When Group is used as argument, the function will be automatically executed for each unit in the group.
When using endAnim, make sure it is able to break walkAnim (not all animations are compatible). When code is executed, it receives the following params: [unit, waypoints, currentIndex, userArgs].
Execution:
call
Groups:
Object Manipulation

Syntax

Syntax:
[unitOrGroup, waypoints, code, walkAnim, completionRadius, endAnim] call BIS_fnc_scriptedMove
Parameters:
unitOrGroup: Object or Group - unit or group of units of the class "Man"
waypoints: Array of Positions in format [pos1, pos2, ...] or [[pos1, completionRadius1, turnSpeedCoef1], [pos2, completionRadius2, turnSpeedCoef2], ...]
code: Code or Array - (Optional, default {}) code to run after each waypoint completion. Format {code} or [[params], {code}]
walkAnim: String - (Optional, default "AmovPercMwlkSnonWnonDf") walking animation to be played in a loop
completionRadius: Number - (Optional, default 0.5) how far from waypoint center to consider waypoint completion. Global value. The completionRadius given with individual waypoint position overrides global value
turnSpeedCoef: Number - (Optional, default 1.0) how quickly the unit turns towards next waypoint (fast 0.1 ... 10 slow). The turnSpeedCoef given with individual waypoint position overrides global value
endAnim: Number - (Optional, default animationState of the unit prior to function execution) when unit reaches last point, this is the animation to be played immediately. Use "" to let last walkAnim run in full
Return Value:
Script Handle or String or Nothing - depends on execution (local/remote/error);

Examples

Example 1:
[myUnit, [getMarkerPos "wp1", getMarkerPos "wp2", getMarkerPos "wp3"]] call BIS_fnc_scriptedMove;

Additional Information

See also:
move setDriveOnPath BIS_fnc_unitCapture

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