An artist's depiction of an Extended Unit Death
Looks like an infinite loop. You should try storing the triggering unit into a variable if you need to keep tabs on it.
That trigger is wierd.. What your saying is that if a unit leaves a point (with a ofset of.. who cares) you do a action forever. Even when the point is reached. Now if u want this just put a wait action after for "0" seconds. Else just move the unit..
None.
I do stuff and thingies... Try widening and reducing the number of small nooks and crannies to correct the problem.
Mistake #1 - Infinite Loop without sleep/waitInfinite loop without sleep/wait = program death...
Your trigger will "theoretically" use the whole CPU to move a point onto a unit over and over again forever (nothing else will run, your computer shall freeze until you turn off the energy).
If you ever HAVE to use that loop, you should use waits to avoid that execution time error. If a trigger hits an inbuilt execution time limit, the trigger will be aborted.
You can even hit that execution limit with loops that will end after a while (I'm experiencing that problem atm). With waits the trigger will be paused for the given time and the execution time will be reset.
The difference to Starcraft 1Starcraft 1's "Preserve Trigger" is not equal to this. Starcraft 1's trigger system is basically a long list of "if ... then ..." that will be checked every 2 seconds. These 2 seconds act like a "wait/sleep".
In Starcraft 2 this aspect of triggering is closer to the real code implementation.
more important Mistake #2 - Design MistakeI'm guessing you want to track the last position of the path of a unit with a point.
What your code does: Create an infinite loop theoretically freezing your system. After the execution time limit was hit, the centering stops and the unit can move again. The event will start the trigger again, if the unit moves far enough away (if starcraft2 doesn't disable your trigger, I'm not sure atm).
The mistake you did is that loop. You won't need a loop, if you want to do what I think you want to do (move point to unit's position whenever it moves far away).
Events will fire whenever that Event is true.
I'm not sure what you intended to do with that trigger. It's part of a system that may can be done better in another way.
Anyway, I hope you understand why the trigger causes an error and why it is bad to (ever) use ininite loops.
... Dude.. Ok first of all never put a unit into the event. What your saying is that a specific unit leaves a location, then u refer the unit as "triggering unit" (not so specified) in actions. I understand your idea beihind it.. But have
Event: If any unit leaves -> the specific point (as u have now)
Condition: Unit type of triggering unit == Critter dog
Actions: Move point to triggering unit
What this will do is every time the dog leaves the point .. with your offset chosen.. it will move the point to the location of the dogs current position and stop the trigger. Now if the dogs do this again, it will repeat itself. What "Repeat actions forever" means is just that. Its not a unlogic action. It repeats if forever and your overloading the trigger. What the error is is probably becouse it tries to move the trigger ALL the time to the "triggering units position" which is WHO after the first move.
So what i wrote works.. gn
None.
I do stuff and thingies... Try widening and reducing the number of small nooks and crannies to correct the problem.
The event reads the position of the point only once and doesn't update the information, if the point was moved.
It could even be the case that the editor just copies the point's coordinates for the event, when you save.
But it works with regions. So use a region instead of the point.
Yes. Starcraft 2 doesn't actually 'update' the location of a point like you would think it does.
I just tested this out:
Unit - Zergling [x,y] Leaves within 10.0 of Point 1
Move Point 1 to (Position of (Zergling [x,y]))
Ping the Minimap at Point 1
It looks like 'Leave within X of Point' creates a Region. So it's a circular region with radius 10.0 centred at Point 1. Whenever my Zergling left this 'circle' the minimap was pinged at the point where the Zergling left the circle (where it moved Point 1 to), but the centre (Point 1) of the circle region remained where it was placed in the editor.
Sometimes it's nice to know what you are trying to achieve with your trigger - because there are 101 ways to do something in the Galaxy Editor (and most programming languages) some are more efficient than others, and some might never cross your mind.
For the mean-time, use a Region.
None.