30 lines
783 B
Plaintext
30 lines
783 B
Plaintext
|
|
#include "dmfi_db_inc"
|
|
|
|
const int FLUSH_INTERVAL = 30; // seconds between database flushes to disk
|
|
|
|
void main()
|
|
{
|
|
// see if database is "dirty" (changed since last flush)
|
|
if (IsDMFIPersistentDataDirty("dmfi"))
|
|
{
|
|
// it is, so check if time to flush database
|
|
object oMod = GetModule();
|
|
int iTick = GetLocalInt(oMod, "DMFI_MODULE_HEARTBEAT_TICK");
|
|
int iSecsSinceFlush = iTick * 6;
|
|
if (iSecsSinceFlush >= FLUSH_INTERVAL)
|
|
{
|
|
FlushDMFIPersistentData("dmfi");
|
|
iTick = 0;
|
|
}
|
|
else
|
|
{
|
|
iTick++;
|
|
}
|
|
SetLocalInt(oMod, "DMFI_MODULE_HEARTBEAT_TICK", iTick);
|
|
}
|
|
|
|
// do any other module OnHeartbeat work here
|
|
ExecuteScript("x3_mod_def_hb", OBJECT_SELF);
|
|
}
|