Playerchats is DEFFINATELY the best. Playersays you can't do much with. And it works for triggering an event but it is ineffective. I was hoping I wouldn't have to comment either but it seems no one else has seen the obvious.
NPC Code:
if (playerchats && startswith(TEXT,#c))
and also the other used:
NPC Code:
if (playerchats && strcontains(#c,text))
It's fairly obvious I thought x-x (<-converting to Stefan style now

) #c is the code for playerschat. It just checks to see if the players' chat code is what it says. In playersays(chat) you can't really say if it startswith or anything. It is obsolete. it's like the difference between setlevel and setlevel2. I think Setlevel was finally removed, so if you NEED to use the same function:
NPC Code:
setlevel2 <level>,playerx,playery;
SAME exact thing. That is what it is with playerchats, and this is much better.
---Shifter