knowsAbout: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (…)
mNo edit summary
 
(57 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Command|Comments=
{{RV|type=command
____________________________________________________________________________________________


| ofp |Game name=
|game1= ofp
|version1= 1.00


|1.00|Game version=
|game2= ofpe
|version2= 1.00


|arg= local |Arguments in MP=
|game3= arma1
____________________________________________________________________________________________
|version3= 1.00


| Checks if a group or a side knows about target.
|game4= arma2
|version4= 1.00
 
|game5= arma2oa
|version5= 1.50
 
|game6= tkoh
|version6= 1.00
 
|game7= arma3
|version7= 0.50
 
|arg= local
 
|gr1= Object Manipulation
 
|gr2= Sides
 
|descr= Checks if a group or a side knows about target.
* Enemy knowledge is instantly shared among the group units
* Enemy knowledge is instantly shared among the group units
* Units in the same group always perfectly know about each others
* Units in the same group always perfectly know about each others
* AI knowledge cannot check beyond current [[viewDistance]] and it resets to zero as soon as the target's distance is over it<br />Note: neither fog nor daylight affect this behaviour
* AI knowledge cannot check beyond current [[viewDistance]] and it resets to zero as soon as the target's distance is over it<br>Note: neither fog nor daylight affect this behaviour
* Losing sight of a target for more than 120 seconds resets its [[knowsAbout]] to zero as well
* Losing sight of a target for more than 120 seconds resets its [[knowsAbout]] to zero as well
* '''Magic number''' is the value that must be reached for a unit to shoot at an enemy (used by "Detected by" triggers as well):
* '''Magic number''' is the value that must be reached for a unit to shoot at an enemy (used by "Detected by" triggers as well):
:{{{!}}class{{=}}"wikitable"
:{{{!}}class="wikitable align-center"
!Game
! Game
{{!}}{{GVI|ofp|1.46}}
{{!}} {{GVI|ofp|1.46}}
{{!}}{{GVI|ofpr|1.96}}
{{!}} {{GVI|ofpr|1.96}}
{{!}}{{GVI|arma|1.18}}
{{!}} {{GVI|arma1|1.18}}
{{!}}{{GVI|arma2|1.11}}
{{!}} {{GVI|arma2|1.11}}
{{!}}{{GVI|arma2oa|1.62}}
{{!}} {{GVI|arma2oa|1.62}}
{{!}}{{GVI|arma3|1.82}}
{{!}} {{GVI|arma3|1.82}}
{{!}}-
{{!}}-
!Magic value
! Magic value
{{!}}style{{=}}"text-align: center"{{!}}0.7
{{!}} 0.7
{{!}}style{{=}}"text-align: center"{{!}}0.105
{{!}} 0.105
{{!}}style{{=}}"text-align: center"{{!}}?
{{!}} ?
{{!}}style{{=}}"text-align: center"{{!}}?
{{!}} ?
{{!}}style{{=}}"text-align: center"{{!}}?
{{!}} ?
{{!}}style{{=}}"text-align: center"{{!}}?
{{!}} ?
{{!}}}|Description=
{{!}}}
____________________________________________________________________________________________
 
|s1= who [[knowsAbout]] target


| who [[knowsAbout]] target |Syntax=
|p1= who: [[Object]], [[Group]] or [[Side]] - if a unit, unit's [[group]] is considered; if a vehicle, vehicle commander's [[group]] is used.


|p1= who: [[Object]], [[Group]] or [[Side]] - if a unit, unit's [[group]] is considered; if a vehicle, vehicle commander's [[group]] is used. |Parameter 1=
|p2= target: [[Object]]


|p2= target: [[Object]] |Parameter 2=
|r1= [[Number]] - in range of 0..4, where 4 is maximum knowledge.


| [[Number]] in the range of 0..4, where 4 is maximum knowledge. |Return value=
|mp= ''who'' '''must''' be local, while ''target'' can be remote.


|mp= ''who'' '''must''' be local, while ''target'' can be global. |MP=
|x1= <sqf>_knowledge = player knowsAbout _target;</sqf>
____________________________________________________________________________________________
 
|x1= <code>_knowledge = [[player]] [[knowsAbout]] _target;</code> |Example 1=


|x2= <code>_knowledge = ([[group]] [[player]]) [[knowsAbout]] _target;</code> |Example 2=
|x2= <sqf>_knowledge = (group player) knowsAbout _target;</sqf>


|x3= <code>_knowledge = ([[side]] [[player]]) [[knowsAbout]] _target;</code> |Example 3=
|x3= <sqf>_knowledge = (side player) knowsAbout _target;</sqf>
____________________________________________________________________________________________


| [[nearTargets]], [[reveal]], [[getHideFrom]], [[targetKnowledge]], [[targetsAggregate]], [[targetsQuery]], [[forgetTarget]] |See also=
|seealso= [[nearTargets]] [[reveal]] [[getHideFrom]] [[targetKnowledge]] [[targetsAggregate]] [[targetsQuery]] [[forgetTarget]]
}}
}}


<h3 style="display:none">Notes</h3>
{{Note
<dl class="command_description">
|user= Hardrock
<!-- Note Section BEGIN -->
|timestamp= 20060804105500
 
|text= {{GVI|ofpr|1.91}}
<dd class="notedate">Posted on August 4, 2006 - 10:55
* As soon as An AI unit gets hit with a bullet his [[knowsAbout]] level for the unit that shot him will instantly jump to 1.5, even if the shooter is 1000m away.<br>Vice versa is also true. If An AI soldier's [[knowsAbout]] level for an enemy is 0.7 and the soldier fires and hits the enemy, his [[knowsAbout]] level about the enemy will instantly jump to 1.5.
<dt class="note">[[User:Hardrock|hardrock]]
<dd class="note">{{GVI|ofpr|1.91}}
* As soon as An AI unit gets hit with a bullet his [[knowsAbout]] level for the unit that shot him will instantly jump to 1.5, even if the shooter is 1000m away.<br />Vice versa is also true. If An AI soldier's [[knowsAbout]] level for an enemy is 0.7 and the soldier fires and hits the enemy, his [[knowsAbout]] level about the enemy will instantly jump to 1.5.
* Some editors have found, whilst using this command over the years, that the following characteristics have cropped up:
* Some editors have found, whilst using this command over the years, that the following characteristics have cropped up:
** AI enemies have a very limited amount of peripheral vision, it's not nearly as good as a human player's. A target must be in front of the unit for him to be noticed, so if you sprint right behind an enemy, this value doesn't increase.
** AI enemies have a very limited amount of peripheral vision, it is not nearly as good as a human player's. A target must be in front of the unit for him to be noticed, so if you sprint right behind an enemy, this value doesn't increase.
** Depending on the unit's skill level, it can take a little time for the unit to notice a target. So if you run right past a unit, this value might not increase.
** Depending on the unit's skill level, it can take a little time for the unit to notice a target. So if you run right past a unit, this value might not increase.
** Bushes between the unit and the target seem to have little effect on this value, and trees definitely have no effect. You may be in a forest and can't see the unit, but he can see you.
** Bushes between the unit and the target seem to have little effect on this value, and trees definitely have no effect. You may be in a forest and can't see the unit, but he can see you.
}}


<dd class="notedate">Posted on January 16, 2007
{{Note
<dt class="note">[[User:Bdfy|Bdfy]]
|user= Bdfy
<dd class = "note"><tt>the magic [[knowsAbout]] number is 0.105</tt> It's not that simple. Maybe true for infantry but not all vehicles:<br />
|timestamp= 20070116162500
|text= {{hl|the magic [[knowsAbout]] number is 0.105}} It's not that simple. Maybe true for infantry but not all vehicles:<br>
[[reveal|Reveal]] command sets [[knowsAbout]] to 1, but planes still won't fire at soldiers on the ground.
[[reveal|Reveal]] command sets [[knowsAbout]] to 1, but planes still won't fire at soldiers on the ground.
There's only one known way to pass through this - designate target with another fake infantry unit near the target.
There's only one known way to pass through this - designate target with another fake infantry unit near the target.
As soon as this fake unit see the target [[knowsAbout]] lifts up to 2.5-4 and even single enemy soldiers are attacked from the air (of course if plane has suitable munition :))
As soon as this fake unit see the target [[knowsAbout]] lifts up to 2.5-4 and even single enemy soldiers are attacked from the air (of course if plane has suitable munition :))
}}


<dd class="notedate">Posted on June 13, 2012
{{Note
<dt class="note">[[User:kju|kju]]
|user= Kju
<dd class="note">According to '''[[User:Suma|Suma]]''':<br />
|timestamp= 20120614100100
|text= According to '''[[User:Suma|Suma]]''':<br>
All friendly units within a view distance to each unit [are revealed (to the player? or each friendly?)] on the mission start.
All friendly units within a view distance to each unit [are revealed (to the player? or each friendly?)] on the mission start.
The code is half broken, as it does not make the units known, it only sets the "accuracy" value for them.<br />
The code is half broken, as it does not make the units known, it only sets the "accuracy" value for them.<br>
Note: This is not affecting enemy units at all.
Note: This is not affecting enemy units at all.
}}


<dd class="notedate">Posted on March 27, 2013
{{Note
<dt class="note">[[User:helling3r|helling3r]]
|user= Helling3r
<dd class="note">{{GVI|arma2oa|1.62}} infantry tests:
|timestamp= 20130327232500
|text= {{GVI|arma2oa|1.62}} infantry tests:
It is still true that the command returns values between 0 (lowest) and 4 (most). Freshly Spotted units will have at least 1.5, slowly decreasing when the target disappeared.
It is still true that the command returns values between 0 (lowest) and 4 (most). Freshly Spotted units will have at least 1.5, slowly decreasing when the target disappeared.
The following table shows my test results on a clear day in Takistan using the Vector. Please note that the returned values vary considerably depending on weather and time. Moonlight however seems to not have any considerable effect.
The following table shows my test results on a clear day in Takistan using the Vector. Please note that the returned values vary considerably depending on weather and time. Moonlight however seems to not have any considerable effect.
{|
{{{!}}
| style="vertical-align:top;" |
{{!}}- style="vertical-align: top"
{| class="bikitable"
{{!}}
|+ style="white-space:nowrap;" | 12:00, sunlight, clear sky
{{{!}} class="wikitable"
!Distance
{{!}}+ style="white-space: nowrap" {{!}} 12:00, sunlight, clear sky
!knowsAbout
! Distance
|-
! knowsAbout
|1530 || 1.5
{{!}}-
|-
{{!}} 1530 {{!}}{{!}} 1.5
|1370 || 1.5
{{!}}-
|-
{{!}} 1370 {{!}}{{!}} 1.5
|1250 || 1.5
{{!}}-
|-
{{!}} 1250 {{!}}{{!}} 1.5
|1135 || 1.5
{{!}}-
|-
{{!}} 1135 {{!}}{{!}} 1.5
|1055 || 1.52
{{!}}-
|-
{{!}} 1055 {{!}}{{!}} 1.52
|1022 || 1.64
{{!}}-
|-
{{!}} 1022 {{!}}{{!}} 1.64
|990 || 1.74
{{!}}-
|-
{{!}} 990 {{!}}{{!}} 1.74
|833 || 2.5
{{!}}-
|-
{{!}} 833 {{!}}{{!}} 2.5
|720 || 3.37
{{!}}-
|-
{{!}} 720 {{!}}{{!}} 3.37
|600 || 3.81
{{!}}-
|-
{{!}} 600 {{!}}{{!}} 3.81
|505 || 3.86
{{!}}-
|-
{{!}} 505 {{!}}{{!}} 3.86
|400 || 3.92
{{!}}-
|-
{{!}} 400 {{!}}{{!}} 3.92
|380 || 4
{{!}}-
|-
{{!}} 380 {{!}}{{!}} 4
|365 || 4
{{!}}-
|}
{{!}} 365 {{!}}{{!}} 4
| style="vertical-align:top;" |
{{!}}}
{| class="bikitable"
{{!}}
|+ style="white-space:nowrap;" | 21:00, bright half moon, clear sky
{{{!}} class="wikitable"
!Distance
{{!}}+ style="white-space: nowrap" {{!}} 21:00, bright half moon, clear sky
!knowsAbout
! Distance
|-
! knowsAbout
|285 || 1.5
{{!}}-
|-
{{!}} 285 {{!}}{{!}} 1.5
|120 || 1.5
{{!}}-
|-
{{!}} 120 {{!}}{{!}} 1.5
|88 || 1.89
{{!}}-
|-
{{!}} 88 {{!}}{{!}} 1.89
|75 || 2.3
{{!}}-
|-
{{!}} 75 {{!}}{{!}} 2.3
|61 || 3.9
{{!}}-
|}
{{!}} 61 {{!}}{{!}} 3.9
| style="vertical-align:top;" |
{{!}}}
{| class="bikitable"
{{!}}
|+ style="white-space:nowrap;" | 23:00, pitch black, clear sky, NVG on
{{{!}} class="wikitable"
!Distance
{{!}}+ style="white-space: nowrap" {{!}} 23:00, pitch black, clear sky, NVG on
!knowsAbout
! Distance
|-
! knowsAbout
|600 || 1.5
{{!}}-
|-
{{!}} 600 {{!}}{{!}} 1.5
|487 || 1.5
{{!}}-
|-
{{!}} 487 {{!}}{{!}} 1.5
|390 || 1.5
{{!}}-
|-
{{!}} 390 {{!}}{{!}} 1.5
|289 || 2.22
{{!}}-
|-
{{!}} 289 {{!}}{{!}} 2.22
|278 || 2.4
{{!}}-
|}
{{!}} 278 {{!}}{{!}} 2.4
|}
{{!}}}
{{!}}}
}}


<!-- Note Section END -->
{{Note
</dl>
|user= Lou Montana
|timestamp= 20180603104600
|text= {{GVI|arma3|1.82}} [[knowsAbout]] tests, player moving towards enemy AI, facing each other:
{{{!}} class="wikitable" style="font-size: 0.85em"
{{!}}+ Tests executed in VR, default date (2035-05-28), with AI [[behaviour]] "AWARE"
! Daytime
! AI equipment
! AI skill and rank
! player stance and speed
! player outfit
! first detection distance
! first detection value
! max detection (4)
{{!}}-
{{!}} 13:37
{{!}} Katiba + ACO (Green)
{{!}} 0.5 - private
{{!}} Standing, running
{{!}} B_Soldier_F
{{!}} 245.663
{{!}} 0.148076
{{!}} 132.863
{{!}}-
{{!}} 13:37
{{!}} Katiba + ACO (Green)
{{!}} 0.5 - private
{{!}} Standing, running
{{!}} '''underwear only''', rifle
{{!}} 246.815
{{!}} 1.19377
{{!}} 132.9
{{!}}-
{{!}} 13:37
{{!}} Katiba + ACO (Green)
{{!}} 0.5 - private
{{!}} Standing, running
{{!}} B_Soldier_F, '''no uniform'''
{{!}} 241.885
{{!}} 1.24
{{!}} 132.56
{{!}}-
{{!}} 13:37
{{!}} Katiba + ACO (Green)
{{!}} 0.5 - private
{{!}} Standing, running
{{!}} '''B_Sniper_F'''
{{!}} 156.715
{{!}} 2.95534
{{!}} 133.019
{{!}}-
{{!}} 13:37
{{!}} Katiba + ACO (Green)
{{!}} 0.5 - private
{{!}} '''Lying down, running'''
{{!}} B_Soldier_F
{{!}} 105.401
{{!}} 4
{{!}} 105.401
{{!}}-
{{!}} 13:37
{{!}} Katiba + ACO (Green)
{{!}} 0.5 - private
{{!}} '''Crouching, running'''
{{!}} B_Soldier_F
{{!}} 193.232
{{!}} 1.94615
{{!}} 134.556
{{!}}-
{{!}} 13:37
{{!}} Katiba + ACO (Green)
{{!}} 0.5 - private
{{!}} '''Standing, sprinting'''
{{!}} B_Soldier_F
{{!}} 235.001
{{!}} 1.3146
{{!}} 134.445
{{!}}-
{{!}} 13:37
{{!}} Katiba + ACO (Green)
{{!}} '''0.2 - private'''
{{!}} Standing, running
{{!}} B_Soldier_F
{{!}} 214
{{!}} 0.166763
{{!}} 124.553
{{!}}-
{{!}} 13:37
{{!}} Katiba + ACO (Green)
{{!}} '''1.0 - private'''
{{!}} Standing, running
{{!}} B_Soldier_F
{{!}} 293.065
{{!}} 1.11004
{{!}} ''140.088''
{{!}}-
{{!}} 13:37
{{!}} Katiba + ACO (Green)
{{!}} '''0.5 - colonel'''
{{!}} Standing, running
{{!}} B_Soldier_F
{{!}} 245.641
{{!}} 1.20426
{{!}} 132.113
{{!}}-
{{!}} 13:37
{{!}} '''no weapon'''
{{!}} 0.5 - private
{{!}} Standing, running
{{!}} B_Soldier_F
{{!}} 421.959
{{!}} 0.283476
{{!}} 109.274
{{!}}-
{{!}} 13:37
{{!}} '''Katiba + LRPS'''
{{!}} 0.5 - private
{{!}} Standing, running
{{!}} B_Soldier_F
{{!}} 244.962
{{!}} 4
{{!}} 244.962
{{!}}-
{{!}} '''20:00'''
{{!}} Katiba + ACO (Green)
{{!}} 0.5 - private
{{!}} Standing, running
{{!}} B_Soldier_F
{{!}} 132.089
{{!}} 0.62443
{{!}} 49.4895
{{!}}-
{{!}} '''20:00'''
{{!}} '''Katiba + ACO (Green), no NVG'''
{{!}} 0.5 - private
{{!}} Standing, running
{{!}} B_Soldier_F
{{!}} 10.6837
{{!}} 4
{{!}} 10.6837
{{!}}}
 
Code used (click on "Expand" to the right):
<div class="mw-collapsible mw-collapsed">
<sqf>
player allowDamage false;
player enableFatigue false;
 
player setPosATL [0,0,0];
player setDir 0;
unit setPosATL [0,500,0];
unit setDir 180;


<h3 style="display:none">Bottom Section</h3>
waitUntil { speed player > 0 };


[[Category:Scripting Commands|{{uc:{{PAGENAME}}}}]]
[unit, player] spawn {
[[Category:Command_Group:_Object_Information|{{uc:{{PAGENAME}}}}]]
params ["_unit1", "_unit2"];
[[Category:Scripting Commands OFP 1.46|{{uc:{{PAGENAME}}}}]]
private _time = time;
[[Category:Scripting Commands OFP 1.96|{{uc:{{PAGENAME}}}}]]
private _knowsAboutData = [
[[Category:Scripting Commands OFP 1.99|{{uc:{{PAGENAME}}}}]]
format ["world = %1\ndate = %2\nanim = %3\nweapon/scope = %4/%5\nskill/rank = %6/%7\nplayerType = %8",
[[Category:Scripting Commands ArmA|{{uc:{{PAGENAME}}}}]]
worldName,
[[Category:Scripting Commands ArmA2|{{uc:{{PAGENAME}}}}]]
date,
[[Category:Scripting_Commands_Take_On_Helicopters|{{uc:{{PAGENAME}}}}]]
animationState player,
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
primaryWeapon _unit1,
(_unit1 weaponAccessories primaryWeapon _unit1) select 2,
skill _unit1,
rank _unit1,
typeOf _unit2
]
];
private "_knowsAbout";
private "_entry";
while { alive _unit1 && alive _unit2 } do
{
_knowsAbout = _unit1 knowsAbout _unit2;
_entry = [_unit1 distance _unit2, _knowsAbout];
_knowsAboutData pushBack _entry;
systemChat format ["time: %1 - %2", round (time - _time), _entry];
copyToClipboard str _knowsAboutData;
sleep 1;
};
};
</sqf>
</div>
}}


<!-- CONTINUE Notes -->
{{Note
<dl class="command_description">
|user= ComradeCheekiBreeki
<dd class="notedate">Posted on June 3, 2018 - 10:46 (UTC)</dd>
|timestamp= 20210901041629
<dt class="note">[[User:Lou Montana|Lou Montana]]</dt>
|text= As of at least {{GVI|arma3|2.04}}, all sides appear to always perfectly know about props ({{hl|knowsAbout}} of 4) unless they are beyond max view distance. Direction of the observer, distance between observer and object (excluding those which are beyond the max view distance) and amount of obstructions between them do not seem to affect it. However, there is a short ~0.5 second delay after mission start before units perfectly know about props.<br><br>
<dd class="note">
{{GVI|arma3|1.82}} [[knowsAbout]] tests, player moving towards enemy AI, facing each other:
{|class{{=}}"bikitable" style{{=}}"font-size: 0.85em"
|+Tests executed in VR, default date (2035-05-28), with AI [[behaviour]] "AWARE"
!Daytime !! AI equipment !! AI skill and rank !! player stance and speed !! player outfit !! first detection distance !! first detection value !! max detection (4)
|-
|13:37
|Katiba + ACO (Green)
|0.5 - private
|Standing, running
|B_Soldier_F
|245.663
|0.148076
|132.863
|-
|13:37
|Katiba + ACO (Green)
|0.5 - private
|Standing, running
|'''underwear only''', rifle
|246.815
|1.19377
|132.9
|-
|13:37
|Katiba + ACO (Green)
|0.5 - private
|Standing, running
|B_Soldier_F, '''no uniform'''
|241.885
|1.24
|132.56
|-
|13:37
|Katiba + ACO (Green)
|0.5 - private
|Standing, running
|'''B_Sniper_F'''
|156.715
|2.95534
|133.019
|-
|13:37
|Katiba + ACO (Green)
|0.5 - private
|'''Lying down, running'''
|B_Soldier_F
|105.401
|4
|105.401
|-
|13:37
|Katiba + ACO (Green)
|0.5 - private
|'''Crouching, running'''
|B_Soldier_F
|193.232
|1.94615
|134.556
|-
|13:37
|Katiba + ACO (Green)
|0.5 - private
|'''Standing, sprinting'''
|B_Soldier_F
|235.001
|1.3146
|134.445
|-
|13:37
|Katiba + ACO (Green)
|'''0.2 - private'''
|Standing, running
|B_Soldier_F
|214
|0.166763
|124.553
|-
|13:37
|Katiba + ACO (Green)
|'''1.0 - private'''
|Standing, running
|B_Soldier_F
|293.065
|1.11004
|''140.088''
|-
|13:37
|Katiba + ACO (Green)
|'''0.5 - colonel'''
|Standing, running
|B_Soldier_F
|245.641
|1.20426
|132.113
|-
|13:37
|'''no weapon'''
|0.5 - private
|Standing, running
|B_Soldier_F
|421.959
|0.283476
|109.274
|-
|13:37
|'''Katiba + LRPS'''
|0.5 - private
|Standing, running
|B_Soldier_F
|244.962
|4
|244.962
|-
|'''20:00'''
|Katiba + ACO (Green)
|0.5 - private
|Standing, running
|B_Soldier_F
|132.089
|0.62443
|49.4895
|-
|'''20:00'''
|'''Katiba + ACO (Green), no NVG'''
|0.5 - private
|Standing, running
|B_Soldier_F
|10.6837
|4
|10.6837
|-
|}


Code used:
In addition, props appear to always have a {{hl|knowsAbout}} value of 0 regardless of side or other object checked, including other props.
<spoiler>
}}
player allowDamage false;
player enableFatigue false;
player setPosATL [0,0,0];
player setDir 0;
unit setPosATL [0,500,0];
unit setDir 180;
waitUntil {speed player > 0};
[unit, player] spawn {
params ["_unit1", "_unit2"];
private _time {{=}} time;
private _knowsAboutData {{=}} [
format ["world {{=}} %1\ndate {{=}} %2\nanim {{=}} %3\nweapon/scope {{=}} %4/%5\nskill/rank {{=}} %6/%7\nplayerType {{=}} %8",
worldName,
date,
animationState player,
primaryWeapon _unit1,
(_unit1 weaponAccessories primaryWeapon _unit1) select 2,
skill _unit1,
rank _unit1,
typeOf _unit2
]
];
private "_knowsAbout";
private "_entry";
while { alive _unit1 && alive _unit2 } do
{
_knowsAbout {{=}} _unit1 knowsAbout _unit2;
_entry {{=}} [_unit1 distance _unit2, _knowsAbout];
_knowsAboutData pushBack _entry;
systemChat format ["time: %1 - %2", round (time - _time), _entry];
copyToClipboard str _knowsAboutData;
sleep 1;
};
};
</spoiler>
</dd>
</dl>
<!-- DISCONTINUE Notes -->

Latest revision as of 10:45, 28 September 2023

Hover & click on the images for description

Description

Description:
Checks if a group or a side knows about target.
  • Enemy knowledge is instantly shared among the group units
  • Units in the same group always perfectly know about each others
  • AI knowledge cannot check beyond current viewDistance and it resets to zero as soon as the target's distance is over it
    Note: neither fog nor daylight affect this behaviour
  • Losing sight of a target for more than 120 seconds resets its knowsAbout to zero as well
  • Magic number is the value that must be reached for a unit to shoot at an enemy (used by "Detected by" triggers as well):
Game Logo A0.png1.46 ofpr version.gif1.96 Logo A1 black.png1.18 Logo A2.png1.11 A2 OA Logo.png1.62 Arma 3 logo black.png1.82
Magic value 0.7 0.105 ? ? ? ?
Multiplayer:
who must be local, while target can be remote.
Groups:
Object ManipulationSides

Syntax

Syntax:
who knowsAbout target
Parameters:
who: Object, Group or Side - if a unit, unit's group is considered; if a vehicle, vehicle commander's group is used.
target: Object
Return Value:
Number - in range of 0..4, where 4 is maximum knowledge.

Examples

Example 1:
_knowledge = player knowsAbout _target;
Example 2:
_knowledge = (group player) knowsAbout _target;
Example 3:
_knowledge = (side player) knowsAbout _target;

Additional Information

See also:
nearTargets reveal getHideFrom targetKnowledge targetsAggregate targetsQuery forgetTarget

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
Hardrock - c
Posted on Aug 04, 2006 - 10:55 (UTC)
ofpr version.gif1.91
  • As soon as An AI unit gets hit with a bullet his knowsAbout level for the unit that shot him will instantly jump to 1.5, even if the shooter is 1000m away.
    Vice versa is also true. If An AI soldier's knowsAbout level for an enemy is 0.7 and the soldier fires and hits the enemy, his knowsAbout level about the enemy will instantly jump to 1.5.
  • Some editors have found, whilst using this command over the years, that the following characteristics have cropped up:
    • AI enemies have a very limited amount of peripheral vision, it is not nearly as good as a human player's. A target must be in front of the unit for him to be noticed, so if you sprint right behind an enemy, this value doesn't increase.
    • Depending on the unit's skill level, it can take a little time for the unit to notice a target. So if you run right past a unit, this value might not increase.
    • Bushes between the unit and the target seem to have little effect on this value, and trees definitely have no effect. You may be in a forest and can't see the unit, but he can see you.
Bdfy - c
Posted on Jan 16, 2007 - 16:25 (UTC)
the magic knowsAbout number is 0.105 It's not that simple. Maybe true for infantry but not all vehicles:
Reveal command sets knowsAbout to 1, but planes still won't fire at soldiers on the ground. There's only one known way to pass through this - designate target with another fake infantry unit near the target. As soon as this fake unit see the target knowsAbout lifts up to 2.5-4 and even single enemy soldiers are attacked from the air (of course if plane has suitable munition :))
Kju - c
Posted on Jun 14, 2012 - 10:01 (UTC)
According to Suma:
All friendly units within a view distance to each unit [are revealed (to the player? or each friendly?)] on the mission start. The code is half broken, as it does not make the units known, it only sets the "accuracy" value for them.
Note: This is not affecting enemy units at all.
Helling3r - c
Posted on Mar 27, 2013 - 23:25 (UTC)
A2 OA Logo.png1.62 infantry tests: It is still true that the command returns values between 0 (lowest) and 4 (most). Freshly Spotted units will have at least 1.5, slowly decreasing when the target disappeared. The following table shows my test results on a clear day in Takistan using the Vector. Please note that the returned values vary considerably depending on weather and time. Moonlight however seems to not have any considerable effect.
12:00, sunlight, clear sky
Distance knowsAbout
1530 1.5
1370 1.5
1250 1.5
1135 1.5
1055 1.52
1022 1.64
990 1.74
833 2.5
720 3.37
600 3.81
505 3.86
400 3.92
380 4
365 4
21:00, bright half moon, clear sky
Distance knowsAbout
285 1.5
120 1.5
88 1.89
75 2.3
61 3.9
23:00, pitch black, clear sky, NVG on
Distance knowsAbout
600 1.5
487 1.5
390 1.5
289 2.22
278 2.4
Lou Montana - c
Posted on Jun 03, 2018 - 10:46 (UTC)
Arma 3 logo black.png1.82 knowsAbout tests, player moving towards enemy AI, facing each other:
Tests executed in VR, default date (2035-05-28), with AI behaviour "AWARE"
Daytime AI equipment AI skill and rank player stance and speed player outfit first detection distance first detection value max detection (4)
13:37 Katiba + ACO (Green) 0.5 - private Standing, running B_Soldier_F 245.663 0.148076 132.863
13:37 Katiba + ACO (Green) 0.5 - private Standing, running underwear only, rifle 246.815 1.19377 132.9
13:37 Katiba + ACO (Green) 0.5 - private Standing, running B_Soldier_F, no uniform 241.885 1.24 132.56
13:37 Katiba + ACO (Green) 0.5 - private Standing, running B_Sniper_F 156.715 2.95534 133.019
13:37 Katiba + ACO (Green) 0.5 - private Lying down, running B_Soldier_F 105.401 4 105.401
13:37 Katiba + ACO (Green) 0.5 - private Crouching, running B_Soldier_F 193.232 1.94615 134.556
13:37 Katiba + ACO (Green) 0.5 - private Standing, sprinting B_Soldier_F 235.001 1.3146 134.445
13:37 Katiba + ACO (Green) 0.2 - private Standing, running B_Soldier_F 214 0.166763 124.553
13:37 Katiba + ACO (Green) 1.0 - private Standing, running B_Soldier_F 293.065 1.11004 140.088
13:37 Katiba + ACO (Green) 0.5 - colonel Standing, running B_Soldier_F 245.641 1.20426 132.113
13:37 no weapon 0.5 - private Standing, running B_Soldier_F 421.959 0.283476 109.274
13:37 Katiba + LRPS 0.5 - private Standing, running B_Soldier_F 244.962 4 244.962
20:00 Katiba + ACO (Green) 0.5 - private Standing, running B_Soldier_F 132.089 0.62443 49.4895
20:00 Katiba + ACO (Green), no NVG 0.5 - private Standing, running B_Soldier_F 10.6837 4 10.6837

Code used (click on "Expand" to the right):

player allowDamage false; player enableFatigue false; player setPosATL [0,0,0]; player setDir 0; unit setPosATL [0,500,0]; unit setDir 180; waitUntil { speed player > 0 }; [unit, player] spawn { params ["_unit1", "_unit2"]; private _time = time; private _knowsAboutData = [ format ["world = %1\ndate = %2\nanim = %3\nweapon/scope = %4/%5\nskill/rank = %6/%7\nplayerType = %8", worldName, date, animationState player, primaryWeapon _unit1, (_unit1 weaponAccessories primaryWeapon _unit1) select 2, skill _unit1, rank _unit1, typeOf _unit2 ] ]; private "_knowsAbout"; private "_entry"; while { alive _unit1 && alive _unit2 } do { _knowsAbout = _unit1 knowsAbout _unit2; _entry = [_unit1 distance _unit2, _knowsAbout]; _knowsAboutData pushBack _entry; systemChat format ["time: %1 - %2", round (time - _time), _entry]; copyToClipboard str _knowsAboutData; sleep 1; }; };

ComradeCheekiBreeki - c
Posted on Sep 01, 2021 - 04:16 (UTC)
As of at least Arma 3 logo black.png2.04, all sides appear to always perfectly know about props (knowsAbout of 4) unless they are beyond max view distance. Direction of the observer, distance between observer and object (excluding those which are beyond the max view distance) and amount of obstructions between them do not seem to affect it. However, there is a short ~0.5 second delay after mission start before units perfectly know about props.

In addition, props appear to always have a knowsAbout value of 0 regardless of side or other object checked, including other props.