Ok, here it is... the function needs to be called from somewhere in db.c, I put it just after the line index_boot(DB_BOOT_OBJ); with a relevant log output. The only other things you need to add are 2 lines in objsave.c, one where it is extract a chars eq as he rents and another where he's entering game from rent. I think that's about everything... Free. ______________________________________________________________________________ void search_rent_files(void) /* Free '94 for UnknownMud */ { struct char_file_u tmp_player; char fname[MAX_INPUT_LENGTH]; struct obj_file_elem tmp_object; FILE *pfile, *rfile; /* get a player name from player file */ if (!(pfile = fopen(PLAYER_FILE, "r"))) { perror("error opening playerfile"); exit(); } while (!(feof(pfile))) { fread(&tmp_player, sizeof(struct char_file_u), 1, pfile); /* get filename of player's rent file */ if (!get_filename(tmp_player.name, fname, CRASH_FILE)) { perror("getting rentfile name for player"); exit(); } if(!(rfile = fopen(fname, "r"))) { sprintf(buf, "%s has no rent file.", tmp_player.name); /* log(buf); */ } else /* scan through objects in rent file, adjusting obj_index */ { fseek(rfile, sizeof(struct rent_info), 1); while (!(feof(rfile))) { fread(&tmp_object, sizeof(struct obj_file_elem), 1, rfile); obj_index[real_object(tmp_object.item_number)].number++; } fclose(rfile); } } fclose(pfile); }
This archive was generated by hypermail 2b30 : 12/07/00 PST