Balschoiw 0 Posted March 6, 2007 Playing around in the editor I came about the "detected by.." option in the trigger setup. Can anyone explain how it exactly works ? What exactly does it detect ? I know when I shoot someone in the trigger range the trigger fires. But how is this determined ? Is it simply checking alive units in trigger range or are there different aspects, e.g someone must hear (I guess that´s still excluded in Arma) or see you actually. How does it work ? Does anyone have the technical knowledge ? Share this post Link to post Share on other sites
Guest Ti0n3r Posted March 6, 2007 Example; Activated by; USA Detected by; SLA = The trigger will trigger as soon as a SLA unit spots/reports a USA unit inside of the trigger area. Share this post Link to post Share on other sites
raedor 8 Posted March 6, 2007 I don't know exactly how it works, but basically it triggers if side X spotted an object of side Y. I guess it is based on the knowsAbout value... as soon as a unit of side X has a too good knowledge about an object from side Y the trigger fires. Did you see the new trigger types since 1.05? Share this post Link to post Share on other sites
Balschoiw 0 Posted March 6, 2007 Quote[/b] ]Example;Activated by; USA Detected by; SLA = The trigger will trigger as soon as a SLA unit spots/reports a USA unit inside of the trigger area. I alredy knew that, but thx anyway Quote[/b] ] but basically it triggers if side X spotted an object of side Y. I guess it is based on the knowsAbout value... as soon as a unit of side X has a too good knowledge about an object from side Y the trigger fires. That was my assumption aswell, so basically without the headshot "issue" we have right now and it´s side effect of always having to shoot a target twice, the trigger would not fire if the target is taken out with one shot and therefore has no chance of reporting the enemy. Next question aring from your assumption: The knowsabout value is unit-dependant, right ? How is the unit knowsabout value shared with the other units of it´s side ? I seem to remember that the rating in Arma is handled differently than in OFP. Is the rating transferred to enemy AI units ? I seem to remember that Suma said something like that. The rating is almost equivalent to the threat potential the unit in question poses to it´s enemies. When you have 5 guys and one has a higher rating the AI will concentrate on the one with the higher rating first as he is the higher threat to them (in numbers). To get the fusion of rating and knowsabout: Are those 2 taken into account with the "detected by" trigger or is it one followed by another ? Like unit sees you and reports, and then other AI units know your rating automatically ? I´m talking about this as it could pose a real problem for neverending missions on multiplayer servers as people who play constantly but do not get killed over hours because of good medical treatment or because the fulfill a role that is not so exposed, would in the end be the "ultimate" threat to AI and therefore hunted from one end of the island to another. I hope you know what I´m trying to say. I guess to avoid this the rating has to be resetted in regular intervals. Share this post Link to post Share on other sites
Guest Ti0n3r Posted March 6, 2007 I guess i miss understood you, hehe Share this post Link to post Share on other sites
Balschoiw 0 Posted March 6, 2007 Si Hombre ! No hablo espanol. Share this post Link to post Share on other sites
Big Dawg KS 6 Posted March 6, 2007 Quote[/b] ]Example;Activated by; USA Detected by; SLA = The trigger will trigger as soon as a SLA unit spots/reports a USA unit inside of the trigger area. I alredy knew that, but thx anyway  Quote[/b] ] but basically it triggers if side X spotted an object of side Y. I guess it is based on the knowsAbout value... as soon as a unit of side X has a too good knowledge about an object from side Y the trigger fires. That was my assumption aswell, so basically without the headshot "issue"   we have right now and it´s side effect of always having to shoot a target twice, the trigger would not fire if the target is taken out with one shot and therefore has no chance of reporting the enemy. Next question aring from your assumption: The knowsabout value is unit-dependant, right ? How is the unit knowsabout value shared with the other units of it´s side ? I seem to remember that the rating in Arma is handled differently than in OFP. Is the rating transferred to enemy AI units ? I seem to remember that Suma said something like that. The rating is almost equivalent to the threat potential the unit in question poses to it´s enemies. When you have 5 guys and one has a higher rating the AI will concentrate on the one with the higher rating first as he is the higher threat to them (in numbers). To get the fusion of rating and knowsabout: Are those 2 taken into account with the "detected by" trigger or is it one followed by another ? Like unit sees you and reports, and then other AI units know your rating automatically ? I´m talking about this as it could pose a real problem for neverending missions on multiplayer servers as people who play constantly but do not get killed over hours because of good medical treatment or because the fulfill a role that is not so exposed, would in the end be the "ultimate" threat to AI and therefore hunted from one end of the island to another. I hope you know what I´m trying to say. I guess to avoid this the rating has to be resetted in regular intervals. I doubt it's that complicated. Knowsabout is on a group level, so if one group member knows about an enemy then so do the rest (as the information is shared to all group members). Knowsabout is actually a numeric value that represents how much a unit (or ultimately the unit's group) knows about a certain object. I think the trigger activates when (using raedor's variables) a unit of side X who is inside the trigger area has a specific knowsabout value of any unit of side Y that's in the trigger. Since knowsabout is shared on a group level, killing an enemy that's part of a group (without killing the rest of the group) would means there's more of a chance you'll activate the trigger. The biki says that when a unit takes a hit they're knowsabout value of the shooter automatically increases to a certain value (apparently unless they're killed I would assume). Other things also determine the knowsabout value, such as the target's distance from each member of the group and wether it's greater than or less than the view distance. I would imagine firing would reveal units to the enemy as well, and simply being spotted visually. Look at the notes on the knowsabout command on the biki, it explains it better. Guarding (when the AI moves to the position where an enemy was reported) isn't a function of the detected by triggers unless you set it up that way (you'd need to give enemies a guard waypoint, only then will they hunt for you), but in OFP guard waypoints functioned on their own without the need for such triggers anyway. Basically simply giving a group a guard waypoint will make them hunt any enemies that are detected by any units that are friendly to the guarding units no matter where they are on the island. Share this post Link to post Share on other sites
fasad 1 Posted March 7, 2007 The old ofpec comref, and now in the wiki state (although i don't agree with it) : Quote[/b] ]With Resistance (1.91): No matter what class of unit the target is and no matter what the skill/class of the enemy AI, the magic 'knowsAbout' number is 0.105. ... Triggers and knowsabout level: "Detected by xxx" triggers also follow the above rules. For a detected trigger to be set off, the knowsAbout level must reach the magic number. In my experience, knowsAbout values are calculated using spotter skill, visibility conditions, enemy camouflage's levels, movement modes, distance, speeds etc. In my OFP based testing, the detected by XXX trigger will activate when any group leader on the detecting side becomes aware of the side of any unit on the detected side within the trigger area, which does not always happen at a single knowsAbout level. It is possible for the detected unit to be knownAbout > 1 for quite some time before the trigger will activate. For example, shooting an isolated enemy unit (~1000m from the rest of his group, viewdistance = 1500) in the head with a silenced gun will still give all units in that enemy's group a knowledge of 1.5 about you, which is a bit of a weakness in the 1 group = 1 knowledge base system. The shot unit can also manage to broadcast "under fire" even when killed by a single shot to the head, although to an AI leader this is redundant. If the killed unit was the leader, it will normally take ~20 seconds for a new leader to take command and issue the engage order (which activates the trigger). If only the leading unit remains in the group after the killing, he takes about the same amount of time to decide to engage himself as he would delegating the task. If the killed unit was the only unit in the group, the detected by trigger will not activate (assuming he is killed in less than the time it takes him to decide to engage (~1 second). The detected unit must be within the trigger area, but the detector(s) can be anywhere. If the detecting group is detecting a helicopter unit of the detected enemy side, they detectors will identify the side and the trigger will activate shortly after the detecting groups knowledge of the detected vehicle > 0.25. If the detecting group is detecting a ground vehicle of the detected enemy's side, they will identify it's side and activate the trigger shortly after the detecting group's knowledge of the detected vehicle > 0.02?. If the detecting group is lead by a player, the trigger can be activate without the player (not his unit) ever being aware of the detected unit. The game seems to treat the players character exactly the same as an AI character. If the detecting group is detecting a vehicle unit that is not of the expected enemy's side, eg a west soldier detects a east unit driving a motorcycle or uh60, the trigger is activated when the detector knowsAbout detected >= 1.5, which is also the first point the the unit will recognise the exact side of the vehicle. Note an east unit driving a resistance vehicle (when res hostile to all) will be recognised as enemy and provoke evasive/engage behaviour in a detecting west group while knowsAbout < 1.5, but will not activate the east detected by west trigger until 1.5 is reached (generally quite quickly if the have appropriate weapons). The other thing in the wiki that I can't confirm is the shooter instantly knowing 1.5 about the target. It does not seem to be that simple especially at long range. I get ArmA tomorrow, shall be doing some testing into this. I plan on creating a new wiki page covering AI behaviour. Share this post Link to post Share on other sites
Balschoiw 0 Posted March 7, 2007 Thx for the comprehensive and indepth input. I had suspicions that those transmissions to other group members are done almost instantly, no matter if you instantly kill the guy in question or not. There should at least be a delay in passing over the knowsabout value to the other units and in case the transmitting unit dies during that time of the delay there should be no value change for the rest of the team, unless they have direct visual contact on the body or the shooter. It would also be nice if something like GroupLinks audible ranges of weapons would be introduced to that kind of trigger. It would make it more real and efficient. Right now the trigger is in the end working pretty basic. Maybe some tuning and extending could make it a real killer. Let´s collect thoughts on how to make it better and then post it in the wishlist. My suggestions: - knowsabout values are handed to the team with a time-delay - A unit that gets killed instantly should not be able to pass over knowsabout value to rest of the team - Implementation of audible ranges of weapons - Detection of dead bodies (in a certain range) to fire the trigger (this should not give away the player Pos, but make the AI for example change their stance, change their combat mode or make them conduct searches around the place where the dead body is spotted. Your input ? Share this post Link to post Share on other sites
whisper 0 Posted March 7, 2007 If you kill the guy before his own knowsAbout for you reach the magic limit, then he'll be dead unnoticed as long as his leader doesn't issue a "X, report status" order. I've seen AI squad leader totally oblivious to the loss of 1 of their squad member for minutes. I still don't know what exactly triggers the squad leader enquiry about his soldiers status, though. So, for sneaky purpose, what you need to do is having your target killed before he spots you (like, from behind in a bush with SD weapon ), no matter how many shots it takes. Also, ofc, taking in consideration that nearby ennemy soldier can see or hear the shots and spot you himself, instead of your target. So, in essence, there IS a delay : the delay needed for your target to spot you (knowsAbout going from 0 to magic number). If you plan your attack well, it should give you enough time. Well, in OFP, it's what I saw. In ArmA, maybe it's handled differently Share this post Link to post Share on other sites
fasad 1 Posted March 7, 2007 Everything I've seen in OFP leads me to believe that a group uses a single knowsAbout database, rather than each unit having it's own and transferring knowledge. This would save a huge number of AI calculations per cycle, with only a minor gameplay sacrifice. I think it is something we just have to deal with (unless some major changes have happened in ArmA). Getting back to the detected by trigger, you could use this to set a secondary script running, which waits until some higher criteria of awareness is met, eg (knowsAbout > 2, or any shots fired). Or just use a completely scripted solution instead of a trigger. whisper, the entire group instantly knowsAbout you if you hit member of that group. The detected by trigger is activated when the leader acknowledges this fact, which can take between 0.5 and 5 seconds. The only way kill a unit and prevent the activation of a detected by trigger is to kill the leader first, then kill the rest before a new leader is nominated. Share this post Link to post Share on other sites
Wolfrug 0 Posted March 7, 2007 @Balschwoi Add to that wishlist: - some way to select the SPOTTER unit as well, not just the spotted (thisList or list triggerName returns the spotted units, from the first spotted to the last). If we could somehow find out who spotted who, a lot of the problems could be solved (i.e., the trigger only activates if the spotter is still alive 5 seconds after having spotted his first enemy). Don't know how that could be achieved, maybe simply by putting all the spotted into an array _this select 0 and all the spotters into a second array _this select 1. Or somesuch ^^ Share this post Link to post Share on other sites