Re: [Code][Errors Autoexit]

From: John Evans (evansj@HI-LINE.NET)
Date: 09/25/97


On Thu, 25 Sep 1997, Adam wrote:

>         } else
>           sprintf(buf2, "%-5s - The %s is closed\r\n", dirs[door],
>                 fname(EXIT(ch, door)->keyword));

One thing that may cause the crash is if a door is closed, and does not
have a keyword assigned to it, then you have a crash. Change the above to:

sprintf(bif2, "%-5s - The %s is closed.\r\n", dirs[door],
        EXIT(ch, door)->keyword ? fname(EXIT(ch, door)->keyword) : "door");

I had the same problem, and that code fixed it. Although, I did "ERROR!"
instead of "door". If someone tries to open an exit that does not have a
keyword, 'door' will work just fine, so you can make the builder's error
transparent to the players. Another option is to make the error so
blantantly (and SCREAMINGLY) obvious that the builders will not miss it
(you hope).

>
> I get this error message and the MUD crashes:
>
> Thu Sep 25 22:02:36 :: SYSERR: Illegal value(s) passed to char_to_room
>

I think that you may have two problems. The first one that I pointed out,
and perhaps, you are trying to send someone to a room that does not
exist. Check and make sure that mortal_start_room exists (it's defined in
config.c).

If it doesnt exist, create it, or change the vnum that is assigned to the
variable.

John Evans <evansj@hi-line.net>

May the source be with you.


     +------------------------------------------------------------+
     | 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