Search the Community
Showing results for tags 'trigger owner'.
Found 3 results
-
BUG: Trigger owner for grouped unit in missions outside the editor
domcho posted a topic in ARMA 3 - MISSION EDITING & SCRIPTING
Triggers that have a trigger owner with activation "Whole Group"/"Group Leader"/"Any Group Member" don't work properly outside the editor. Try this: Place a group consisting of 3 or more units. Set the 2nd highest ranking unit to be the player (you'll have to kill the squad leader and take command). Create 3 triggers and set the group leader to be the trigger owner. First trigger: Trigger name: Trig1 Activation: Whole Group, Present On activation: player sideChat "Trig1 - Whole Group"; Second trigger: Trigger name: Trig2 Activation: Group Leader, Present On activation: player sideChat "Trig2 - Group Leader"; Third trigger: Trigger name: Trig3 Activation Any Group Member, Present On Activation: player sideChat "Trig3 - Any Group Member"; Start the mission, kill the group leader, when you take command move into the trigger zones. The triggers will work properly even though the trigger owner is dead. Trigger ownership transferred from dead unit to another squad member properly. Now go back in the editor, export the mission to Singleplayer, open it from there and try the same thing again - the triggers will not fire. Trigger ownership did not transfer at all. You can further test this using the triggerAttachedVehicle command. Give the group leader a variable name. For example "a1". Place 4 triggers. You can make them repeatable if you want. First trigger: Trigger text: trig1 owner Activation: Radio Alpha On activation: hint (str (triggerAttachedVehicle trig1)); Second trigger: Trigger text: trig2 owner Activation: Radio Bravo On activation: hint (str (triggerAttachedVehicle trig2)); Third trigger: Trigger text: trig3 owner Activation: Radio Charlie On activation: hint (str (triggerAttachedVehicle trig3)); Fourth trigger: Trigger text: trig4 owner Activation: Radio Delta On activation: hint (str (triggerAttachedVehicle trig4)); Also create another trigger, name it trig4, set the trigger owner to the group leader and set activation to "Owner Only". When you test this in the editor, only trig4 should show you the name of the unit - a1. The other 3 triggers should display <NULL-object>. Export the mission to Singleplayer (restart ArmA 3 before doing that if the mission is loaded into memory or it will not be overwritten properly, i.e. the .pbo file won't be deleted / overwritten). Now when you (re)start the mission in singleplayer, run the radio triggers - all of them will show a1 as the owner of the triggers. Even if the unit is dead it will still show a1 and the triggers won't work. This is also the case for multiplayer exported missions.- 2 replies
-
- bug
- trigger owner
-
(and 3 more)
Tagged with:
-
Trigger ownership of a group member unit seems to transfer to another group member when the previous owner gets killed. However, that doesn't seem to be the case if the trigger owner doesn't exist, after mission start, in the first place. For example: You have a squad of playable units, squad leader is owner of the trigger. The trigger has activation: whole group and ends the mission. In the multiplayer lobby no player picks the squad leader playable unit and it's AI is disabled -> the unit will not exist, and the trigger will not work. The ownership of the trigger will not be transferred to the next group member, and thus the mission will not end. This is similar to another multiplayer problem where you had to initialize the group variable name inside every playable unit's initialization field (in a group that consists of player/playable units only). Doing it for just one playable group member could leave a window for problems, where again, no player picks that unit and it's AI is disabled, leading to the group variable name not being initialized. Thankfully, in ArmA 3 this could be solved by typing the variable name inside the group entity in the EDEN editor. Non-existing trigger owner could also be problematic in singleplayer if the group member who is trigger owner has probability of presence <100% and/or his condition of presence could return false. You can try it yourself: create a group of 2 units, set the player to be the 2nd unit (i.e. to not be the group leader), set the group leader's probability of presence to 0%, create a trigger, set the owner to be the group leader, activation any group member or whole group, on activation display a hint with hint "Trigger activated". Walk into the trigger area. You can also try it in multiplayer, just make the group leader playable, go into the multiplayer mission lobby, pick the slot for the 2nd unit and disable the group leader's AI so he doesn't spawn. The trigger will not fire. To circumvent this problem, don't give the trigger an owner in such scenarios. Instead give your group a variable name through the group entity and use the trigger's condition field to do checks: Any group member: ({vehicle _x in thisList} count units groupName) > 0 Whole group: ({vehicle _x in thisList} count units groupName) == ({alive _x} count units groupName) Group leader: vehicle (leader groupName) in thisList vehicle _x in thisList count units alive leader If anyone has better suggestions, feel free to post them.
-
- trigger owner
- multiplayer
- (and 3 more)
-
Trigger only fires to Trigger Owner, other options don't work
Grester posted a topic in ARMA 3 - TROUBLESHOOTING
As the title says, if you set a unit as owner of a trigger and set the trigger to fire for example to any group member, it will only fire to the OWNER. Doesn't matter what option you choose (leader, all group members, any group members) it will only fire to the owner. This affects both single player and multiplayer. Although the .SQM appears to be correctly coded, in practice it does not work as intended. I'm trying to make a mission with a trigger that only fires to a single group and it's nearly impossible to make it work. The alternative is using "unit1 in thisList" but even this alternative isn't flawless because if the "unit1" doesn't exist, the function doesn't return either TRUE or FALSE resulting in the condition to be incomplete and not work at all. The workaround I found is using endless IFs (numberOfUnitsInGroup ^2) to check wether or not - first of all - wether or not that unit exists "!isNill "unit1" and if it exists it THEN adds the function of "unit1 in thisList". Because you have to check for every unit and every possible combination of wether or not the pawn was created in the mission, it makes a simple operation of setting trigger owner and setting to any group member, unbelievably complex to solve. Another alternative that I haven't tried is using a switch that perhaps could facilitate the madness of using tree IFs. The only way to make the Trigger Owner method to work correctly ONCE in eden is if you make this method in 2D editor and export to 3D editor. It will work ONCE when you run the mission but once you return back to editor it appears the .SQM is rewritten and stops working. This is an unbelievable bug that did not exist in the old 2D editor and should be fixed with high priority.- 12 replies