Main
Resources
iDirt has a problem with it's system log -- when you run the "fixlog" script to clear out the log, iDirt loses it's connection to the log file. The only way in stock iDirt to reconnect is to shutdown the MUD and start it up again. That's clearly not the best solution and any coder ought to be able to code a solution to it. Here's mine.

I added a new command to the game called "resetlog" which reconnects to the system file. You've got to make the appropriate changes to src/parse.c and data/verbs.src, of course. I added this new function to my wizard.c file with a function declaration in wizard.h.

void resetlogcom(long player) {
    if (!ptstflg (player, PFL_SYSLOG)) {
        erreval();
        return;
    }
    sendf(player,"Resetting the log file connection.\n");
    open_logfile(LOG_FILE, False);
    mudlog("LOG: %s reset the log file connection.", pname(player));
}

The function checks to see if you can actually see the system log; anyone who can is allowed to run the command. It then reopens the log file and writes this information into the log.