It would be better if I show you, rather than trying to explain it.
Are using the good old stock
weapon.fpi for the weapon pick ups main ai?
Also, what script are you using for your trigger zone to spawn the character? (stock script?)
I'll modify them for this effect for the stock engine. (should work with most mods too)
That way, people searching for this effect will have another example.
If you are using the good old stock
plrinzoneactivateused.fpi for the trigger zone to spawn the enemy then just add activated=67, like so....
;Artificial Intelligence Script
;Header
desc = Plr In Zone, activate entity specified in IF USED
;Triggers
:state=0,activated=67,plrwithinzone=1:activateifused=1,sound=$0,state=1
:state=1,plrwithinzone=0:state=0
And your aimain for the weapon's pick up would look like this...
;Artificial Intelligence Script
;Activate TriggerZone When Weapon Is Picked Up
desc = Weapon Pickup Activate Trigger
;Triggers
:state=0:hudreset,hudx=50,hudy=90,hudimagefine=gamecore\text\pickedupaweapon.tga,hudname=weaponprompt,hudhide=1,hudmake=display,state=1
:state=1,plrdistwithin=40:state=2,playertake,coloff,rundecal=-1,plrsound=audiobank\items\pickupweapon.wav,hudshow=weaponprompt,hudfadeout=weaponprompt
:state=2:settargetname=tzone1,state=3
:state=3:activatetarget=67,state=4
;End of Script
As you can see the triggerzone would need to be renamed to "tzone1" for this example script to work.
Picking up the weapon activates the triggerzone, so that it will now meet its conditions once the player is in the zone.
The triggerzone cannot spawn its enemy until the weapon has been picked up, because it is now checking for that activated state.