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