From the NannyMUD documentation
2001-01-06
NAME
drop - prevent an object from being droppedLOCATION
Possible in any object that can be carried.SYNTAX
int drop(int silent);DESCRIPTION
Whenever a player attempts to drop an object, the local function 'drop' is called in that object. A non-zero return means the object will not be dropped. A non-zero argument should mean to not print any messages.RETURN VALUES
A zero value or the absense of this function means the object can be dropped.A non-zero value means an object cannot be dropped.NOTE
It is senseless to define this in objects which cannot be taken. When a player quits, all non-droppable objects are destructed. Non-droppable objects should not have weights. You can print out messages saying 'The doll won't let you drop her' and such in the drop() function, but be sure to only print them out when no arguments are passed (to comply with the 'silent' convention). Normal non-droppable objects include guild and club objects, wizard tools, 'disease' objects, etc. Do not refer to 'this_player()' within the drop function. This can cause bugs when this_player() returns 0 or someone else. You might instead use environment().SEE ALSO
query_auto_load in lfun/basic/query_auto_loadSEE ALSO
get in lfun/basic/get