Talking system with fixed phrases is really bad and not professional for DEV.
As I guess, when player talking with NPCs then on the server side what player talk will go through "checking process", if the phrase is match - it means you say "correct phrase". This system is inflexible and makes people like solving quest really stress. Not only that, people not very good in English almost can't do this. And almost "correct phrases" is in the form "about ...", it's inflexible, not fun and not like Role playing at all.
My job is DEV, so I know how to make talking system more flexible: just let what player talk to NPCs go through "filtering process" before "checking process". DEVs can create a dictionary which contains words suitable for each quest. For example: to get a bottle of tannin you have to talk to Rayla exactly is "about tannin" or she can't understand, how about "I need a bottle of tannin" ---> this phrase is correct, really is Role play but it won't work. With "filtering process", everything come out with two example phrases above will only be "tannin" and both of them will work.
If you say filtering process will slow down your server, you totally wrong. Why? Because time for players talking with NPCs about quest is very short, almost no effect with all game system. And when "filtering process" is active, they only have to talk to NPCs several times, only takes several seconds, not hours now, reduce a lot of work for "checking process".
Sorry, my English is not very good, too
