Skip to content



create - object initialization


void create( void | ... );


Every  object  should have a create function defined within it.  Within
that function, all initial object initialization should be done.   cre‐
ate()  is called on *all* objects.  *NOTE* - This behavior is different
than the stock 3.1.2 LPmud driver.  In 3.1.2, if an object  is  created
first by being inherited, then create() wasn't called on it.  In MudOS,
this behavior has changed so that it is *always* called when an  object
is  created.   As a result, you may see some odd behavior if you have a
create in a parent object that does a write, you will see  two  writes,
as  if  create() had been called twice on the same object.  In reality,
create *is* being called twice, but on  two  *different*  objects:  the
parent, and the child that is calling parent::create() manually.

The arguments passed to the function will be the same as those passed to
new() or clone_object() in addition to the filename, if the object was
loaded using either of those efuns. For example, clone_object(file, 3, "hi")
will cause create(3, "hi") to be called in the object after it is created.


reset(4), __INIT(4)