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

From: Patrick J. Dughi (dughi@IMAXX.NET)
Date: 07/31/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?
> >         I don't think that the error exists specifically in this function,
> > but either the global vars, or the functions which come after... possibly

> line if (load_result = Crash_load(d->character)) doing? I am not that

        I think your problem may lie in Crash_load.  Off hand, i can't
visualize what it could be - mostly just make sure that your pointers
exist before using them example...

if(d->character->player)
  do_something_to_player_part_of_struct(d->character-player);

or whatever... This is an easy way to cause errors. I don't know if you've
tried yet, but gdb would certainly help you figure out at least, which
line, and function the mud was crashing on - since you can duplicate the
error easily enough....

                                        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