The first an easy step in creating a generic object is to change permissions to make it fertile. Do that now !
Now we have to mention a somewhat tricker issue: the ``c'' permissions. Here are the ground rules:
Now let's look at the holder example. You now should have it fertile,
if not, do that. Now TELL SOMEBODY ELSE to create a kid of holder
(give the person the object number or bring him to the room where
your holder sits on the floor.
@create #... named test
Now tell him to 'add ...' something, but it won't work as you
can see in the transcript below
>add this to test
#2108:add (this == #2263), line 1: Permission denied
(End of traceback)
Now your friend should recycle the object, i.e. kill it because it is useless, i.e. he should type:
@recycle test
Note that YOU could create kids that work, since the owner of the generic and the owner of the kid is yourself.
The solution to the problem is to change permission of all properties whose values are set by a verb on the generic to ``-c''. Now type something like this:
@chmod holder.holding -c
Now your friends could create kids of your holder that work. The trouble now is that they can't change those properties by hand (as some persons might be tempted to do, i.e. for them, something like:
;#12347.holding = {}
or
@set test.holding to {}
would not work. If you want to allow that, there are 2 solutions both of which are not great:
Without doubt, there is still more to be said about permissions, but for simple projects, you should be all set.
Further reading on permissions: