Maybe this works for you:
You will need a TriggerZone where the character stands (does not work for characters that are walking around)
Attach this script to the TriggerZone:
;Artificial Intelligence Script
;Header
desc = Press Enter to Use in Zone
;Triggers
:state=0:hudreset,hudx=50,hudy=90,hudimagefine=gamecore\text\pressentertouse.tga,hudname=clicktheguy,hudhide=1,hudmake=display,state=1
:state=1,plrwithinzone=1:hudshow=clicktheguy,hudfadeout=clicktheguy
:state=1,plrwithinzone=1,plrusingaction=1:sound=$0,state=2
:state=2:state=3,timerstart
:state=3,TIMERGREATER=2500:state=4,activateifused=1
;End of Script
There is a timer in the script.
You should use a delay time that is a little bit longer than your soundfile.
In this example the soundfile should have a lenght of 2 seconds (2000 milliseconds). After 2.5 seconds (2500 ms) you get the weapon.
You can change this in the script: TIMERGREATER=X
You have to type the name of the weapon in the IF USED field of the TriggerZone.
The weapon needs this
Init script:
;Artificial Intelligence Script
;Header
desc = Make Item Appear Invisible
;Triggers
:state=0:setalphafade=0,coloff,state=1,runfpidefault=1
;End of Script
The script lets the gun appear invisible. You can't pick it up.
(you should place the gun somewhere close to the Zone)
And attach this as a
Main script to the weapon:
;Artificial Intelligence Script
;Header
desc = Invisible Weopon waiting for activation
;Triggers
:state=0:hudreset,hudx=50,hudy=90,hudimagefine=gamecore\text\pickedupaweapon.tga,hudname=weaponprompt,hudhide=1,hudmake=display,state=1
:state=1,activated=1:state=2
:state=2:state=3,playertake,rundecal=-1,plrsound=audiobank\items\pickupweapon.wav,hudshow=weaponprompt,hudfadeout=weaponprompt
;End of Script
Hope that helps.