Locks <object> to a specific key(s). <object> can be specified as <name> or #<number>, or as 'me' or 'here'. Boolean expressions are allowed, using '&' (and), '|' (or), '!' (not), and parentheses ('(' and ')') for grouping. To lock to a player, prefix their name with '*' (ex. '*Igor'). A key may be a player, an object, or 'property:value'. You can only @lock objects that you control.
The purpose of a lock varies depending on what the object is that it is being set on:
|Player||Prevents from robbing pennies from that player.|
|Thing||Prevents from picking up the thing.|
|Exit||Prevents from using the exit or passing through it.|
When someone tries to do something but does not pass the @lock on it for the given circumstances, they are shown the contents of the object's @fail field, and everyone else in the room is shown the contents of that object's @ofail field.