Plugins/Timers

Posted by Dave on Fri 15 Nov 2002 08:33 PM — 2 posts, 13,115 views.

Australia #0
I've been writing a "logflip" plugin (closes/opens a new log file when the day changes), but am running into some problems.

The timer script subroutine is called immediately when the plugin is opened. This shouldn't happen, as it's a "fire at the time" timer. Now, because this is firing, it's setting the "fire at" to +24hrs of the CURRENT time, instead of the time I desire (on midnight).

I've tried ResetTimer()'ing at the end of subroutine to try to get it back in synch to no avail, however a few seconds later when I ResetTimer() in an info function, it does work.

Any ideas Nick?

Dave
Australia Forum Administrator #1
Hmmm - this has uncovered a can of worms.

First, the ResetAllTimers function incorrectly only reset world timers.

Second, when loading a plugin its timers were not reset, thus giving you the behaviour you are seeing.

This is fixed in 3.33, however for now I suggest adding a OnPluginInstall function, and doing a world.resettimer on that specific timer. That should fix it.