The NakedMud Tutorial :: Load and Extract
Extracting
Objects and mobiles are typically loaded when zones are reset. They can be extracted for various reasons (e.g., a player quitting the game, dying, an object being junked). Scripts have access to this functionality as well. To extract a mobile or object, simply call the extract function on it. Information about loading is discussed next.
Loading
Objects are loaded with the load_obj function. An object prototype must be specified, as well as a destination for the object.
# load a candle into the room this trigger is attached to, 
# and into the inventory of every mob in the room
load_obj("candle@basic_items", me)
for ch in me.chars:
  load_obj("candle@basic_items", ch)
When objects are loaded onto a character, they are loaded into the character's inventory by default. Objects can also be equipped onto a character by specifying which bodyparts the object is to occupy:
# load a glove onto the character's left hand
load_obj("white_glove@basic_items", me, "left hand")

# now load the character's jacket
load_obj("leather_jacket@basic_items", me, "left arm, right arm, torso")

# now, load a belt to the default location instead of the inventory
load_obj("leather_belt@basic_items", me, "")
To load a mobile, the load_mob function is called. It works exactly like load_obj except the destination must always be a room, and of course does not take an optional third argument. Both load_obj and load_mob return the thing they have loaded.
# when a character enters the arena, give them a sword
obj = load_obj(ch, "gladius@weapons")
message(ch, None, obj, None, True, "to_char", 
        "You have been given $o. Prepare to fight!")