The unit enters/leaves region is bad in another way: if you create a unit inside the region it wont fire. It only fires if the unit "walks over the borders". My solution, which i personally think is much better is to continously count the number of units of a specific type inside a region. If you do this in a threaded function with a while-loop in it with a wait of 0.1 seconds, nobody will detect any difference. You can even set it lower if its not a "high-action" region (for score and such).
Best thing is that it does not matter much if its one unit or 200 thats inside the region ^^
Summary: stay away from unit enters region and go while-loop!
b0ne123 Authorthe action I call at the very end of the mapInit does now loo like this:

to get your map regionId, create some trash code and let the editor show you your current code position or use another array containing all your relevant regions and replace the getRegionfromid with the array.
You could use two loops and get efficient and everything done in a few lines.
A programmer started to cuss
Because getting to sleep was a fuss
As he lay in his bed
Looping 'round in his head
Was: while (!asleep()) sheep++;
twitter.com/SC2IncomeWars
facebook.com/SC2IncomeWars