agents: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "<code>([^ ]*)\[\[([a-zA-Z][a-zA-Z0-9_]+)\]\]([^ ]*)<\/code>" to "<code>$1$2$3</code>")
m (Some wiki formatting)
 
(4 intermediate revisions by 2 users not shown)
Line 21: Line 21:
|s1= [[agents]]  
|s1= [[agents]]  


|r1= [[Array]] of [[Team Member|Team Members]]
|r1= [[Array]] of [[Team Member]]s


|x1= <code>{agent _x moveTo position player} [[forEach]] '''agents''';</code>
|x1= <sqf>{ agent _x moveTo position player } forEach agents;</sqf>


|seealso= [[agent]] [[createAgent]] [[isAgent]] [[forEachMemberAgent]] [[entities]] [[allCurators]] [[allGroups]] [[allDead]] [[playableUnits]] [[switchableUnits]] [[vehicles]] [[allUnitsUAV]] [[allDeadMen]]
|seealso= [[teams]] [[agent]] [[createAgent]] [[isAgent]] [[forEachMemberAgent]] [[entities]] [[allCurators]] [[allGroups]] [[allDead]] [[playableUnits]] [[switchableUnits]] [[vehicles]] [[allUnitsUAV]] [[allDeadMen]]
}}
}}


<dl class="command_description">
{{Note
|user= Rocket
|timestamp= 20120404104800
|text= Note that agents returns a reference to the agent itself, not the object. For example: <sqf>{ alive _x } count agents;</sqf> would return an error
But you can assign the agent a reference using [[setVariable]], and then reference it, for example: <sqf>{ alive (_x getVariable ["agentObject", objNull]) } count agents;</sqf> would return the number of agents still alive - BUT you would need to define "agentObject" after you create the agent, for example:
<sqf>_agent = createAgent [_type, _position, [], _radius, "NONE"];_agent setVariable["agentObject",_agent,true];</sqf>
}}


<dt></dt>
{{Note
<dd class="notedate">Posted on April 4, 2012 - 10:48 (GMT)</dd>
|user= Killzone_Kid
<dt class="note">[[User:Rocket|Rocket]]</dt>
|timestamp= 20130801215500
<dd class="note">Note that agents returns a reference to the agent itself, not the object. For example: '''{alive _x} count agents;''' would return an error. But you can assign the agent a reference using setVariable, and then reference it, for example: '''{alive (_x getVariable ["agentObject",objNull]) count agents;''' would return the number of agents still alive - BUT you would need to define "agentObject" after you create the agent, for example:
|text= Alternatively, to get object from agent reference use [[agent]] command.
'''_agent = createAgent [_type, _position, [], _radius, "NONE"];_agent setVariable["agentObject",_agent,true];'''
}}
<dt><dt>
<dd class="notedate">Posted on August 1, 2013 - 21:55 (GMT)</dd>
<dt class="note">[[User:Killzone_Kid|Killzone_Kid]]</dt>
<dd class="note">Alternatively, to get object from agent reference use [[agent]] command.
<dt><dt>
<dd class="notedate">Posted on May 26, 2020 - 14:10 (GMT)</dd>
<dt class="note">[[User:PierreMGI|PierreMGI]]</dt>
<dd class="note">In debug console, pointing at an agent:
{| class="wikitable"
|-
| ''[[cursorObject]]'' || // seems to refer to an agent (ex.: Agent 0xcbce41c0), but it is an object
|-
| ''[[teamMember]] cursorObject'' || // returns the same value Agent 0xcbce41c0, but now it is the agent
|-
| ''cursorObject in [[agents]]'' || // so, will return false (even if you can read the value Agent 0xcbce41c0 in the agents array)
|-
| ''teamMember cursorObject in Agents'' || // returns true. TeamMember allows to refer to the agent under the cursorObject
|-
| ''[[agent]] teamMember cursorObject isEqualTo cursorObject'' || // True, same object.
|}
</dd>


</dl>
{{Note
|user= PierreMGI
|timestamp= 20200526141000
|text= In debug console, pointing at an agent:
<sqf>
cursorObject; // seems to refer to an agent (ex.: Agent 0xcbce41c0), but it is an object
teamMember cursorObject; // returns the same value Agent 0xcbce41c0, but now it is the agent
cursorObject in agents; // will return false (even if you can read the value Agent 0xcbce41c0 in the agents array)
teamMember cursorObject in agents; // returns true. TeamMember allows to refer to the agent under the cursorObject
agent teamMember cursorObject isEqualTo cursorObject; // true, same object.
</sqf>
}}

Latest revision as of 23:48, 13 May 2023

Hover & click on the images for description

Description

Description:
Return a list of agents in the current mission.
Groups:
TeamsObject Detection

Syntax

Syntax:
agents
Return Value:
Array of Team Members

Examples

Example 1:

Additional Information

See also:
teams agent createAgent isAgent forEachMemberAgent entities allCurators allGroups allDead playableUnits switchableUnits vehicles allUnitsUAV allDeadMen

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
Rocket - c
Posted on Apr 04, 2012 - 10:48 (UTC)
Note that agents returns a reference to the agent itself, not the object. For example:
{ alive _x } count agents;
would return an error But you can assign the agent a reference using setVariable, and then reference it, for example:
{ alive (_x getVariable ["agentObject", objNull]) } count agents;
would return the number of agents still alive - BUT you would need to define "agentObject" after you create the agent, for example:
_agent = createAgent [_type, _position, [], _radius, "NONE"];_agent setVariable["agentObject",_agent,true];
Killzone_Kid - c
Posted on Aug 01, 2013 - 21:55 (UTC)
Alternatively, to get object from agent reference use agent command.
PierreMGI - c
Posted on May 26, 2020 - 14:10 (UTC)
In debug console, pointing at an agent:
cursorObject; // seems to refer to an agent (ex.: Agent 0xcbce41c0), but it is an object teamMember cursorObject; // returns the same value Agent 0xcbce41c0, but now it is the agent cursorObject in agents; // will return false (even if you can read the value Agent 0xcbce41c0 in the agents array) teamMember cursorObject in agents; // returns true. TeamMember allows to refer to the agent under the cursorObject agent teamMember cursorObject isEqualTo cursorObject; // true, same object.