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

Reply via email to