Re: [CODE] [ERRORS]

From: Stephen Wolfe (st955q8m@DUNX1.OCS.DREXEL.EDU)
Date: 09/28/97


> I get this error message and the MUD crashes:
>
> Thu Sep 25 22:02:36 :: SYSERR: Illegal value(s) passed to char_to_room
>
> Could someone help me figure this out? Has anybody else had this problem. I
> really need some help with this, because everytime a player logs in it
> crashes as soon as they try to enter into the game. I can linkload a player
> and move around with them and it works fine. There are no room errors on
> the MUD, I just recently ripped out all the zones except for the key ones
> but it worked fine then. I have not added any code changes since then other
> than this, and suddenly this error appears.

it looks to me like someone is being loaded into one of the rooms that
you "ripped out"..maybe they were set LOADROOM, or maybe you changed it
so that people would enter back into the game where they quit...a way to
fix this is take the offfending characters and set their loadroom to be
something that you know exists, or you can do what i did..i changed the
code so that if the room doesn't exist, it puts them in the start
room...here's my code:

  if (!ch || room < 0 || room > top_of_world) {
    sprintf(buf, "SYSERR: Char going to non-existant room.\r\n");
    sprintf(buf, "%sSYSERR: %s trying to go to room %d.\r\n", buf,
      GET_NAME(ch), room);
    log_info(buf);
    if (GET_LEVEL(ch) >= LVL_IMMORT)
      room = real_room(1204);
    else
      room = real_room(3001);
  }


later
siv


     +------------------------------------------------------------+
     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
     +------------------------------------------------------------+



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