As my development history is primarily concentrated on Sourcemod I personally believe that we should copy their semantics, with a few of our own additions.
For those not familiar with Sourcemod's player filtering I will give a short tutorial:
- If you have not specified a preceding character the target is considered to be a playername, example: add_permission necavi sp.auth.commands.add_permission
- If you specify a # at the beginning of the string it is considered a userid (player index in our case), example: add_permission #5 sp.auth.commands.add_permission
- If you specify a @ at the beginning of the string it is considered a filter, example: add_permission @all sp.auth.commands.add_permission
I have also added the extension of having @! automatically target the opposite of a normal filter.
I strongly believe that this is a very simple and powerful tool that every administration tool requires, the only question in my mind is whether to use SM's semantics or Mani's, which users may be more familiar with.
I have already implemented this function in a fairly complete manner here.