Re: [CODE HELP] Interpreter.c/Autoequip problem

From: Patrick J. Dughi (dughi@IMAXX.NET)
Date: 07/30/97


>
>       if (load_room == NOWHERE) {
>         if (GET_LEVEL(d->character) >= LVL_IMMORT)
>           load_room = r_immort_start_room;
>         else
>           load_room = r_mortal_start_room;
>       }
>
>       if (PLR_FLAGGED(d->character, PLR_FROZEN))
>         load_room = r_frozen_start_room;
>
>         Ok, as it is set up currently, i offset the LOADROOM code and made
> everyone have a loadroom of NOWHERE to prevent that autoequip error. That
> last part in my file that is in comments is the code that other circle
> listings said what to do in replace of the line:
>     if ((load_result = Crash_load(d->character)))
>         However, this will cause a Memory fault when I reboot and someone
> punches in there name. What am I doing wrong?

        The only thing I can think of, since this is identical to my
working code (well, mostly.. minus some afk, and other stuff...)
        Do the rooms r_immortal_start_room, r_mortal_start_room exist? I
thought that if they didn't, that you'd auto-load in the void, or
something along that line, but otherwise, you MAY be char_to_room()ing
when the specified room does not exist.....

        I don't think that the error exists specifically in this function,
but either the global vars, or the functions which come after... possibly
the "save_char" call, which has to set the load room.... and if they're
still in limbo when the save_Char is called.. bang..... save with a room
when their "in_room" isn't set yet..

                                        PjD


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