Saving to current room prior to exit

From: Ben Vee (benvee@EXCITE.COM)
Date: 03/07/00


I am attempting to hand patch in the code instructions I found on the ftp
site to have characters save to their current room when they exit the game.
(I'd like to eliminate the rent system entirely.) I replaced all NOWHERE
with ch->in_room.  It won't compile and gives me the errors listed below.
I have read all of the archive files related to saving to the current room
and I think I am doing it correctly.  Since I'm a newbie coder (teaching
myself using Jamsa's C/C++ Programmers Bible, visiting some C and C++
sites, and spending alot of time in the Circle archives), I am still
struggling with structures and how they are used; so of course, that is
where the compile error seems to point!

I am using Circle bpl16 with OLC 2 and DG scripts 1.7a.  I've added color
and autoprompts. I am compiling using MSVC++ 6.0 running on a Compaq 450
with 128 meg of RAM using Windows 98.

I used the find command within MSVC++ 6.0 and found all instances of
save_char and then changed the ones that I have annotated:

Searching for 'save_char'...
C:\circle\src\act.other.c(116):      save_char(ch, loadroom);
C:\circle\src\act.other.c(146):  save_char(ch, ch->in_room); //changed from
NOWHERE BV 022400
C:\circle\src\act.wizard.c(1360):  save_char(victim, ch-
>in_room); //changed from NOWHERE 022400 BV
C:\circle\src\act.wizard.c(1955):    save_char(vict, ch-
>in_room); //changed from NOWHERE 022400 BV
C:\circle\src\act.wizard.c(2658):      save_char(vict, ch-
>in_room); //changed from NOWHERE 022400 BV
C:\circle\src\class.c(1584):  save_char(ch, ch->in_room); //changed from
NOWHERE 022400 BV
C:\circle\src\comm.c(1824): save_char(d->character, ch-
>in_room); //changed from NOWHERE 022400 BV
C:\circle\src\db.c(151):void save_char_vars(struct char_data *ch);
C:\circle\src\db.c(2097):void save_char(struct char_data * ch, room_rnum
load_room)
C:\circle\src\db.c(2118):  save_char_vars(ch);
C:\circle\src\db.h(115):void save_char(struct char_data *ch, room_rnum
load_room);
C:\circle\src\dg_scripts.c(3109):void save_char_vars(struct char_data *ch)
C:\circle\src\handler.c(915):    save_char(ch, ch->in_room); //changed from
NOWHERE 022400 BV
C:\circle\src\interpreter.c(1524): save_char(d->character, ch-
>in_room); //replaced NOWHERE 022400 BV
C:\circle\src\interpreter.c(1619):      save_char(d->character, ch-
>in_room); //replaced NOWHERE 022400 BV
C:\circle\src\interpreter.c(1661):    save_char(d->character, ch-
>in_room); //replaced NOWHERE 022400 BV
C:\circle\src\interpreter.c(1715):      save_char(d->character, ch-
>in_room); //replaced NOWHERE 022400 BV
C:\circle\src\interpreter.c(1816):      save_char(d->character, ch-
>in_room); //replaced NOWHERE 022400 BV
C:\circle\src\limits.c(378):      save_char(ch, ch->in_room); //replaced
NOWHERE 022400 BV
C:\circle\src\objsave.c(474):      save_char(ch, ch->in_room); //replaced
NOWHERE 022400 BV
C:\circle\src\objsave.c(1135):    save_char(ch, save_room);
C:\circle\src\objsave.c(1163): save_char(d->character, ch-
>in_room); //replaced NOWHERE 022400 BV
22 occurrence(s) have been found.


Compiling...
act.other.c
comm.c
c:\circle\src\comm.c(1824) : error C2065: 'ch' : undeclared identifier
c:\circle\src\comm.c(1824) : error C2223: left of '->in_room' must point to
struct/union
c:\circle\src\comm.c(1824) : error C2198: 'save_char' : too few actual
parameters
interpreter.c
c:\circle\src\interpreter.c(1524) : error C2065: 'ch' : undeclared
identifier
c:\circle\src\interpreter.c(1524) : error C2223: left of '->in_room' must
point to struct/union
c:\circle\src\interpreter.c(1524) : error C2198: 'save_char' : too few
actual parameters
c:\circle\src\interpreter.c(1619) : error C2223: left of '->in_room' must
point to struct/union
c:\circle\src\interpreter.c(1619) : error C2198: 'save_char' : too few
actual parameters
c:\circle\src\interpreter.c(1661) : error C2223: left of '->in_room' must
point to struct/union
c:\circle\src\interpreter.c(1661) : error C2198: 'save_char' : too few
actual parameters
c:\circle\src\interpreter.c(1715) : error C2223: left of '->in_room' must
point to struct/union
c:\circle\src\interpreter.c(1715) : error C2198: 'save_char' : too few
actual parameters
c:\circle\src\interpreter.c(1816) : error C2223: left of '->in_room' must
point to struct/union
c:\circle\src\interpreter.c(1816) : error C2198: 'save_char' : too few
actual parameters
objsave.c
c:\circle\src\objsave.c(1163) : error C2065: 'ch' : undeclared identifier
c:\circle\src\objsave.c(1163) : error C2223: left of '->in_room' must point
to struct/union
c:\circle\src\objsave.c(1163) : error C2198: 'save_char' : too few actual
parameters
Error executing cl.exe.

circle.exe - 17 error(s), 0 warning(s)


Any help would be appreciated.

Thanks,

Ben


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