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