Well, 'touching' the NPC is only sent while the player is moving and 'colliding' with the NPC. I suppose what you could do is something like...
PHP Code:
//#CLIENTSIDE
function onCreated() {
this.check=0;
}
function onPlayertouchsme() {
if (this.check==0) setTimer(3);
else {
// Do whatever you want if they're still touching it after 3 seconds.
}
}
function onTimeout() {
if (this.check==0) {
this.check=1;
setTimer(.1);
} else this.check=0;
}
But... they'd still have to be pressing against the NPC, not just standing there next to or in it.
As for the if they're still firing, again, you should use timeouts and variables.