I'm just learning myself, but could this help?
If I understand correctly, the problem is that only a few units cut wire and not all of them...
I tried something by placing a long trigger across the path of a group of units running over it and on activation of this trigger I entered
{_x playmove "AinvPknlMstpSlayWrflDnon_medic"} foreach thislist
The problem with this was, that depending on the formation of the group, only a few units entered the trigger's area and they would be the only ones that executed the animation.
The others that entered the area after the trigger was activated, did not execute this command.
Once inside the trigger area it will not deactivate it until all units were out.
This means that the late comers will not animate.
In order for me to get everyone to execute the animation I had to execute the playmove foreach member of the group responsible for activating the trigger and not the list of people in the trigger area.
{{_x playmove "AinvPknlMstpSlayWrflDnon_medic"} foreach units group _x} foreach thislist
This worked, but some were still a distance away.
One could overcome the distance issue if you had a script that got called when trigger activated and passed it the first unit in the trigger area.
///Sample Script///
; - Create a group of soldiers
; - Place an object down and name it Fence in the Editor
; - Set a move waypoint for the group to the object named Fence
; - Create a trigger close enough to detect units in the minumim distance of the "Fence"
; - Trigger's OnActivation: [call {thislist select 0}] exec "CutScript.sqs"
;Set the minimum distance (in meters) from the object/point
;all units in the group have to be
;before animation occurs or event starts
;if I'm not mistaken, one should consider the size and formation of the group
;as each member in the group has to naturally be able to be within this distance.
;Should be 1 second per try
;but I don't know how long it would take per loop before waiting a second
_counterTimesToTry = 10
;The only object I have in my mission is a red cone named Fence
_objectTheFence = Fence
;Set the minimum distance to object/point
_metersMinimumDistToFence = 10
#StartScript
;Are you out of tries?
if (_counterTimesToTry == 0) then {goto "#TriesUp"}
;Get the first unit in trigger area
_unitInArea = _this select 0
;Get the group he belongs to
_groupCloseToArea = group _unitInArea
;Get the array of alive units in this group
_arrayUnits = units _groupCloseToArea
;Check the distance to your fence foreach member in the group
;and count those greater and less than minimum distance
_countUnitsIn = 0
_countUnitsOut = 0
{if(_objectTheFence distance _x > _metersMinimumDistToFence) then {_countUnitsOut = _countUnitsOut + 1} else {_countUnitsIn = _countUnitsIn + 1}} foreach _arrayUnits
;Wait a second
~1
if(_countUnitsOut > 0) then goto "TooFar" else goto "Animate"
#TooFar
;Subtract a try
_counterTimesToTry = _counterTimesToTry - 1
;For frame of reference only:
;Here is a display of how many friendlys are in area and how many out
hint format["\nTotal Units : %3 \n\n====================\n\nIn Area : ......%1\n\nOut of Area : ..%2\n\n", _countUnitsIn, _countUnitsOut, count _arrayUnits]
;Start Again
goto"StartScript"
#Animate
;play your animation
{_x playmove "AinvPknlMstpSlayWrflDnon_medic"} foreach _arrayUnits
#TriesUp
;You have reached your tries...
;whatever you want to do when your tries or time is up,
;do it here!
;I guess if they are still alive now trying to cut the fence
;then they deserve the next group joining them for backup
;you may want to double your distance minimum here
;as the next group's size formation plays a part here.
#Exit
hint "Script Exiting..."
~2
Exit