Further file organization
Further file organization
This commit is contained in:
55
nwn/nwnprc/trunk/scripts/prc_onheartbeat.nss
Normal file
55
nwn/nwnprc/trunk/scripts/prc_onheartbeat.nss
Normal file
@@ -0,0 +1,55 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: OnHeartbeat eventscript
|
||||
//:: prc_onheartbeat
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "prc_alterations"
|
||||
#include "prc_inc_leadersh"
|
||||
|
||||
void main()
|
||||
{
|
||||
// Item creation code
|
||||
ExecuteScript("hd_o0_heartbeat", OBJECT_SELF);
|
||||
|
||||
int bBiowareDBCache = GetPRCSwitch(PRC_USE_BIOWARE_DATABASE);
|
||||
|
||||
if(bBiowareDBCache)
|
||||
{
|
||||
//decide if to cache bioware 2da yet
|
||||
object oModule = GetModule();
|
||||
if(GetLocalInt(oModule, "Bioware2dacacheCount") >= bBiowareDBCache)
|
||||
DeleteLocalInt(oModule, "Bioware2dacacheCount");
|
||||
else
|
||||
{
|
||||
SetLocalInt(oModule, "Bioware2dacacheCount", GetLocalInt(oModule, "Bioware2dacacheCount") + 1);
|
||||
bBiowareDBCache = FALSE;
|
||||
}
|
||||
if(bBiowareDBCache)
|
||||
{
|
||||
//due to biowares piss-poor database coding, you have to destroy the old database before storing
|
||||
//the object
|
||||
//If you dont, the dataabse will bloat infinitely because when overriting an existing
|
||||
//database entry really marks the old entry as "deleted" ( but doesnt actually remove it)
|
||||
//and creates a new entry instead.
|
||||
|
||||
if(DEBUG) DoDebug ("Storing Bioware2DACache");
|
||||
else WriteTimestampedLogEntry("Storing Bioware2DACache");
|
||||
string sDBName = GetBiowareDBName();
|
||||
DestroyCampaignDatabase(sDBName);
|
||||
object o2daCache = GetObjectByTag("Bioware2DACache");
|
||||
// Rebuild the DB
|
||||
StoreCampaignObject(sDBName, "CacheChest", o2daCache);
|
||||
SetCampaignString(sDBName, "version", PRC_VERSION);
|
||||
SetCampaignString(sDBName, "PRC_2DA_Cache_Fingerprint", GetLocalString(oModule, "PRC_2DA_Cache_Fingerprint"));
|
||||
if(DEBUG) DoDebug ("Finished storing Bioware2DACache");
|
||||
else WriteTimestampedLogEntry("Finished storing Bioware2DACache");
|
||||
|
||||
// Updated last access fingerprint
|
||||
SetLocalString(oModule, "PRC_2DA_Cache_Fingerprint_LastAccessed", GetLocalString(oModule, "PRC_2DA_Cache_Fingerprint"));
|
||||
}
|
||||
}
|
||||
|
||||
// Player HB code moved to prc_onhb_indiv
|
||||
// Removes a LOT of load from teh Module HB
|
||||
// and should prevent TMI problems.
|
||||
}
|
Reference in New Issue
Block a user