Hi Melvin,
The quickest way to do this is to use two trigger zones that you will place directly on top of the pick up item.
Name one trigger zone "flashlight" and set its main FPI script to be:
;Artificial Intelligence Script
Flashlight script
;Header
desc = activate flashlight s4real (modified by srealist)
;Triggers
:state=0:state=1
:state=1,activated=1:state=2
:state=2:hudreset,hudx=50,hudy=50,hudimagefine=gamecore\text\flash.dds,hudname=flash,hudhide=1,hudmake=display,state=3
:state=3,scancodekeypressed=33:hudshow=flash,sound=audiobank\flashswitch\flash.ogg,ambience=40,state=4
:state=4,scancodekeypressed=0:state=5
:state=5,scancodekeypressed=33:hudunshow=flash,sound=audiobank\flashswitch\flash.ogg,ambience=0,state=6
:state=6,scancodekeypressed=0:state=2
;End of Script
Then place another trigger zone directly on top of it and change its main fpi to plrinzoneactivateused.fpi. In the "ifused" slot type "flashlight".
This will absolutely work. Something to know about pick up items: once the pickup action is executed, the item is destroyed and no other scripting commands will execute. If it were not for that factor, I would've made the kit as a pick up flashlight but I wasn't able to come up with a work around. I tried using runfpi=x in the pickup script but that then kills the current script, meaning the item does not get picked up.
Anyway, the approach I've described above works quite well so I think that is the best way to go.
Lemme know if you have any problems getting it to work and I'm here to help.
Edit: I used the white light in my script here but you can do this with any color of light by simply setting the ambiencered, ambienceblue, and ambiencegreen actions as I describe in the first post. Just FYI.