Setting Up the Database (cont't):
Setting Up Guest Characters:
(Note: Setup for the con-multiguest,
the Guest program supplied in the fbmuf package, described
here, is more difficult than it really ought to be. As an alternative to
the process described below, you may want to make a copy of MultiGuest.muf , edit the line
that specifies the guests password to something unique, go to the room
that the Guests will start at, and paste the file into your client
window. This will set up your Guest characters
automatically. You need to have a $nothing action set up before
quoting the file.)
You will probably want to allow Guest characters. A program that
shuffles incoming connections to the next available Guest character is
available in fbmuf.tar and the start up database:
con-multiguest. There is also a small `stub' program
con-callmultiguest that calls the main program when
players connect as Guests. The reason for this is that programs called
from _connect must be set Link_OK, but the
password creation scheme for Guests should be kept private, for security
reasons. Rather than calling con-multiguest directly
(which would require it to be set Link_OK ),
con-callmultiguest is set Link_OK and called
on connection. Then, this small program calls
con-multiguest itself.
If you don't have con-multiguest and
con-callmultiguest ported and registered yet, do so now.
Then set both program Wizard. Set con-callmultiguest
Link_OK and Set_UID.
====================================
> @prog con-multiguest
Program created with number 88.
Entering editor.
> i
Entering insert mode.
< quote or paste program >
> .
> c
Compiler done.
> q
Editor exited.
> @reg con-multi = con/multiguest
Now registered as _reg/con/multiguest: con-multiguest(#88FM3) on
Room Zero(#0R)
> @set #88 = W
Flag set.
> @prog con-callmultiguest
Program created with number 89.
Entering editor.
> i
Entering insert mode.
< quote or paste program >
> .
> c
Compiler done.
> q
Editor exited.
> @set #89 = W
Flag set.
> @set #89 = L
Flag set.
> @set #89 = S
Flag set.
====================================
If you haven't created a room for the Guests to start in, do that now
as well.
====================================
> @dig Guest Room
Guest Room created with number 90.
====================================
@Pcreate the proto-Guest character.
====================================
> @pcreate Guest = guest
Player Guest created as object #91.
====================================
Then @pcreate the actual Guests. By default, the
con-multiguest program is set up to handle eight Guests. If
you want more or less, find the following line in the program...
$def NumGuests 9 (Max guests allowed connected + 1)
... and edit it appropriately. That is, change 9 to some
other number.
====================================
> @pcreate Guest1 = guest
Player Guest1 created as object #92.
.
.
.
> @pcreate Guest8 = guest
Player Guest1 created as object #99.
====================================
@Teleport the Guests to the Guest Room, and
@link them there.
====================================
> @tel *guest = #90
Teleported.
> @link *guest = #90
Home set.
<etc.>
<etc.>
<etc.>
====================================
@Set the _connect/multiguest property on
each Guest to call con-callmultiguest.
====================================
> @propset *guest=dbref:_connect/multiguest:#89
Property set.
> @propset *guest1=dbref:_connect/multiguest:#89
Property set.
<etc.>
<etc.>
<etc.>
====================================
This version of the multi-guest program changes Guest passwords by
forcing a wizard (not the most elegant approach). You'll need to edit
line 14 of the program, designating a wizard to do the forcing. In the
original file, #1 is designated, but God cannot be forced if the
MUCK is compiled with GOD_PRIV. (If you don't
have other wiz characters yet, you need to make one.)
You should probably also change the password creation scheme. This is
in line 20. It's not really crucial what you change it too: just make it
something that returns a string.
====================================
> @edit con-multiguest
Entering editor.
Line not available for display.
> 14 l
$def Wizard #1 (Change this to a wizard's dbref. Preferably not #1)
> 14 d
1 lines deleted.
> 14 i
Entering insert mode.
> $def Wizard #2 (Change this to a wizard's dbref. Preferably not #1)
> .
> 20 l
$def PassWdMake (i -- s) 3 + 9 * intostr "TimE" swap strcat "tWINe" strcat
> 20 d
1 lines deleted.
> 20 i
Entering insert mode.
> $def PassWdMake (i -- s) "snerk" 5 * 7 intostr swap strcat "aVast" strcat
> .
> c
Compiler done.
Editor exited.
====================================
prev|
toc|
top|
next
|