Try this one, I think you still had too many : on the line. I think you can only have 2 :'s per line. The first to show a condition, and the second to initiate an action. I haven't written many scripts, so I could be wrong in this. Hopefully someone will correct me if I am wrong.
;Artificial Intelligence Script
;Header
desc = Switch Activate (toggle on and off)
;Triggers
:state=0 , shotdamage=1:state=1 , hudreset,hudx=50,hudy=90,hudimagefine=gamecoretextpressentertouse.tga,hudname=useswitchprompt,hudhide=1,hudmake=display,state=10
:plrdistwithin=25:hudshow=useswitchprompt,hudfadeout=useswitchprompt
:state=10,plrusingaction=1:state=1,plrsound=$0,activateifused=1,alttexture=1
:state=1,plrusingaction=0:state=2
:state=2,plrusingaction=1:state=3,plrsound=$1,activateifused=0,alttexture=0
:state=3,plrusingaction=0:state=10
;End of Script
It seems that if the player does get to within 25 units, a message will be displayed to press enter to activate switch. That may or may not be what you intend.
Also, something just does not look right to me. In the first line, you set state=1, then later in same line you set state=10, which negates your first assignment.
I might have to play with this and see if i get it to work. I've always liked a challenge, even simple ones like this! (At least i think this will prove to be simple).