generated from Jaysyn/ModuleTemplate
Initial commit
Initial commit
This commit is contained in:
78
_module/nss/eds_include.nss
Normal file
78
_module/nss/eds_include.nss
Normal file
@@ -0,0 +1,78 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Name: eds_include
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
ENHANCED DELAY SYSTEM -
|
||||
Version: 1.0
|
||||
|
||||
This system was developed, in part, to allow
|
||||
for long delays without the lag and CPU
|
||||
usage associated with the DelayCommand
|
||||
function. Basically, this script creates
|
||||
a timestamp of the current time of the
|
||||
delay, plus the delay itself. Then, when
|
||||
the check delay function is called, it
|
||||
computes the current time with when the
|
||||
delay should end. If the current time >=
|
||||
to the original timestamp, the delay has
|
||||
passed.
|
||||
|
||||
Note: This is a check-based system, and is
|
||||
not real-time. The normal DelayCommand
|
||||
function will perform actions as soon
|
||||
as the delay is finished. With this
|
||||
system, actions are performed after a
|
||||
check has been made to see if the delay
|
||||
has finished. This system is not meant
|
||||
to completely replace the DelayCommand,
|
||||
only where it's use is not needed.
|
||||
|
||||
For a clear example on how to implement this
|
||||
system, refer to the test module included
|
||||
in the download package.
|
||||
|
||||
The following variable needs to be defined to
|
||||
properly calculate delays using this system.
|
||||
Module Properties -> Advanced -> Minutes/Hour
|
||||
value.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Adam Walenga
|
||||
//:: Created On: September 9th, 2004
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
//#include "farm_include"
|
||||
|
||||
//EDS_SetDelay -
|
||||
//Sets a new delay for the specified object.
|
||||
// oObject: This is the object used to store the delay.
|
||||
// sVar: This is the variable name to refer to the delay with.
|
||||
// fDelay: This is the delay to apply.
|
||||
void EDS_SetDelay (object oObject, string sVar, float fDelay)
|
||||
{
|
||||
//=========================== CALCULATE TIME =========================\\
|
||||
int iTotal = (GetCalendarMonth() * 2592000) + (GetCalendarDay() * 86400) +
|
||||
(GetTimeHour() * (MINUTES_PER_HOUR * 60)) + (GetTimeMinute() * 60) +
|
||||
GetTimeSecond() + FloatToInt (fDelay);
|
||||
|
||||
//======================= STORE TIME VARIABLES =======================\\
|
||||
SetLocalInt (oObject, sVar + "_Year", GetCalendarYear());
|
||||
SetLocalInt (oObject, sVar + "_Time", iTotal);
|
||||
}
|
||||
//EDS_CheckDelay -
|
||||
//Checks the current delay, and returns TRUE or FALSE based on whether or not
|
||||
//the delay time has passed.
|
||||
// oObject: This is the object with the stored delay saved to it.
|
||||
// sVar: This is the variable name for the specific delay.
|
||||
int EDS_CheckDelay (object oObject, string sVar)
|
||||
{
|
||||
//=========================== CALCULATE TIME =========================\\
|
||||
int iTotal = ((GetCalendarYear() - GetLocalInt (oObject, sVar + "_Year")) *
|
||||
31104000) + (GetCalendarMonth() * 2592000) + (GetCalendarDay() *
|
||||
86400) + (GetTimeHour() * (MINUTES_PER_HOUR * 60)) + (GetTimeMinute() * 60) + GetTimeSecond();
|
||||
|
||||
return (iTotal >= GetLocalInt (oObject, sVar + "_Time"));
|
||||
}
|
||||
|
||||
//void main (){}
|
||||
Reference in New Issue
Block a user