Here is my version of a pseudo Xedit save all. I'm sure there is a better
way of doing this and I'd really appreciate any suggestions. I know it
can be better cause as it lags the mud for a couple seconds when you run
it, I know this is caued by my use of the for loop.
ACMD(do_allsave)
{
int i;
const char *type = NULL;
switch (subcmd) {
case SCMD_RSAVE: type = "room"; break;
case SCMD_ZSAVE: type = "zone"; break;
case SCMD_SSAVE: type = "shop"; break;
case SCMD_MSAVE: type = "mobile"; break;
case SCMD_OSAVE: type = "object"; break;
}
if (!type) {
send_to_char("Oops, I forgot what you wanted to save.\r\n", ch);
return;
}
for (i = 0; i <= top_of_zone_table; i++ ) {
switch (subcmd) {
case SCMD_RSAVE: redit_save_to_disk(i); break;
case SCMD_ZSAVE: zedit_save_to_disk(i); break;
case SCMD_OSAVE: oedit_save_to_disk(i); break;
case SCMD_MSAVE: medit_save_to_disk(i); break;
case SCMD_SSAVE: sedit_save_to_disk(i); break;
}
}
mudlogf(CMP, MAX(LVL_BUILD, GET_INVIS_LEV(ch)), TRUE,
"OLC: %s saves %s info for every zone.", GET_NAME(ch), type);
sprintf(buf, "Saving all %ss in every zone.\r\n", type);
send_to_char(buf, ch);
}
Chris Powell * I don't have bugs, I have * I don't crash, I
http://patch.gator.net * randomly developed features * have random reboots
+------------------------------------------------------------+
| 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