calculatePath: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - "|exec=" to "|serverExec=") |
Lou Montana (talk | contribs) m (Text replacement - " <nowiki>[</nowiki>" to " [<nowiki/>") |
||
Line 53: | Line 53: | ||
}]</code> |Example 2= | }]</code> |Example 2= | ||
|x3= Alternative usage of [[calculatePath]] functionality that is free of double execution bug (and calculatePath command): <code>[[private]] _agent = [[createAgent]] <nowiki | |x3= Alternative usage of [[calculatePath]] functionality that is free of double execution bug (and calculatePath command): <code>[[private]] _agent = [[createAgent]] [<nowiki/>[[typeOf]] [[player]], [[position]] [[player]], [], 0, "NONE"]; | ||
_agent [[addEventHandler]] ["PathCalculated", | _agent [[addEventHandler]] ["PathCalculated", | ||
{ | { | ||
Line 63: | Line 63: | ||
[[forEach]] [[_this]] [[hash|#]] 1; | [[forEach]] [[_this]] [[hash|#]] 1; | ||
}]; | }]; | ||
_agent [[setDestination]] <nowiki | _agent [[setDestination]] [<nowiki/>[[player]] [[getRelPos]] [500, 0], "LEADER PLANNED", [[true]]];</code> |Example 3= | ||
|x4= Same as above but for a vehicle: <code>[[private]] _agent = [[createAgent]] <nowiki | |x4= Same as above but for a vehicle: <code>[[private]] _agent = [[createAgent]] [<nowiki/>[[typeOf]] [[player]], [[position]] [[player]], [], 0, "NONE"]; | ||
[[private]] _car = "B_Quadbike_01_F" [[createVehicle]] [[position]] [[player]]; | [[private]] _car = "B_Quadbike_01_F" [[createVehicle]] [[position]] [[player]]; | ||
_agent [[moveInDriver]] _car; | _agent [[moveInDriver]] _car; | ||
Line 77: | Line 77: | ||
[[forEach]] [[_this]] [[hash|#]] 1; | [[forEach]] [[_this]] [[hash|#]] 1; | ||
}]; | }]; | ||
_agent [[setDestination]] <nowiki | _agent [[setDestination]] [<nowiki/>[[player]] [[getRelPos]] [500, 0], "LEADER PLANNED", [[true]]];</code> |Example 4= | ||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
Revision as of 10:48, 19 March 2020
Description
- Description:
- Spawns an agent that will execute an AI path calculation and fire the "PathCalculated" event handler. The vehicle type to simulate could be one of the following presets:
- "man" (will use "C_man_1")
- "car" (will use "C_Offroad_01_F")
- "tank" (will use "B_MBT_01_cannon_F")
- "wheeled_APC" (will use "B_APC_Tracked_01_rcws_F")
- "boat" (will use "C_Rubberboat")
- "plane" (will use "B_Plane_CAS_01_dynamicLoadout_F")
- "helicopter" (will use "B_Heli_Light_01_F")
- Multiplayer:
- -
- Groups:
- Uncategorised
Syntax
- Syntax:
- calculatePath [type, behaviour, from, to]
- Parameters:
- [type, behaviour, from, to]: Array
- type: String - Vehicle type to simulate (see description)
- behavior: String - AI behaviour, one of ("CARELESS", "SAFE", "AWARE", "COMBAT" and "STEALTH")
- from: Array - Start position in format [x,y,z]
- to: Array - End position in format [x,y,z]
- Return Value:
- Object - An agent to add the "PathCalculated" event handler to.
Examples
- Example 1:
calculatePath ["car","safe",[2150.67,5778.19,0],[2184.11,5802.28,0]]
- Example 2:
- Draws the path from South West to North East of Agia Marina:
(calculatePath ["man","safe",[2832.9,5927.79,0],[3107.46,6036.61,0]]) addEventHandler ["PathCalculated",{ { _mrk = createMarker ["marker" + str _forEachIndex, _x]; _mrk setMarkerType "mil_dot"; _mrk setMarkerText str _forEachIndex; } forEach (_this#1); }]
- Example 3:
- Alternative usage of calculatePath functionality that is free of double execution bug (and calculatePath command):
private _agent = createAgent [typeOf player, position player, [], 0, "NONE"]; _agent addEventHandler ["PathCalculated", { { private _mrk = createMarker ["marker" + str _forEachIndex, _x]; _mrk setMarkerType "mil_dot"; _mrk setMarkerText str _forEachIndex; } forEach _this # 1; }]; _agent setDestination [player getRelPos [500, 0], "LEADER PLANNED", true];
- Example 4:
- Same as above but for a vehicle:
private _agent = createAgent [typeOf player, position player, [], 0, "NONE"]; private _car = "B_Quadbike_01_F" createVehicle position player; _agent moveInDriver _car; _agent addEventHandler ["PathCalculated", { { private _mrk = createMarker ["marker" + str _forEachIndex, _x]; _mrk setMarkerType "mil_dot"; _mrk setMarkerText str _forEachIndex; } forEach _this # 1; }]; _agent setDestination [player getRelPos [500, 0], "LEADER PLANNED", true];
Additional Information
- See also:
- setDriveOnPathsetDestination
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
Bottom Section
- Posted on July 6, 2019 - 10:28 (UTC)
- Tankbuster
- When using this command to get the predicted path of vehicles driving and having them stay on roads (not go cross country) is important, the best vehicle to use is "wheeled_APC" and behaviour careless