becario 1 Posted March 3, 2025 Hi, I am creating a mission and I need some help setting up this trigger. I haven't edited in several years so I am a bit rusty now. So the mission involves arresting several civilians, and the task is completed once all of them are handcuffed (we are using ACE and using the zipties). I tried to create a trigger with condition "Activation: independent", type: "Detected by a civilian", and in the condition text "!this", so it should be triggered when the condition is false, so the activation would in the end be "independent not detected by civilian". But it does not work. I arrest all the civilians and the task is not completed. As per this wiki article: https://community.bistudio.com/wiki/setCaptive the civilians should stop detecting the independents once they are handcuffed, right? or am I missing something here. Share this post Link to post Share on other sites
JCataclisma 82 Posted March 6, 2025 It seems like this approach of yours will not work at all, as a civilian will always be detected as a civilian, regardless they're cuffed, captive or not. That would work if you were trying to arrest some independent characters, because then they would become civilian with "setCaptive true". Those civilians to be arrested, are they randomly placed using a script? Or are they always there from the beginning of the mission, placed in mission editor? If is the latter, you could give them all variable names (which will automatically become global variables) and use a trigger or a script to check whether each one of those variables get in a specific stance or situation due to the use of zipties. 🤔 Share this post Link to post Share on other sites
becario 1 Posted March 6, 2025 So the wiki article is not correct in this case, since setcaptive does not stop civilians from triggering the "detected by" triggers, only the other sides. good to know. They are present from the begining. I had already thought of grouping them, and using a "thislist" line to check when they all are handcuffed, but since my scripting knowledge is really limited and I haven't touched the editor for a loooong time, I wanted a simpler solution. I'll keep investigating. Thanks! Share this post Link to post Share on other sites
JCataclisma 82 Posted March 7, 2025 7 hours ago, becario said: So the wiki article is not correct in this case, since setcaptive does not stop civilians from triggering the "detected by" triggers, only the other sides. good to know. Oh, but the wiki IS correct. I think that it was ME who haven't expressed myself correctly - I was trying to say that, as the civilians were and will always be civilians, whether setCaptive or not, their detection would not make any difference inside a trigger, as they were detected there already. I have never used ACE or any other similar stuff, but I would guess that it adds some new variable to cuffed characters - let's say your civilian subjects start something like: {_x setVariable ["isHandCuffed", false]; } forEach _inThisList; So if ACE change their situation, your trigger would have to search for something like: { private _civPrisoner = _x; if (_civPrisoner getVariable ["isHandCuffed", true]) then { SUCCESS!} } forEach _inThisList; So, if any of the ACE savy guys around here could spark a light, I believe you could add a check for such variable in all units "inThisList", inside an array with all your desired civilians. When true for all of then, your trigger would hit. Share this post Link to post Share on other sites
JCataclisma 82 Posted March 7, 2025 ... Well, providing google AI and ChatGPT, ACE indeed provides a function for that: [_unit] call ace_captives_fnc_isHandcuffed So, here's their suggestion: You can create a script that waits until all specific civilians are cuffed before triggering your condition. Example: // List of civilian variable names private _civs = [civ1, civ2, civ3, civ4]; // Function to check if all are handcuffed waitUntil { sleep 1; // Prevents performance issues ({ [_x] call ace_captives_fnc_isHandcuffed } count _civs) == count _civs }; // Once all are handcuffed, execute your action hint "All civilians have been restrained!"; Or, if you want to use a trigger, set its condition to: ({ [_x] call ace_captives_fnc_isHandcuffed } count [civ1, civ2, civ3, civ4]) == 4 1 Share this post Link to post Share on other sites