Freaky trigger problem

ultimate11

Active Member
Reaction score
25
Trigger:
  • Move1
    • Events
      • Unit - A unit enters PP1a <gen>
      • Unit - A unit enters PP1b <gen>
      • Unit - A unit enters PP1c <gen>
      • Unit - A unit enters PP1d <gen>
    • Conditions
    • Actions
      • For each (Integer A) from 0 to 3, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (RegionA[(Integer A)] contains (Triggering unit)) Equal to True
              • (Custom value of (Triggering unit)) Equal to (Integer A)
            • Then - Actions
              • Unit - Set the custom value of (Triggering unit) to ((Integer A) + 1)
              • Unit - Order (Triggering unit) to Move To Move_pointA[((Integer A) + 1)]
            • Else - Actions

Trigger work fine for the first 3 events.The 4th event dont work at all.
the spawm trigger create everry second a unit in regionA[0] setting the custom value of created unit to 0.All point are well setted as you can see
Trigger:
  • Actions
    • Set RegionA[0] = PP1a <gen>
    • Set RegionA[1] = PP1b <gen>
    • Set RegionA[2] = PP1c <gen>
    • Set RegionA[3] = PP1d <gen>
    • Set RegionA[4] = PP1e <gen>
    • For each (Integer A) from 1 to 5, do (Actions)
      • Loop - Actions
        • Set Move_pointA[((Integer A) - 1)] = (Center of RegionA[((Integer A) - 1)])

So why dont work the 4th event?
 

vypur85

Hibernate
Reaction score
803
Sometimes this tends to happen. It depends on where you enter the region from. Also, it depends on the unit. I would suggest using separate trigger for separate region.

The condition you used, '(RegionA[(Integer A)] contains (Triggering unit)) Equal to True' might not always turn out to be true. Try removing it and see if it works. If it does, then the problem lies in this condition.
 

huanAk

New Member
Reaction score
4
It may cause by :
- You remove leak somewhere and accident remove "Move_pointA[4]"
- something wrong with your region 4
- some other trigger happen when unit enter region 4 (eg, duplicate trigger)

also you can try change your first trigger to


Trigger:
  • Move1
    • Events
      • Unit - A unit enters PP1a <gen>
      • Unit - A unit enters PP1b <gen>
      • Unit - A unit enters PP1c <gen>
      • Unit - A unit enters PP1d <gen>
    • Conditions
    • Actions
      • Unit - Set the custom value of (Triggering unit) to ((custom value of (Triggering unit)) + 1)
      • Unit - Order (Triggering unit) to Move To Move_pointA[((custom value of (Triggering unit)) + 1)]
 

ultimate11

Active Member
Reaction score
25
i cant do this huanak becouse is a maze TD and i must to prevent some stuff.For exemple is a unit enter in region PP1d and custom value in not 3 then nothing hapens.This is why I use conditions.
I tryied with separate triggers and it`s work.But still i cant explain why wont work togeder.
Trigger:
  • Untitled Trigger 001
    • Events
      • Unit - A unit enters PP1d <gen>
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Custom value of (Triggering unit)) Equal to 3
        • Then - Actions
          • Unit - Order (Triggering unit) to Move To Move_pointA[4]
          • Unit - Set the custom value of (Triggering unit) to 4
        • Else - Actions
 

vypur85

Hibernate
Reaction score
803
> why wont work togeder

Can't really remember the reason but here it goes (AceHart once explained before, or was it Darthfett?). The condition you used actually returns true when the unit point enters the region (meaning the middle point of the unit). However, the event fires whenever the unit's perimeter touches the region. So both the event and the condition do not coincide. However, this also depends on the angle of entrance. At certain angle, the point of entry and middle point of the unit can coincide, which explains why some of the region works.

If I'm not mistaken, entering from top of the region usually is the one causing the problem. Don't think there is a perfect workaround for this. You can use estimation by picking units around the vicinity of point of entry and check for the certain unit. Otherwise, use separate trigger for different event. That is the most accurate way you can get it to work.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top