agents: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Some wiki formatting)
m (Some wiki formatting)
 
(33 intermediate revisions by 2 users not shown)
Line 2: Line 2:


|game1= arma2
|game1= arma2
|version1= 1.00


|version1= 1.00
|game2= arma2oa
|version2= 1.50
 
|game3= tkoh
|version3= 1.00
 
|game4= arma3
|version4= 0.50


|gr1= Teams
|gr1= Teams
Line 11: Line 19:
|descr= Return a list of agents in the current mission.
|descr= Return a list of agents in the current mission.


|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
<!-- Note Section BEGIN -->
|user= Rocket
<dd class="notedate">Posted on April 4, 2012 - 10:48 (GMT)</dd>
|timestamp= 20120404104800
<dt class="note">[[User:Rocket|Rocket]]</dt>
|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
<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:  
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:  
'''_agent = createAgent [_type, _position, [], _radius, "NONE"];_agent setVariable["agentObject",_agent,true];'''
<sqf>_agent = createAgent [_type, _position, [], _radius, "NONE"];_agent setVariable["agentObject",_agent,true];</sqf>
}}


<dd class="notedate">Posted on August 1, 2013 - 21:55 (GMT)</dd>
{{Note
<dt class="note">[[User:Killzone_Kid|Killzone_Kid]]</dt>
|user= Killzone_Kid
<dd class="note">Alternatively, to get object from agent reference use [[agent]] command.
|timestamp= 20130801215500
|text= Alternatively, to get object from agent reference use [[agent]] command.
}}


<dd class="notedate">Posted on May 26, 2020 - 14:10 (GMT)</dd>
{{Note
<dt class="note">[[User:PierreMGI|PierreMGI]]</dt>
|user= PierreMGI
<dd class="note">In debug console, pointing at an agent:
|timestamp= 20200526141000
{| class="wikitable"
|text= In debug console, pointing at an agent:
|-
<sqf>
| ''[[cursorObject]]'' || // seems to refer to an agent (ex.: Agent 0xcbce41c0), but it is an object
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
| ''[[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
| ''cursorObject in [[agents]]'' || // so, will return false (even if you can read the value Agent 0xcbce41c0 in the agents array)
agent teamMember cursorObject isEqualTo cursorObject; // true, same object.
|-
</sqf>
| ''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>
 
<!-- Note Section END -->
</dl>
 
 
{{GameCategory|arma2|Scripting Commands}}
{{GameCategory|arma3|Scripting Commands}}
{{GameCategory|tkoh|Scripting Commands}}

Latest revision as of 22: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.