You can use this:
http://dev.bukkit.org/bukkit-plugins/per-world-chat-plus/
But needed thing is that you create its own map for the "event", so players will be on separate map (So you need some Multiverse plugin). The plus side of this is that players will be ABLE to chat, but only with people on same map - so it is possibly to make team events or so, still maintaining that the "main" chat will be totally separated from them.
However probably for the /tell etc commands you will need to use permissions (and yes, you can disable permission to chat on per-world basis, too, however that is kinda brutal and not player friendly...) , if there is no feature in that plugin for this, too.
So all you need is to find permission nodes for all commands you want to disable and (via PEX for example) disable those commands in the world your game is being played in.
For PEX , just use something like this with negative permission and putting it into the world you have it in :
/pex group default add -<permission.node.you.want.to.disable> <worldname>
This will make all people in default group to not be able to use those commands in the world mentioned, but they will be able to use them otherwise.
Another possible solution can be with WorldGuard plugin, then you don't need to have separate world ( but it still be better) , only defined region. Then you can use flags (example):
/region flag <name of region> blocked-cmds /tell,/say,/msg,/t,/pm
/region flag <name of region> send-chat deny
/region flag <name of region> receive-chat deny
HOWEVER I did not tested if those last two flags won't disable also sending of commands and receiving /tellraw messages. (if it is for pure player chat or total chat with everything in it). It will be better solution, if it won't block everything, but well, I'm unable to test it for now.