Hi everyone, I made a simple binoculars interface on GameSDK and I want to tag all enemies that visible on the screen when I open the binoculars. I tried to tag with Debug:Draw:EntityTag, but I can't find a way to get all entity id on the visible screen. Can anyone help me about that? Thanks in advance.
This is what I came up with: (animated gif)
There are 2 setups I made:
Option 1. Check all enemies in the same frame: (more resource usage during a single frame)
Flowgraph:
CTRL+C CTRL+V directly into your Flowgraph.
Code: Select all
<Graph Description="" Group="EnemyTagging">
<Nodes>
<Node Id="376" Class="Entity:FindEntityByName" pos="-360,-288,0">
<Inputs Name=""/>
</Node>
<Node Id="379" Class="String:Concat" pos="-630,-288,0">
<Inputs String1="Human-" String2=""/>
</Node>
<Node Id="380" Class="Math:Less" pos="-108,-234,0">
<Inputs A="0" B="0"/>
</Node>
<Node Id="381" Class="Logic:Gate" pos="72,-288,0">
<Inputs Closed="0"/>
</Node>
<Node Id="382" Class="Logic:Any" pos="468,72,0">
<Inputs />
</Node>
<Node Id="383" Class="Logic:Any" pos="-108,-288,0" InHideMask="1023">
<Inputs />
</Node>
<Node Id="384" Class="Debug:Draw:EntityTag" pos="468,-468,0">
<Inputs entityId="0" Message="Enemy" FontSize="1.5" Color="1,1,1" Time="10"/>
</Node>
<Node Id="385" Class="Physics:RayCast" pos="2052,-216,0">
<Inputs entityId="0" direction="0,1,0" maxLength="1000" position="0,0,1.3" transformDir="0" ObjTypes="287" IgnoredEntity="0"/>
</Node>
<Node Id="386" Class="Entity:GetPos" pos="468,-288,0">
<Inputs entityId="0" CoordSys="1"/>
</Node>
<Node Id="387" Class="Actor:LocalPlayer" pos="2538,-108,0">
<Inputs />
</Node>
<Node Id="388" Class="Math:EqualCheck" pos="2538,-72,0">
<Inputs A="0" B="0"/>
</Node>
<Node Id="389" Class="Game:Start" pos="2538,-162,0">
<Inputs InGame="1" InEditor="1"/>
</Node>
<Node Id="390" Class="Logic:Any" pos="1566,72,0">
<Inputs />
</Node>
<Node Id="391" Class="Logic:Any" pos="2052,72,0">
<Inputs />
</Node>
<Node Id="392" Class="Entity:GetPos" pos="468,-90,0">
<Inputs entityId="0" CoordSys="1"/>
</Node>
<Node Id="393" Class="Actor:LocalPlayer" pos="468,-126,0">
<Inputs />
</Node>
<Node Id="394" Class="Vec3:SubVec3" pos="1170,-180,0">
<Inputs A="0,0,0" B="0,0,0"/>
</Node>
<Node Id="395" Class="Vec3:NormalizeVec3" pos="1566,-180,0">
<Inputs vector="0,0,0"/>
</Node>
<Node Id="396" Class="Logic:Any" pos="2538,72,0">
<Inputs />
</Node>
<Node Id="397" Class="Debug:Draw:EntityTag" pos="2916,-216,0">
<Inputs entityId="0" Message="Enemy" FontSize="1.5" Color="1,1,1" Time="0.5"/>
</Node>
<Node Id="399" Class="Debug:Draw:Line" pos="2052,-396,0">
<Inputs Pos1="0,0,0" Pos2="0,0,0" Dir="0,0,0" Length="100" Color="0,0,0" Time="0"/>
</Node>
<Node Id="400" Class="Logic:Any" pos="1170,72,0">
<Inputs />
</Node>
<Node Id="401" Class="Logic:Any" pos="1566,-270,0" InHideMask="1023" OutHideMask="1">
<Inputs />
</Node>
<Node Id="402" Name="Draw_enemies_through_walls" Class="_comment" pos="468,-486,0"/>
<Node Id="403" Name="Draw_visible_enemies" Class="_comment" pos="2916,-234,0"/>
<Node Id="406" Name="Z_offset_(1.3_=_Torso_to_Torso_Ray_Cast)" Class="_comment" pos="-1278,-648,0"/>
<Node Id="407" Name="draw_ray_cast_line" Class="_comment" pos="2052,-414,0"/>
<Node Id="408" Class="Vec3:SetVec3" pos="-1278,-630,0">
<Inputs In="0,0,1.3"/>
</Node>
<Node Id="409" Class="Game:Start" pos="-1476,-630,0">
<Inputs InGame="1" InEditor="1"/>
</Node>
<Node Id="410" Class="Vec3:Calculate" pos="1170,-270,0">
<Inputs Op="0" A="0,0,0" B="0,0,0"/>
</Node>
<Node Id="411" Name="Display_Visible_Enemies_With_Tags_(process_all_enemies_at_once)" Class="_commentbox" pos="-1836,-947.26965,0">
<Inputs TextSize="1" Color="1,1,1" DisplayFilled="1" DisplayBox="1" SortPriority="16"/>
<ResizeBorder X="0" Y="0" Width="5148" Height="1620"/>
<NodeSize Width="5148" Height="1767.6172"/>
</Node>
<Node Id="413" Class="Debug:Draw:EntityTagAdvanced" pos="2916,-18,0">
<Inputs entityId="0" Message="Enemy" FadeTime="0" FontSize="1.5" ViewDistance="1000" StaticID="1" ColumnNum="1" Color="1,1,1" Time="0.5"/>
</Node>
<Node Id="414" Name="Draw_visible_enemies" Class="_comment" pos="2916,-36,0"/>
<Node Id="415" Class="Math:SetNumber" pos="-1278,-540,0">
<Inputs in="0.25"/>
</Node>
<Node Id="416" Name="Refresh_Interval" Class="_comment" pos="-1278,-558,0"/>
<Node Id="417" Name="Settings" Class="_commentbox" pos="-1494,-800.41681,0">
<Inputs TextSize="1" Color="0.89627,0.496933,0.258183" DisplayFilled="1" DisplayBox="1" SortPriority="16"/>
<ResizeBorder X="0" Y="0" Width="540" Height="198"/>
<NodeSize Width="540" Height="345.61725"/>
</Node>
<Node Id="419" Class="Math:BooleanTo" pos="-1530,468,0">
<Inputs />
</Node>
<Node Id="420" Class="Math:SetNumber" pos="-936,414,0">
<Inputs in="200"/>
</Node>
<Node Id="421" Class="Logic:Any" pos="-1080,414,0">
<Inputs />
</Node>
<Node Id="422" Class="Math:SetNumber" pos="-1080,306,0">
<Inputs in="0"/>
</Node>
<Node Id="423" Name="Start_at_number_(for_i_=_x;)" Class="_comment" pos="-1080,288,0"/>
<Node Id="424" Class="Math:Calculate" pos="-468,396,0">
<Inputs Op="0" A="0" B="1"/>
</Node>
<Node Id="425" Class="Logic:Any" pos="-468,576,0" InHideMask="1023" OutHideMask="1">
<Inputs />
</Node>
<Node Id="426" Class="Math:LessCheck" pos="-162,396,0">
<Inputs A="0" B="0"/>
</Node>
<Node Id="427" Class="Logic:Any" pos="-666,396,0" InHideMask="1021" OutHideMask="1">
<Inputs />
</Node>
<Node Id="428" Class="Logic:Any" pos="72,486,0">
<Inputs />
</Node>
<Node Id="429" Class="Logic:Any" pos="-468,504,0" InHideMask="1021" OutHideMask="1">
<Inputs />
</Node>
<Node Id="430" Class="Time:Timer" pos="-1278,414,0">
<Inputs period="1" min="0" max="0" paused="1"/>
</Node>
<Node Id="431" Class="Debug:Log" pos="-216,594,0">
<Inputs message=""/>
</Node>
<Node Id="432" Class="Math:Sub" pos="-936,522,0">
<Inputs A="0" B="1"/>
</Node>
<Node Id="433" Name="For_loop" Class="_commentbox" pos="-1296,142.62161,0">
<Inputs TextSize="1" Color="1,1,1" DisplayFilled="1" DisplayBox="1" SortPriority="16"/>
<ResizeBorder X="0" Y="0" Width="1566" Height="450"/>
<NodeSize Width="1566" Height="597.61719"/>
</Node>
<Node Id="434" Name="repeat_every_period_seconds" Class="_comment" pos="-1278,396,0"/>
<Node Id="435" Name="i_<_in" Class="_comment" pos="-936,396,0"/>
<Node Id="436" Name="i++;" Class="_comment" pos="-468,378,0"/>
<Node Id="437" Name="Log_numbers" Class="_comment" pos="-216,576,0"/>
<Node Id="438" Name="output" Class="_comment" pos="72,468,0"/>
<Node Id="443" Class="Game:Start" pos="-1746,468,0">
<Inputs InGame="1" InEditor="1"/>
</Node>
<Node Id="444" Class="Logic:Any" pos="2718,-666,0" InHideMask="1023" OutHideMask="1">
<Inputs />
</Node>
<Node Id="445" Class="Logic:Any" pos="2718,-612,0" InHideMask="1023" OutHideMask="1">
<Inputs />
</Node>
<Node Id="457" Class="Debug:Log" pos="3024,252,0">
<Inputs message=""/>
</Node>
<Node Id="459" Class="String:Concat" pos="2772,252,0">
<Inputs String1="Tagging enemy: " String2=""/>
</Node>
</Nodes>
<Edges>
<Edge nodeIn="380" nodeOut="376" portIn="B" portOut="EntityId" enabled="1"/>
<Edge nodeIn="383" nodeOut="376" portIn="in1" portOut="EntityId" enabled="1"/>
<Edge nodeIn="376" nodeOut="379" portIn="Name" portOut="Out" enabled="1"/>
<Edge nodeIn="376" nodeOut="379" portIn="Set" portOut="Out" enabled="1"/>
<Edge nodeIn="381" nodeOut="380" portIn="Close" portOut="false" enabled="1"/>
<Edge nodeIn="381" nodeOut="380" portIn="Open" portOut="true" enabled="1"/>
<Edge nodeIn="382" nodeOut="381" portIn="in1" portOut="Out" enabled="1"/>
<Edge nodeIn="384" nodeOut="381" portIn="Draw" portOut="Out" enabled="0"/>
<Edge nodeIn="384" nodeOut="381" portIn="entityId" portOut="Out" enabled="0"/>
<Edge nodeIn="386" nodeOut="381" portIn="Get" portOut="Out" enabled="1"/>
<Edge nodeIn="386" nodeOut="381" portIn="entityId" portOut="Out" enabled="1"/>
<Edge nodeIn="392" nodeOut="381" portIn="Get" portOut="Out" enabled="1"/>
<Edge nodeIn="400" nodeOut="382" portIn="in1" portOut="out" enabled="1"/>
<Edge nodeIn="381" nodeOut="383" portIn="In" portOut="out" enabled="1"/>
<Edge nodeIn="388" nodeOut="385" portIn="B" portOut="entity" enabled="1"/>
<Edge nodeIn="388" nodeOut="385" portIn="Check" portOut="entity" enabled="1"/>
<Edge nodeIn="394" nodeOut="386" portIn="B" portOut="Pos" enabled="1"/>
<Edge nodeIn="410" nodeOut="386" portIn="A" portOut="Pos" enabled="1"/>
<Edge nodeIn="410" nodeOut="386" portIn="DoCalc" portOut="Pos" enabled="1"/>
<Edge nodeIn="388" nodeOut="387" portIn="A" portOut="entityId" enabled="1"/>
<Edge nodeIn="397" nodeOut="388" portIn="Draw" portOut="true" enabled="0"/>
<Edge nodeIn="413" nodeOut="388" portIn="Draw" portOut="true" enabled="1"/>
<Edge nodeIn="387" nodeOut="389" portIn="update" portOut="output" enabled="1"/>
<Edge nodeIn="385" nodeOut="390" portIn="entityId" portOut="out" enabled="1"/>
<Edge nodeIn="391" nodeOut="390" portIn="in1" portOut="out" enabled="1"/>
<Edge nodeIn="396" nodeOut="391" portIn="in1" portOut="out" enabled="1"/>
<Edge nodeIn="394" nodeOut="392" portIn="A" portOut="Pos" enabled="1"/>
<Edge nodeIn="392" nodeOut="393" portIn="entityId" portOut="entityId" enabled="1"/>
<Edge nodeIn="395" nodeOut="394" portIn="vector" portOut="out" enabled="1"/>
<Edge nodeIn="385" nodeOut="395" portIn="direction" portOut="out" enabled="1"/>
<Edge nodeIn="385" nodeOut="395" portIn="go" portOut="out" enabled="1"/>
<Edge nodeIn="399" nodeOut="395" portIn="Dir" portOut="out" enabled="1"/>
<Edge nodeIn="397" nodeOut="396" portIn="entityId" portOut="out" enabled="0"/>
<Edge nodeIn="413" nodeOut="396" portIn="entityId" portOut="out" enabled="1"/>
<Edge nodeIn="459" nodeOut="396" portIn="Set" portOut="out" enabled="1"/>
<Edge nodeIn="459" nodeOut="396" portIn="String2" portOut="out" enabled="1"/>
<Edge nodeIn="390" nodeOut="400" portIn="in1" portOut="out" enabled="1"/>
<Edge nodeIn="399" nodeOut="401" portIn="Draw" portOut="out" enabled="0"/>
<Edge nodeIn="399" nodeOut="401" portIn="Pos1" portOut="out" enabled="0"/>
<Edge nodeIn="385" nodeOut="408" portIn="position" portOut="Out" enabled="1"/>
<Edge nodeIn="410" nodeOut="408" portIn="B" portOut="Out" enabled="1"/>
<Edge nodeIn="408" nodeOut="409" portIn="Set" portOut="output" enabled="1"/>
<Edge nodeIn="415" nodeOut="409" portIn="set" portOut="output" enabled="1"/>
<Edge nodeIn="401" nodeOut="410" portIn="in1" portOut="out" enabled="1"/>
<Edge nodeIn="419" nodeOut="415" portIn="false" portOut="out" enabled="1"/>
<Edge nodeIn="430" nodeOut="415" portIn="period" portOut="out" enabled="1"/>
<Edge nodeIn="444" nodeOut="415" portIn="in1" portOut="out" enabled="1"/>
<Edge nodeIn="445" nodeOut="415" portIn="in1" portOut="out" enabled="1"/>
<Edge nodeIn="430" nodeOut="419" portIn="paused" portOut="out" enabled="1"/>
<Edge nodeIn="425" nodeOut="420" portIn="in1" portOut="out" enabled="1"/>
<Edge nodeIn="427" nodeOut="420" portIn="in1" portOut="out" enabled="1"/>
<Edge nodeIn="420" nodeOut="421" portIn="set" portOut="out" enabled="1"/>
<Edge nodeIn="432" nodeOut="422" portIn="A" portOut="out" enabled="1"/>
<Edge nodeIn="426" nodeOut="424" portIn="A" portOut="out" enabled="1"/>
<Edge nodeIn="426" nodeOut="424" portIn="Check" portOut="out" enabled="1"/>
<Edge nodeIn="428" nodeOut="424" portIn="in1" portOut="out" enabled="1"/>
<Edge nodeIn="429" nodeOut="424" portIn="in1" portOut="out" enabled="1"/>
<Edge nodeIn="431" nodeOut="424" portIn="input" portOut="out" enabled="0"/>
<Edge nodeIn="431" nodeOut="424" portIn="message" portOut="out" enabled="0"/>
<Edge nodeIn="426" nodeOut="425" portIn="B" portOut="out" enabled="1"/>
<Edge nodeIn="427" nodeOut="426" portIn="in2" portOut="true" enabled="1"/>
<Edge nodeIn="424" nodeOut="427" portIn="DoCalc" portOut="out" enabled="1"/>
<Edge nodeIn="379" nodeOut="428" portIn="Set" portOut="out" enabled="1"/>
<Edge nodeIn="379" nodeOut="428" portIn="String2" portOut="out" enabled="1"/>
<Edge nodeIn="424" nodeOut="429" portIn="A" portOut="out" enabled="1"/>
<Edge nodeIn="421" nodeOut="430" portIn="in1" portOut="out" enabled="1"/>
<Edge nodeIn="422" nodeOut="430" portIn="set" portOut="out" enabled="1"/>
<Edge nodeIn="429" nodeOut="432" portIn="in2" portOut="out" enabled="1"/>
<Edge nodeIn="419" nodeOut="443" portIn="true" portOut="output" enabled="1"/>
<Edge nodeIn="413" nodeOut="444" portIn="Time" portOut="out" enabled="1"/>
<Edge nodeIn="397" nodeOut="445" portIn="Time" portOut="out" enabled="1"/>
<Edge nodeIn="457" nodeOut="459" portIn="input" portOut="Out" enabled="1"/>
<Edge nodeIn="457" nodeOut="459" portIn="message" portOut="Out" enabled="1"/>
</Edges>
</Graph>
Option 2. Check all enemies, 1 frame at a time. (less resource usage during a single frame)
Flowgraph:
CTRL+C CTRL+V directly into your Flowgraph.
Code: Select all
<Graph Description="" Group="EnemyTagging">
<Nodes>
<Node Id="65" Class="Entity:FindEntityByName" pos="-360,-1854,0">
<Inputs Name=""/>
</Node>
<Node Id="69" Class="Math:Counter" pos="-810,-1818,0">
<Inputs max="0"/>
</Node>
<Node Id="71" Class="Time:Timer" pos="-990,-1818,0">
<Inputs period="0" min="0" max="0" paused="1"/>
</Node>
<Node Id="73" Class="String:Concat" pos="-630,-1854,0">
<Inputs String1="Human-" String2=""/>
</Node>
<Node Id="79" Class="Math:Less" pos="-108,-1800,0">
<Inputs A="0" B="0"/>
</Node>
<Node Id="81" Class="Logic:Gate" pos="72,-1854,0">
<Inputs Closed="0"/>
</Node>
<Node Id="83" Class="Logic:Any" pos="468,-1494,0">
<Inputs />
</Node>
<Node Id="84" Class="Logic:Any" pos="-108,-1854,0" InHideMask="1023">
<Inputs />
</Node>
<Node Id="87" Class="Debug:Draw:EntityTag" pos="468,-2034,0">
<Inputs entityId="0" Message="Enemy" FontSize="1.5" Color="1,1,1" Time="10"/>
</Node>
<Node Id="107" Class="Physics:RayCast" pos="2052,-1782,0">
<Inputs entityId="0" direction="0,1,0" maxLength="1000" position="0,0,1.3" transformDir="0" ObjTypes="287" IgnoredEntity="0"/>
</Node>
<Node Id="111" Class="Entity:GetPos" pos="468,-1854,0">
<Inputs entityId="0" CoordSys="1"/>
</Node>
<Node Id="119" Class="Actor:LocalPlayer" pos="2538,-1674,0">
<Inputs />
</Node>
<Node Id="123" Class="Math:EqualCheck" pos="2538,-1638,0">
<Inputs A="0" B="0"/>
</Node>
<Node Id="125" Class="Game:Start" pos="2538,-1728,0">
<Inputs InGame="1" InEditor="1"/>
</Node>
<Node Id="129" Class="Logic:Any" pos="1566,-1494,0">
<Inputs />
</Node>
<Node Id="133" Class="Logic:Any" pos="2052,-1494,0">
<Inputs />
</Node>
<Node Id="139" Class="Entity:GetPos" pos="468,-1656,0">
<Inputs entityId="0" CoordSys="1"/>
</Node>
<Node Id="141" Class="Actor:LocalPlayer" pos="468,-1692,0">
<Inputs />
</Node>
<Node Id="145" Class="Vec3:SubVec3" pos="1170,-1746,0">
<Inputs A="0,0,0" B="0,0,0"/>
</Node>
<Node Id="149" Class="Vec3:NormalizeVec3" pos="1566,-1746,0">
<Inputs vector="0,0,0"/>
</Node>
<Node Id="154" Class="Logic:Any" pos="2538,-1494,0">
<Inputs />
</Node>
<Node Id="156" Class="Debug:Draw:EntityTag" pos="2916,-1782,0">
<Inputs entityId="0" Message="Enemy" FontSize="1.5" Color="1,1,1" Time="0.5"/>
</Node>
<Node Id="158" Class="Math:BooleanTo" pos="-1206,-1764,0">
<Inputs />
</Node>
<Node Id="165" Class="Debug:Draw:Line" pos="2052,-1962,0">
<Inputs Pos1="0,0,0" Pos2="0,0,0" Dir="0,0,0" Length="100" Color="0,0,0" Time="0"/>
</Node>
<Node Id="170" Class="Logic:Any" pos="1170,-1494,0">
<Inputs />
</Node>
<Node Id="173" Class="Logic:Any" pos="1566,-1836,0" InHideMask="1023" OutHideMask="1">
<Inputs />
</Node>
<Node Id="174" Name="Draw_enemies_through_walls" Class="_comment" pos="468,-2052,0"/>
<Node Id="175" Name="Draw_visible_enemies" Class="_comment" pos="2916,-1800,0"/>
<Node Id="177" Class="Time:Timer" pos="-1566,-1584,0">
<Inputs period="0.25" min="0" max="0" paused="1"/>
</Node>
<Node Id="183" Class="Logic:Sequentializer" pos="-1386,-1764,0" InHideMask="63" OutHideMask="1023">
<Inputs Closed="0" Reverse="0"/>
</Node>
<Node Id="239" Name="Z_offset_(1.3_=_Torso_to_Torso_Ray_Cast)" Class="_comment" pos="-1278,-2214,0"/>
<Node Id="240" Name="draw_ray_cast_line" Class="_comment" pos="2052,-1980,0"/>
<Node Id="244" Class="Vec3:SetVec3" pos="-1278,-2196,0">
<Inputs In="0,0,1.3"/>
</Node>
<Node Id="246" Class="Game:Start" pos="-1476,-2196,0">
<Inputs InGame="1" InEditor="1"/>
</Node>
<Node Id="248" Class="Vec3:Calculate" pos="1170,-1836,0">
<Inputs Op="0" A="0,0,0" B="0,0,0"/>
</Node>
<Node Id="249" Name="Display_Visible_Enemies_With_Tags_(every_frame_process_1_enemy)" Class="_commentbox" pos="-2016,-2538.8413,0">
<Inputs TextSize="1" Color="1,1,1" DisplayFilled="1" DisplayBox="1" SortPriority="16"/>
<ResizeBorder X="0" Y="0" Width="5328" Height="1116"/>
<NodeSize Width="5328" Height="1291.1074"/>
</Node>
<Node Id="250" Class="Logic:Any" pos="-990,-1584,0" InHideMask="1022" OutHideMask="1">
<Inputs />
</Node>
<Node Id="252" Class="Debug:Draw:EntityTagAdvanced" pos="2916,-1584,0">
<Inputs entityId="0" Message="Enemy" FadeTime="0" FontSize="1.5" ViewDistance="1000" StaticID="1" ColumnNum="1" Color="1,1,1" Time="0.5"/>
</Node>
<Node Id="253" Name="Draw_visible_enemies" Class="_comment" pos="2916,-1602,0"/>
<Node Id="255" Class="Math:SetNumber" pos="-1278,-2106,0">
<Inputs in="0.5"/>
</Node>
<Node Id="257" Name="Refresh_Interval" Class="_comment" pos="-1278,-2124,0"/>
<Node Id="258" Name="Settings" Class="_commentbox" pos="-1494,-2403.1733,0">
<Inputs TextSize="1" Color="0.89627,0.496933,0.258183" DisplayFilled="1" DisplayBox="1" SortPriority="16"/>
<ResizeBorder X="0" Y="0" Width="540" Height="198"/>
<NodeSize Width="540" Height="373.10748"/>
</Node>
<Node Id="260" Class="Math:Div" pos="-1710,-1782,0">
<Inputs A="0" B="2"/>
</Node>
<Node Id="262" Class="Math:BooleanTo" pos="-1782,-1530,0">
<Inputs />
</Node>
<Node Id="441" Class="Game:Start" pos="-1998,-1530,0">
<Inputs InGame="1" InEditor="1"/>
</Node>
</Nodes>
<Edges>
<Edge nodeIn="79" nodeOut="65" portIn="B" portOut="EntityId" enabled="1"/>
<Edge nodeIn="84" nodeOut="65" portIn="in1" portOut="EntityId" enabled="1"/>
<Edge nodeIn="73" nodeOut="69" portIn="Set" portOut="count" enabled="1"/>
<Edge nodeIn="73" nodeOut="69" portIn="String2" portOut="count" enabled="1"/>
<Edge nodeIn="69" nodeOut="71" portIn="in" portOut="out" enabled="1"/>
<Edge nodeIn="65" nodeOut="73" portIn="Name" portOut="Out" enabled="1"/>
<Edge nodeIn="65" nodeOut="73" portIn="Set" portOut="Out" enabled="1"/>
<Edge nodeIn="81" nodeOut="79" portIn="Close" portOut="false" enabled="1"/>
<Edge nodeIn="81" nodeOut="79" portIn="Open" portOut="true" enabled="1"/>
<Edge nodeIn="83" nodeOut="81" portIn="in1" portOut="Out" enabled="1"/>
<Edge nodeIn="87" nodeOut="81" portIn="Draw" portOut="Out" enabled="0"/>
<Edge nodeIn="87" nodeOut="81" portIn="entityId" portOut="Out" enabled="0"/>
<Edge nodeIn="111" nodeOut="81" portIn="Get" portOut="Out" enabled="1"/>
<Edge nodeIn="111" nodeOut="81" portIn="entityId" portOut="Out" enabled="1"/>
<Edge nodeIn="139" nodeOut="81" portIn="Get" portOut="Out" enabled="1"/>
<Edge nodeIn="170" nodeOut="83" portIn="in1" portOut="out" enabled="1"/>
<Edge nodeIn="81" nodeOut="84" portIn="In" portOut="out" enabled="1"/>
<Edge nodeIn="123" nodeOut="107" portIn="B" portOut="entity" enabled="1"/>
<Edge nodeIn="123" nodeOut="107" portIn="Check" portOut="entity" enabled="1"/>
<Edge nodeIn="145" nodeOut="111" portIn="B" portOut="Pos" enabled="1"/>
<Edge nodeIn="248" nodeOut="111" portIn="A" portOut="Pos" enabled="1"/>
<Edge nodeIn="248" nodeOut="111" portIn="DoCalc" portOut="Pos" enabled="1"/>
<Edge nodeIn="123" nodeOut="119" portIn="A" portOut="entityId" enabled="1"/>
<Edge nodeIn="156" nodeOut="123" portIn="Draw" portOut="true" enabled="0"/>
<Edge nodeIn="252" nodeOut="123" portIn="Draw" portOut="true" enabled="1"/>
<Edge nodeIn="119" nodeOut="125" portIn="update" portOut="output" enabled="1"/>
<Edge nodeIn="107" nodeOut="129" portIn="entityId" portOut="out" enabled="1"/>
<Edge nodeIn="133" nodeOut="129" portIn="in1" portOut="out" enabled="1"/>
<Edge nodeIn="154" nodeOut="133" portIn="in1" portOut="out" enabled="1"/>
<Edge nodeIn="145" nodeOut="139" portIn="A" portOut="Pos" enabled="1"/>
<Edge nodeIn="139" nodeOut="141" portIn="entityId" portOut="entityId" enabled="1"/>
<Edge nodeIn="149" nodeOut="145" portIn="vector" portOut="out" enabled="1"/>
<Edge nodeIn="107" nodeOut="149" portIn="direction" portOut="out" enabled="1"/>
<Edge nodeIn="107" nodeOut="149" portIn="go" portOut="out" enabled="1"/>
<Edge nodeIn="165" nodeOut="149" portIn="Dir" portOut="out" enabled="1"/>
<Edge nodeIn="156" nodeOut="154" portIn="entityId" portOut="out" enabled="0"/>
<Edge nodeIn="252" nodeOut="154" portIn="entityId" portOut="out" enabled="1"/>
<Edge nodeIn="71" nodeOut="158" portIn="paused" portOut="out" enabled="1"/>
<Edge nodeIn="129" nodeOut="170" portIn="in1" portOut="out" enabled="1"/>
<Edge nodeIn="165" nodeOut="173" portIn="Draw" portOut="out" enabled="0"/>
<Edge nodeIn="165" nodeOut="173" portIn="Pos1" portOut="out" enabled="0"/>
<Edge nodeIn="183" nodeOut="177" portIn="In" portOut="out" enabled="1"/>
<Edge nodeIn="250" nodeOut="177" portIn="in1" portOut="out" enabled="1"/>
<Edge nodeIn="158" nodeOut="183" portIn="true" portOut="Out1" enabled="1"/>
<Edge nodeIn="158" nodeOut="183" portIn="false" portOut="Out2" enabled="1"/>
<Edge nodeIn="107" nodeOut="244" portIn="position" portOut="Out" enabled="1"/>
<Edge nodeIn="248" nodeOut="244" portIn="B" portOut="Out" enabled="1"/>
<Edge nodeIn="244" nodeOut="246" portIn="Set" portOut="output" enabled="1"/>
<Edge nodeIn="255" nodeOut="246" portIn="set" portOut="output" enabled="1"/>
<Edge nodeIn="173" nodeOut="248" portIn="in1" portOut="out" enabled="1"/>
<Edge nodeIn="69" nodeOut="250" portIn="reset" portOut="out" enabled="1"/>
<Edge nodeIn="156" nodeOut="255" portIn="Time" portOut="out" enabled="1"/>
<Edge nodeIn="252" nodeOut="255" portIn="Time" portOut="out" enabled="1"/>
<Edge nodeIn="260" nodeOut="255" portIn="A" portOut="out" enabled="1"/>
<Edge nodeIn="177" nodeOut="260" portIn="period" portOut="out" enabled="1"/>
<Edge nodeIn="262" nodeOut="260" portIn="false" portOut="out" enabled="1"/>
<Edge nodeIn="177" nodeOut="262" portIn="paused" portOut="out" enabled="1"/>
<Edge nodeIn="262" nodeOut="441" portIn="true" portOut="output" enabled="1"/>
</Edges>
</Graph>
Go with option 1, if the game ever starts to stutter, go with option2
Since there is no flownode that can loop through the existing AI on the map
I did loop through using the names (Entity:FindEntityByName) of the enemies by concatinating human- and counter and checking if output Entity-ID > 0

with some math i then did a raycast from the enemies to Actor:LocalPlayer
if it hits the local player we can display the tag of that enemy. (Unfortunately the tag itself can not be turned of with flowgraph, thats why we have used a Time interval instead.)
It is not ideal but it works.
It would be better to make a flownode to access the List of AI directly and loop through that.
Alternativly you can also attach a flowgraph to each AI and when you use your binoculars trigger a bool Game Token e.g IsUsingBinoculars
which can then give a signal to any flowgraph in the entire level
I hope this helps, enjoy
