Multiple Start Rooms

From: Brian Menges (menges@niesten.arc.nasa.gov)
Date: 06/05/96


Hi,
    I'm new to the list (Hi all) and to implementing in general.   Here's my
problem:

    I am trying to make it so that players will enter the room at different
locations.  What I mean by this is that I want new players to start at one
location and players the quit or have NOWHERE defined as their start location
to start at another room.  The reason for this is because I have a start up
sequence of rooms I want new characters to go thru and I only want this to
happen once.  My problem is that I don't entirely understand the process by
which players are assigned their starting room.

I noticed when the character is created there is the following:

if (GET_PFILEPOS(d->character) < 0)
   GET_PFILEPOS(d->character) =
                   					   create_entry(GET_NAME(d->character));init_char(d->character);
save_char(d->character, NOWHERE);
SEND_TO_Q(motd, d);
SEND_TO_Q("\r\n\n*** PRESS RETURN: ", d);

Changing the save_char() location at this point from NOWHERE to the new start
room doesn't work becuase there is another save_char() down under case 1 of the
main menu

   case '1':
      reset_char(d->character);
      if (PLR_FLAGGED(d->character, PLR_INVSTART))
	GET_INVIS_LEV(d->character) = GET_LEVEL(d->character);
      if ((load_result = Crash_load(d->character)))
	d->character->in_room = NOWHERE;
----> save_char(d->character, NOWHERE);
      send_to_char(WELC_MESSG, d->character);
      d->character->next = character_list;
      character_list = d->character;

    <after this point it checks for special loading circumstances>


My question is what is the first save_char() for when the player is created and
is there any way I can set the start location there for new players?  Or, is
there any special flag that is set when a player is first created that I can
key on?  In the future I would like to create multiple start towns and I can
see that being a slight problem with the way the characters are loaded into the
game.  Has anyone encountered this before?  And, if so how was it solved?

Also, does save_char() expect the vnum or rnum of the room?

Thanks in advance for any help you can provide,

 	Brian aka Haddixx

__







-- 
"Take my advice and go back to the time	| Brian Menges
you came from.  The future isn't what 	| NASA Ames Research Center
it used to be."--G'kar, "The Long Dark" | Mail Stop: N262-2
	          0__0			| Phone: (415) 604-0069
=============ooO==(__)==Ooo=============| menges@eos.arc.nasa.gov



This archive was generated by hypermail 2b30 : 12/18/00 PST