Re: pfile problem w/autoquest

From: Brandon Bennett (bennetb@sw2.k12.wy.us)
Date: 04/25/00


I had a similar problem with autoquest before.  Do you have 0.qst file in
its proper directory?  You might have to create a 0.qst file.  I no longer
have my autoquest mud running but if i rememberd right I had traced back to
malloc (memory allocation) fun stuff.  If i remeber right it came down to
changing a sh_int to an int or vica versa.  I dunno if this is any help or
just a coder babbling on.

~bradon
----- Original Message -----
From: Nate Winters <wintersn@HOTMAIL.COM>
To: <CIRCLE@post.queensu.ca>
Sent: Tuesday, April 25, 2000 6:20 AM
Subject: [CIRCLE] pfile problem w/autoquest


: Under bpl16 I added the autoquest code (by Vassago) from:
: http://developer.circlemud.org/1998/08/12/2334233.shtml
:
: With additions from a 15 Aug 1997 post Re: [circle] autoquest code
: by Eduo from the archives.
:
: The snippet, after Eduo's additions, went fine, no errors. But the pfile
: become fuddled :-).
: Even after a pwipe, my spare int for clan was being overwritten, as were
: some others settings like move/dex/str/exp. After receiving some great
help
: on the newbie mailing list from Del we narrowed it down to one line.
Before
: adding this one line the mud runs perfectly. After adding the single line
: structs.h:
:
: struct player_special_data_saved {
:    byte skills[MAX_SKILLS+1];/* array of skills plus skill 0 */
:    byte PADDING0;  /* used to be spells_to_learn */
:    bool talks[MAX_TONGUE]; /* PC s Tongues 0 for NPC */
:    int wimp_level; /* Below this # of hit points, flee! */
:    byte freeze_level; /* Level of god who froze char, if any */
:    sh_int invis_level;  /* level of invisibility */
:    room_vnum load_room;  /* Which room to place char in */
:    long /*bitvector_t*/ pref; /* preference flags for PC's. */
:    ubyte bad_pws; /* number of bad password attemps */
:    sbyte conditions[3];         /* Drunk, full, thirsty         */
:
:
:
: struct char_data *questgiver;/*<--evil line causing pfile
problem**********/
:
:
:
: /* spares below for future expansion.  You can change the names
: from 'sparen' to something meaningful, but don't change the order.  */
:
:    ubyte clan_rank;
:    ubyte spare1;
:    ubyte spare2;
:    ubyte spare3;
:    ubyte spare4;
:    ubyte spare5;
:    int spells_to_learn; /* How many can you learn yet this level*/
:    int olc_zone;
:    int clan;
:    int questpoints;
:    int nextquest;
:    int countdown;
:    int questobj;
:    int questmob;
:    int spare14;
:    int spare15;
:    int spare16;
:    long spare17;
:    long spare18;
:    long spare19;
:    long spare20;
:    long spare21;
: };
:
: This causes all the pfile problems. So I messed with it for a few days
and
: finally got it to work by placing it at the very end of that function
after
: the spare longs. The autoquest code then worked perfectly. This was all
: under windows using the Cygnus shell. So then I tried it on the Linux
: server.
:
: Ran into similiar problems, except this time it would crash after the
: second boot. So I again narrowed it down to the same one line. After
adding
: that one line, and doing a pwipe, the first boot works fine. Then after
the
: first boot it crashes: LOG:
:
: Apr  4 12:23:02 :: Resetting Newbie Zone (rooms 15100-18699).
: Apr  4 12:23:02 :: Booting clans.
: Apr  4 12:23:02 ::    Calculating powers and members
: Apr  4 12:23:02 :: Boot db -- DONE.
: Segmentation fault (core dumped)
:
: GDB 4.16 (i586-unknown-linux), Copyright 1996 Free Software Foundation,
: Inc...
: Core was generated by `bin/circle'.
: Program terminated with signal 11, Segmentation fault.
: Reading symbols from /lib/libc.so.5.3.12...done.
: Reading symbols from /lib/ld-linux.so.1...done.
: #0  0x8075bd9 in boot_db () at db.c:390
: 390     }
: No backtrace!
:
: void boot_db(void) 380-390
:   }
:
:   reset_q.head = reset_q.tail = NULL;
:
:   log("Booting clans.");
:   init_clans();
:
:   boot_time = time(0);
:
:   log("Boot db -- DONE.");
: }*/<----end of function 390
:
: This made no sense to me. I tried moving questgiver around again, no
luck,
: tried multiple pwipes/clanwipes... nothing worked, same crash on second
: boot. I am not very familiar with pfiles, but my take from all this is
that
: you can't just add in a struct like the additions post said to do... But
it
: worked under windows? After several weeks of working on this I have run
out
: of ideas, any help would be greatly appreciated.
:

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



This archive was generated by hypermail 2b30 : 04/10/01 PDT