I don't think those functions are necessary. For example, I think this:
local Event e = Event.create()
is much better than:
local Event e = CreateEvent()
And that goes for the rest of the functions. It's better to make the struct act like one, it's easier to use, since other people do that...
Actions
Custom script: if GetLocalPlayer() == Player(0) then
Custom script: call StartSound(gg_snd...)
Custom script: endif
Brackets after Player (where the zero is) hold the index of a player, but in JASS it starts from 0, not from 1, so Player(0) is Player 1, Player(1) is...
Sounds cool to me.
It would be awesome if you develop this to a ultimate pwning system with all the shapes anyone could ever think of. This requires a fine knowledge of geometry though. You could also add a irregular rectangular? Maybe go into polygons too?
Anyways, I'm interested :D
Well, you can have doors that are sometimes opened and sometimes closed, which can screw up your escape :D
I suggest you make the killer a little weird, at least concerning movement. He can sometimes move really fast, he can constantly change transparency etc. For example, he can just run...
Is there any other code in your map that might have caused the crash? Are there any imported stuff that could malfunction? If you don't know what else could be the problem, I suggest maybe posting the map?
I'm not completely sure, but I'll post all the possibilities.
function GroupCheckCond_func takes nothing returns boolean
return ( IsUnitAlly(GetEnumUnit(), GetOwningPlayer(GetTriggerUnit())) == true )
endfunction
I'm pretty sure that GetTriggerUnit() doesn't work when you call it from a...