createAgent
Jump to navigation
Jump to search
Description
- Description:
- Creates an (independent) agent (person) of the given type (type is a name of a subclass of CfgVehicles). If the markers array contains several marker names, the position of a random one is used, otherwise, the given position is used. The unit is placed inside a circle with this position as its center and placement as its radius. Players assigned to an agent using setPlayable will be able to control the agent, operate weapons and other actions, but will not be able to access their inventory using the gear screen. Special properties can be: "NONE" and "FORM".
- Groups:
- Uncategorised
Syntax
- Syntax:
- Object = createAgent [type, position, markers, placement, special]
- Parameters:
- [type, position, markers, placement, special]: Array
- type: String from CfgVehicles
- position: Array (Position format)
- markers: Array
- placement: Number radius
- special: String "None", or "Form"
- Return Value:
- Object
Examples
- Example 1:
agent = createAgent ["SoldierWB", position player, [], 0, "FORM"]
Additional Information
- See also:
- agentagentsisAgentforEachMemberAgent
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
Notes
Bottom Section
- Posted on September 29, 2014 - 20:03 (UTC)
- Killzone Kid
-
In Arma 3, default FSM is calling BIS_fnc_animalBehaviour script upon agent creation, which takes on some animal behavioural logic. The problem here is that it is almost impossible to make animal do what is told. Until now. Since Arma 3 v1.31.127383 you can set BIS_fnc_animalBehaviour_disable variable on the agent at the moment of agent creation, to override the function.
tr = createTrigger ["EmptyDetector", player modelToWorld [0, 10, 0]]; tr setTriggerArea [5, 5, 0, true]; tr setTriggerActivation ["CIV", "PRESENT", true]; rabbits = []; private "_r"; for "_i" from 1 to 10 do { _r = createAgent ["Rabbit_F", position tr, [], 0, "NONE"]; _r setVariable ["BIS_fnc_animalBehaviour_disable", true]; rabbits pushBack _r; }; tr setTriggerStatements [ "if (rabbits isEqualTo thisList) exitWith { _r = thisList select floor random count thisList; _r moveTo (_r modelToWorld [2.5 - random 5, 2.5 - random 5, 0]); }; _esc = rabbits - thisList; doStop _esc; {_x moveTo position thisTrigger} forEach _esc; systemChat str [time, _esc]; false", "", "" ];