Well, there are many ways you could go about this. Off the top of my head, modifying player.rb would probably be the best if you are doing it per-player.
I would add an info field that is an array of commands, something like disabled_commands. After the command from the player is parsed, check the resulting event against the disabled commands.
--- objects/player.rb (revision 125)
+++ objects/player.rb (working copy)
@@ -212,6 +212,8 @@
else
output 'Not sure what you mean by that.'
end
+ elsif info.disabled_commands and info.disabled_commands.include? event[:action]
+ output "You are not allowed to do that."
elsif @asleep and event[:action] != 'wake'
output 'You cannot do that when you are asleep!'
else
You
could then use the AINFO SET commands to manipulate the disabled commands (like AINFO SET bob disabled_commands :look ) but then there is the problem of having multiple disabled commands per player. Since the AINFO command would assume disabled_commands is a single value unless it was already an array, that would be a problem. So it might be easier to just add a new admin command (a very simple one) to set info.disabled_commands for a player.