Hi kmkm
It's not too hard to do.
First I cleaned up your key script a bit. Place this into the
"keys" main
:state=0:hudreset,hudx=97,hudy=93,hudimagefine=languagebank\english\gamecore\huds\labyr\redkey.dds,hudname=redkey,hudhide=1,hudmake=display,state=1
:state=1,plrdistwithin=40:playertake,coloff,plrsound=audiobank\misc\ping.wav,hudshow=redkey
Make sure your "redkey.dds" is in that folder.
Then for the door (I assume your using the standard "doorkey" script) you'll have to add one line "hudunshow=redkey"
This unshows your redkey hud. Look at line "state=10" where
player uses the action key.
:state=0:hudreset,hudx=50,hudy=90,hudimagefine=gamecore\text\lockeddoor.tga,hudname=keydoorprompt,hudhide=1,hudmake=display,state=10
:state=10,plrdistwithin=60:hudshow=keydoorprompt,hudfadeout=keydoorprompt
:state=10,plrdistwithin=60,plrhaskey=1,plrusingaction=1:hudunshow=redkey,state=1,setframe=0,sound=$0
:state=1:incframe=0
:state=1,frameatend=0:state=2,coloff
:state=2,plrdistfurther=60:state=3,sound=$1,colon
:state=3:decframe=0
:state=3,frameatstart=0:state=10,setframe=0
Use this for your doors "main" script and all should work.
best
Almost forgot, remember to keep your original "doorkey" script.
Name this something like "door_redkey" or what works for you
You know you're a bad gamer when you're able to run out of infinite lives.