At 22.16 21/04/98 -0400, you wrote: >> I'd love to see this code, as all I've managed to do is NOTHING! I >> can't get rid >> of those damn UNDEF's. This is how I solved the problem: I've made a function that erases UNDEFs from houses, after verifying that many of my problems were caused by not checking for MAX_GUESTS in do_house (adding players over the maximum number). As for undefs, this is my function House_undef_clean: int House_undef_clean() { int i,j,k,toret=0; for (i=0; i < num_of_houses; i++) { j=0; while (j < MIN(house_control[i].num_of_guests, MAX_GUESTS)) { if (!get_name_by_id(house_control[i].guests[j])) { for (k=j; k < MIN(house_control[i].num_of_guests, MAX_GUESTS)-1; k++) house_control[i].guests[k] = house_control[i].guests[k+1]; house_control[i].num_of_guests--; sprintf(buf, "SYSLOG: Rimozione UNDEF in casa di %s[id=%ld]", get_name_by_id(house_control[i].owner), house_control[i].owner); mudlog(buf, BRF, LVL_IMPL, TRUE); toret++; } else j++; } } House_save_control(); return toret; } I call it when booting houses (in house.c - House_boot, in the place of House_save_control()) and I've also added a command to hcontrol (hcontrol clean) that calls this function: void hcontrol_clean_house(struct char_data * ch) { int i; if ((i=House_undef_clean())) { sprintf(buf, "Cleaned %d <UNDEF> from houses.\r\n", i); send_to_char(buf, ch); } else send_to_char("Nothing to clean.\r\n", ch); } I hope this helps... Further comments are desired.... Carlo Mocci aka KABIR coder of DalilaMUD dalila.shopitaly.net --------------------------------------------------------------- | __ __ __ __ __ __ | | __ ( ) ___ ( ) __ ( \/ ) __ / _) __ ( ) | | / _) /__\ ( ,) )(__ / \ ) ( / \ ( (_ / _) )( | | ( (_ (_)(_) ) \ (____)( () ) (_/\/\_)( () ) \__)( (_ (__) | | \__) (_)\_) \__/ \__/ \__) | | | | mailto: mocci@tin.it | | http://volftp.tin.it/IT/IT/ITALIANI/MOCCI | | http://www.geocities.com/SunsetStrip/Palms/7010 | --------------------------------------------------------------- +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html | +------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/15/00 PST