I'm working on this now, using as an excuse to learn sourcepawn.
Rather than hijack this thread, I started another thread. I'll appreciate your input.
http://forums.alliedmods.net/showthread.php?p=571089
Also, in OnClientDisconnect, the SetConVarBool sets alltalk to mode, shouldn't it be !mode?