Ok, I made a simple test for this. My scripting is not that great and there is probably a more efficient way of doing this.
I also added the level (with all stock models) so you could test it too.
The storage locker needs the
setvariable.fpi.
;Artificial Intelligence Script
;Header
desc = set global variable(s)
;Triggers
:state=0:dimvar= hasEntered,setvar= hasEntered 0,State=1
The first trigger zone in the corridor needs the
plrinzoneactivateusedHasEntered.fpi
;Artificial Intelligence Script
;Header
desc = Plr In Zone, activate entity specified in IF USED
;Triggers
:state=0,plrwithinzone=1,varequal=hasEntered 1:activateifused=1,sound=$0,state=1
:state=1,plrwithinzone=0:state=0
the second trigger zone (the bigger one at the end of the room) needs the
plrinzoneactivateusedSetHasEntered.fpi
;Artificial Intelligence Script
;Header
desc = Plr In Zone, activate entity specified in IF USED
;Triggers
:state=0,plrwithinzone=1:activateifused=1,sound=$0,setvar=hasEntered 1,state=1
:state=1,plrwithinzone=0:state=2
You will walk through the first trigger zone and the enemies will not spawn. Once you go into the second trigger zone the gun will spawn and the first trigger zone will now activate the enemies when you walk through it.
edit:
I had put all those scripts in the scriptbank/user folder so if you put my map in your mapbank folder and the scripts in the scriptbank/user folder it should work without you having to edit anything.
A man will one day wear a tophat in glasgow on a sunny day juggeling grapes while humming the jurrasic park theme tune.