Setting Up the Database (cont't):
Other Porting Considerations:
Permission: all programs in fbmuf.tar and the
start-up database are in the public domain. For other programs, you
should make a good faith effort to honor the conditions for porting
programs. Read the program's header comment, looking for notes about
permission and/or the author of the program. If the program says it
can't be ported without permission, don't: instead, contact the
program's author and ask for permission, or find a similar program that
can be freely ported.
Sometimes you just can't get in contact with the author, usually
because he is no longer MUCK 'ing. In this case, contact the
MUCK's MUF or Globals wizard, and let her know
that you want to port the program. Usually there is no problem with
this. And, even if the program says it can be ported freely, sending
page #mail that you've done so is a good idea: people make
programs freely available because they would like to see them widely
used; letting them know you are using their program is a thoughtful
gesture.
Connect and Disconnect Calls: Programs called from these
queues (and related queues such as _arrive and
_listen ) must be set Link_OK. Again, when
uploading from scripts, this is handled for you, but when you're
manually porting the program, you will need to set the calling property
yourself.
====================================
> @set con-announce = L
Flag set.
> @propset #0 = dbref:_connect/announce:#82
Property set.
> ex #0 = _connect/announce
ref _connect/announce:con-announce(#82FWLM3)
====================================
Sometimes a program needs to be called from a prop like
_connect, _disconnect, or _listen
and so should be set Link_OK but also needs
to be kept not Link_OK for security reasons. This
is handled by creating a small, Link_OK stub program that
calls the real program. An example of this is provided below, in the
discussion of setting up Guest characters.
Macros: Programs uploaded from scripts or provided with the
start-up database will set up any macros they need. For programs that
you install yourself, you will sometimes need to define macros. If a
program that works fine on another MUCK will not compile on
yours because of an unrecoginized word...
Error in line 273: Unrecognized word otell.
... the problem is probably an undefined macro. On the
MUCK from which you are porting the program, go into the
program editor, type `s' to see a list of defined global
macros, and look for the offending word... `otell' in this
example. Copy the macro definition. Then, on your MUCK,
define the macro.
====================================
> @edit lib-look
Entering editor.
Line not available for display.
> def otell ( s -- ) loc @ me @ rot notify_except
Entry created.
> c
Compiler done.
> q
Editor exited.
====================================
MUF Macros are also discussed in Section 3.2.3, MUF Macros.
MPI Macros: You will probably want to set up global
MPI macros as well. These are stored in the
_msgmacs/ directory of Room #0. Set a property
in this directory, with the name of the macro as the prop name, and the
MPI to be used in its place as the stored value. For
example, to set up a simple {look-notify} ...
====================================
> @set #0=_msgmacs/look-notify:{null:{tell:[ {name:me} looked at
you. ],this}}
Property set.
====================================
Wizards on an established MUCK may well be willing to
email you a file containing their MUCK's MPI
macros. MPI macros are also discussed in Section 3.1.1.
You may also copy sample MUF
macros and sample MPI
macros from here.
prev |
toc |
top |
next
|