Wait...
what's the point of the wait commands and multiple locations?
For the example you gave, killing all nearby Hydralisks and using Corsairs for effects...
C: Bring atleast 1 Hydralisk to Location 'Effect Zone'
Switch 'Hydralisk Killer' is Set
---
A: Move Location 'A' to Hydralisk at Location 'Effect Zone'
Remove/Kill Hydralisk at Location 'A'
Create Corsair at Location 'A'
Kill Corsair at Location 'A'
...
Preserve Trigger
C: Switch 'Hydralisk Killer' is Set
Bring atmost/exactly 0 Hydralisk to Location 'Effect Zone'
A: Set 'Hydralisk Killer' Cleared
No such thing as having a Hydralisk "escape," although you will get a sort of 'cascade' visual affect where the Hydralisks will die extremely rapidly, starting from the bottom left, rather than just all at once - but to make it quicker, you can make several copies of the first trigger. Each one would check exactly how many Hydralisks are in Location 'Effect Zone,' and repeat the actions as many times as are appropriate ( ex., bring exactly 1 Hydralisk, play actions once, bring exactly 2 Hydralisks, play actions twice, ... atleast X Hydralisk, play actions X-times, where 'X' is either as many as will fit in one trigger, or as many as you predict will need to occur at once ) . If you get
enough Hydralisks, then it won't work perfectly - there'll still be a very slight delay between the first X many Hydralisks dieing and the second X many, but because so many are dieing at once, it is harder for the eye to recognize that delay.
Note that because there are no wait opcodes, the entire trigger will run instantly, over the span of a single frame.
How can I prevent one of those "Unplaceable Unit" messages?
Depends on where you're getting them. In some cases, you
can't prevent them.
An almost universally effective system, however, is to use a 'buffer.'
For any trigger that may spawn a unit, for which you're afraid you might get a 'Unit Unplaceable,' you create an enclosed area outside the playable region of a map - one per trigger. You have your unit spawning trigger check if there's already a unit in this buffer, and then, if there is, don't spawn another; if there isn't, spawn one and move it to the desired location.
Unit Unplaceables occur because StarCraft won't spawn a unit any farther than so many pixels from the center of a location ( Hell if I know why, or how many pixels this is; except for buildings, where it is always 0 ) .
[3] [6] [9]
[2] [5] [8]
[1] [4] [7]
Oddly, I thought that it chose the closest to bottom left available, and moved gradually up-right, so it'd look like
[6] [8] [9]
[3] [4] [7]
[1] [2] [5] or
[5] [7] [9]
[2] [4] [8]
[1] [3] [6]depending on whether it placed priority on horizontal or vertical distance from 0,0.
However, I just made a map in which I placed a 3x3 grid of Zerglings, and tested twice - once centering a location and then killing, then moving to the next, and one with just a large location over all of them, killing them 1 at a time.
Both times, the results I got started in the
top left, and resembled your model more.
Although, I just used 5x5, with the movelocationkillpreserve, and got some odd discrepency on the last collumn, as shown:
[01] [06] [11] [16] [21]
[02] [07] [12] [17] [25]
[03] [08] [13] [18] [24]
[04] [09] [14] [19] [23]
[05] [10] [15] [20] [22]I wonder if we're both just remembering incorrectly, if I'm confused and am talking about the wrong triggers, or if Blizzard's changed it in some recent patch ( which I'd doubt ) .
Also, what's up with the ... Karma? o_O
So far's I know, it's just a display right now, with no functionality. I've not really paid much attention to website feature progress, though...
None.