It may help if you told us why you were checking followers for the
finger function, and in what cases get_char_offline returns a false
value, since you check for that at the beginning of check_followers, I'm
assuming it checks to see if the char is logged in and if so, returns
false... and what your unload_char function actually does, because if
it's dumping the eq list then it sounds like something's just not
written write in it... and just out of curiosity, why are you using that
unload_char function instead of something like
save_char_obj/extract_char?  And since you're only loading the player
for a finger command, the save_char_obj wouldn't even be necessary, you
could just load the character, format the output and send to the
fingerer, and extract the character...

Richard Lindsey 

-----Original Message-----
From: Valnir [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, December 15, 2004 2:50 PM
To: [email protected]
Subject: Characters loosing EQ.

Here is a good question for you guys.

We have a problem where when a character is loaded via
"get_char_offline" 
and then another function ALSO gets the same char online/offline and
does 
"unload_char", it dumps all the eq, then re-saves and unloads the char
at 
the end of the prior function.

Example.

void do_finger ( CHAR_DATA *ch, char *argument )
{
    CHAR_DATA *victim;

    victim = get_char_offline( argument );
    check_followers( victim );

    // OUTPUT HERE

    unload_char( victim );
    return;
}

void check_followers( CHAR_DATA *ch )
{
    if ( !get_char_offline( follower ) )
        blah blah blah.

    unload_char( follower );
    return;
}

In "get_char_offline" the system uses "load_char_obj" and in
"load_char_obj" 
it checks for a valid liege...... by "get_char_offline" and then 
"unload_char".

So we are unloading the char, before we're really done with it.. did I
lose 
you?

I am sure SOMEONE has run across this issue.

- Valnir

-- 
ROM mailing list
[email protected]
http://www.rom.org/cgi-bin/mailman/listinfo/rom

Reply via email to