La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 23/11/2024 18:26:22


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
warpShadow
Légende vivante
Inscrit le: 01 Fév 2005
Messages: 363
Localisation: Perpignan
Répondre en citant
Posté le : 23/07/2006 20:34:47 Sujet du message : persistance de la date

Salut à tous

Voilà, j'ai un probleme de script...
je vous montre :

OnModuleLoad
NWScript :
void main()
{
    string sCampaign = GetName(GetModule());
    int nDay = GetCampaignInt(sCampaign, "DAY");
    int nMonth = GetCampaignInt(sCampaign, "MONTH");
    int nYear = GetCampaignInt(sCampaign, "YEAR");
    SetCalendar(nYear,nMonth,nDay);

    int nHour = GetCampaignInt (sCampaign, "HOUR");
    int nMinute = GetCampaignInt (sCampaign, "MINUTE");
    int nSecond = GetCampaignInt (sCampaign, "SECOND");
    int nMillisecond = GetCampaignInt (sCampaign, "MILLISECOND");
    SetTime(nHour,nMinute,nSecond, nMillisecond);
}
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


Ce script permet d'aller chercher la date et l'heure sauvegardée dans la bdd

Voyons maintenant comment on l'y inscrit

Sur OnRest, OnClientQuit, OnClient Enter, OnRespawn...
NWScript :
void main()
{
    object oPC = GetExitingObject();

    string sCampaign = GetName(GetModule());
    int nDay = GetCalendarDay();
    int nMonth = GetCalendarMonth();
    int nYear = GetCalendarYear();
    int nHour = GetCampaignInt (sCampaign, "HOUR");
    int nMinute = GetCampaignInt (sCampaign, "MINUTE");
    int nSecond = GetCampaignInt (sCampaign, "SECOND");
    int nMillisecond = GetCampaignInt (sCampaign, "MILLISECOND");

    SetCampaignInt(sCampaign,"DAY",nDay);
    SetCampaignInt(sCampaign,"MONTH",nMonth);
    SetCampaignInt(sCampaign,"YEAR", nYear);
    SetCampaignInt(sCampaign,"HOUR", nHour);
    SetCampaignInt(sCampaign,"MINUTE", nMinute);
    SetCampaignInt(sCampaign,"SECOND", nSecond);
    SetCampaignInt(sCampaign,"MILLISECOND", nMillisecond);
}
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


Ca se compile, ça me parait tout bon... pourtant, quand je relance le mod, la date a été sauvegardéé, mois et jour, sauf que l'heure non, et du coup la date est avancé au minuit suivant (donc on avance d'un jour).

Je ne comprends pas pourquoi.

Merci de vos eclarcicements.

+++
_________________
Asphia
Module RP Médiéval Fantastique pour Neverwiner Nights
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
-MeteZ-
Seigneur
Inscrit le: 19 Mar 2006
Messages: 205
Localisation: Région Parisienne (95)
Répondre en citant
Posté le : 23/07/2006 22:52:12 Sujet du message :

Le script me parait bon, mais je pense que ton problème vient qu'il n'y a pas de valeurs par défaut. Je te conseille de démarrer le module une fois (pour que la DB se crée) et de le redemarrer encore une fois.

Mais je sais pas trop mais perso je m'y serais pas pris comme ca pour le script Smile.
J'aurai fait un fichier .2da avec un petit log qui traite les données.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Sith Vicious
Grand Sage du Conseil
Inscrit le: 19 Oct 2005
Messages: 693
Répondre en citant
Posté le : 23/07/2006 23:06:40 Sujet du message :

Ben heu soit t'as mal recopié soit t'es fatigué ^^.

Dans ton script OnRest OnMachin OnTruc :

NWScript :

///
int nHour = GetCampaignInt (sCampaign, "HOUR");
///
SetCampaignInt(sCampaign,"HOUR", nHour); // !!!! (et c'est pareil pour minutes et secondes et milli)
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


Donc ben tu stockes ce qu'il y a déjà, donc ça risque pas de changer, comme la première fois la variable existait pas ça t'as mis 0, et ensuite tu remets à 0 (minuit) à chaque fois. Comme ton heure de départ doit pas être à 0 (et tu dois l'y mettre, c'est indispensable pour pas avoir de saut de date lors de la remise à l'heure) ben t'avances d'un jour...

>MeteZ : Un 2da pour la date ??? Pour le post où le gars (je sais plus qui c'était) voulait la date réelle je comprends, mais là tu penses pas que c'est se compliquer la vie ??
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
warpShadow
Légende vivante
Inscrit le: 01 Fév 2005
Messages: 363
Localisation: Perpignan
Répondre en citant
Posté le : 23/07/2006 23:27:09 Sujet du message :

et donc il faudrait faire quoi ?Embarassed

merci ++
_________________
Asphia
Module RP Médiéval Fantastique pour Neverwiner Nights
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Sith Vicious
Grand Sage du Conseil
Inscrit le: 19 Oct 2005
Messages: 693
Répondre en citant
Posté le : 24/07/2006 00:03:26 Sujet du message :

Yop Smile

Ben à première vue je pense que :

NWScript :

int nHour = GetTimeHour();
int nMinute = GetTimeMinute();
int nSecond = GetTimeSecond();
int nMillisecond = GetTimeMilliseconds();
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


à la place de tes définitions serait pas mal ^^ (2° script)

Et mettre l'heure de départ du module à 0.

@+
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
warpShadow
Légende vivante
Inscrit le: 01 Fév 2005
Messages: 363
Localisation: Perpignan
Répondre en citant
Posté le : 24/07/2006 00:25:47 Sujet du message :

...

maintenant que tu me le dis, l'erreur me parait evidente, je lui dit d'enregistrer n'importe quoi là...

je serais pas mauvais en script si je réfléchissais par moment.

enfin, merci ^^
_________________
Asphia
Module RP Médiéval Fantastique pour Neverwiner Nights
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Montrer les messages depuis :
Page 1 sur 1 ¤


Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Sauter vers:
FAQ | Rechercher | Liste des Membres | Groupes d'utilisateurs | S'enregistrer | Profil | Se connecter pour vérifier ses messages privés | Connexion
Powered by phpBB 2.* [m] © 2001, 2002 phpBB Group
Theme rewritten in beautiful XHTML code by Baldurien.
Thème "La Bibliothèque de Neverwinter" crée par Kruger
Traduction par : phpBB-fr.com
Page generated in 55.273ms