Hello, pour ceux qui désirent que leur module se réinitialise à la date exacte à laquelle le serveur à effectué un redémarrage, ou un plantage
, je mets à leur disposition les deux scripts que vous trouverez ci-dessous.
A mettre dans le OnHeartbeat de votre module :
//::///////////////////////////////////////////////
//:: Name on module heartbeat
//:: FileName on_modulehb
//:://////////////////////////////////////////////
//:: Created By: Elvorfirimathrel
//:: Created On: 19 Juin 2003
//:://////////////////////////////////////////////
void main()
{
// declaration des variables
int nHour, nMinute, nSecond, nMillisecond, nCalendarYear, nCalendarMonth, nCalendarDay;
// affectation de valeurs aux variable
nHour = GetTimeHour();
nMinute = GetTimeMinute();
nSecond = GetTimeSecond();
nMillisecond = GetTimeMillisecond();
nCalendarDay = GetCalendarDay();
nCalendarYear = GetCalendarYear();
nCalendarMonth = GetCalendarMonth();
// stockage de la valeur de chaques variables dans la base de donnees "calendar"
SetCampaignInt("calendar", "HOUR", nHour);
SetCampaignInt("calendar", "MINUTE", nMinute);
SetCampaignInt("calendar", "SECOND", nSecond);
SetCampaignInt("calendar", "MILLISECOND", nMillisecond);
SetCampaignInt("calendar", "CALENDARDAY", nCalendarDay);
SetCampaignInt("calendar", "CALENDARYEAR", nCalendarYear);
SetCampaignInt("calendar", "CALENDARMONTH", nCalendarMonth);
}
A mettre dans le OnModuleLoad de votre module :
//::///////////////////////////////////////////////
//:: Name on module load
//:: FileName on_moduleload
//:://////////////////////////////////////////////
//:: Created By: Elvorfirimathrel
//:: Created On: 19 Juin 2003
//:://////////////////////////////////////////////
void main()
{
// declaration des variables
int nHour, nMinute, nSecond, nMillisecond, nCalendarYear, nCalendarMonth, nCalendarDay;
// recuperation des valeurs stockees dans la base de donnees et affectation de ces valeurs aux variables
nHour = GetCampaignInt("calendar", "HOUR");
nMinute = GetCampaignInt("calendar", "MINUTE");
nSecond = GetCampaignInt("calendar", "SECOND");
nMillisecond = GetCampaignInt("calendar", "MILLISECOND");
nCalendarDay = GetCampaignInt("calendar", "CALENDARDAY");
nCalendarYear = GetCampaignInt("calendar", "CALENDARYEAR");
nCalendarMonth= GetCampaignInt("calendar", "CALENDARMONTH");
// reajustement de l'heure et de la date
SetTime( nHour, nMinute, nSecond, nMillisecond);
SetCalendar(nCalendarYear, nCalendarMonth, nCalendarDay);
}
ATTENTION : pour fonctionner ce script nécessite que votre logiciel Neverwinter Nights soit mis à jour en version 1.30, de plus, je déconseille fortement l'implémentation du premier script dans l'événement OnHeartbeat, je ne l'ai mis ici qu'à titre d'exemple. Il serait plus judicieux de créer un "item" appelant ce script et de fournir cet "item" à vos DM.
PS: si les scripts comportent quelques défauts, n'hésitez pas à me le faire savoir, je l'ai fait avec une paupière fermée *baille*