If anyone has read my previous posts about some stupid gate and door and area portals… this is about them.
Download the .map, .script file and .bsp files all here in this zip (25 kb)
http://www32.brinkster.com/godexiled/mapping/aportal.zip
And just in case the above one doesn’t work
http://www32.brinkster.com/godexiled/mapping/aportal2.zip
Problem: If you download and check the .map, you’ll see there’s a gate with a func_door in it, which has an areaportal with it.
When you open the gate, func_door is also opened, and so is the areaportal. And when you close the gate, all the others close too. Everything fine so far. But if you interrupt the gate during closing,which means you hit the switch again to open the door before it’s completely closed, changing the gate’s direction, areaportal will screw up. Look at the script and you’ll understand. In the .script file you’ll see a script to trigger alertentity, which works at one place, but won’t in another.
The script you’ll be looking for is “fdoor”, and the lines with “trigger fdoor doit” which has “alertentity fdoor” (fdoor also being the targetname of this func_door).
Load the .bsp (don’t forget the sv_pure 0 and set g_gametype 2) and do a r_showtris 2 to see when the areaportal works and when it won’t
EDIT: (This is gonna be long) I forgot to add why I think It’s a problem.
If you look at the .script and understand how it all works, you’ll see that there are 3 instances where fdoor doit is triggered. one of them is in spawn. 2nd, it is triggered from within another script -which controls the setstate for the other doors (which are a part of the gate (immersion-wise)) which is triggered after the gate is closed. and the 3rd, triggered from within another script of the same type, which controls the setstates, which is triggered before the gate is opened.
Now if you hit the switch again to open the door before it’s closed, setstates are NOT triggered even though alertentity IS, and even though both are BEFORE the gate/doors are triggered to open. I can’t figure out this.

hehehehe.