----- Original Message ----- From: "Daniel A. Koepke" <dkoepke@CIRCLEMUD.ORG> > I'm guessing (I don't really know) that your problem is that the > xxx_save_to_disk() functions expect a zone real number, rather than the > virtual number you've passed.... That is correct, although I noticed some of the declarations are like this one: void redit_save_to_disk(zone_vnum zone_num); Obviously if pass an rnum instead of a vnum there is no compiler error, but this is misleading to say the least, since an rnum is definitely required. > ACMD(do_saveall) -- snip -- > /* No arguments: write all zones. */ > if (!*arg) { > for (rzone = 0; rzone <= top_of_zone_table; rzone++) { > save_objects(rzone); > save_mobiles(rzone); > save_zone(rzone); > save_rooms(rzone); > save_shops(rzone); > } > > sprintf(buf, "Saved %d zones.\r\n", (int) top_of_zone_table+1); > send_to_char(buf, ch); > return; > } This chunk of code could call the save_all() function in genolc.c, which walks the save list and saves everything in it. It would be a bit more efficient, and it wouldn't mess up the modification times of the files that are not in need of saving. If you want the message at the end, you may want to modify save_all to return the actual number of zones saved. Mike -- +---------------------------------------------------------------+ | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html | +---------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/06/01 PST