JeuxOnLineForumsPlusConnectés : 737 (sites) | 1239 (forums)Créer un compte
Forum jeux-vidéo>Neverwinter Nights
Maskado
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > Jour/Nuit (suite a un post d'Azrael) RSS
   
Répondre
Partager Outils Rechercher
Avatar de Iridian
Iridian
Roi
 
Avatar de Iridian
 

Jour/Nuit (suite a un post d'Azrael)

Citation:
CELA DIT, pour ton exemple, j'utiliserais plutôt les évenements récursifs, comme dans la plupart des cas, je trouve ca vraiment plus propre qu'un OnHeartBeat (j'ai entre autre crée l'évenement "OnHourPassed", ou encore "OnDay" et "OnNight" dans mon module, par utilisation de fonction récursives
Je profite de cette remarque pour poser cette question :
Comment detecter le passage du jour a la nuit ? (je ne parle pas de savoir si c'est le jour ou la nuit mais bien de detecter l'instant t)

Autre point, quelle heure est-il lorsqu'on lance un module ? Il y a une constante ? *a jamais fait attention*
Lien direct vers le message - Vieux
Avatar de Jaha Effect
Jaha Effect
Alpha & Oméga
 
Avatar de Jaha Effect
 
Re: Jour/Nuit (suite a un post d'Azrael)
Citation:
Provient du message de Iridian
Je profite de cette remarque pour poser cette question :
Comment detecter le passage du jour a la nuit ? (je ne parle pas de savoir si c'est le jour ou la nuit mais bien de detecter l'instant t)

Autre point, quelle heure est-il lorsqu'on lance un module ? Il y a une constante ? *a jamais fait attention*
Normalement tout ce gère dans les propriétés du module, tu peux régler toi même l'instant (t) et l'heure qu'il est quand tu lance le module, après suivant que tu gère ça dans ta persistance ou pas tu va voir dans les logs ou c'est toujours la même heure de départ et le même jour.

Jaha Effect
Lien direct vers le message - Vieux
Avatar de 'Az
'Az [P.H.]
Alpha & Oméga
 
Avatar de 'Az
 
OnModuleLoad :

Code PHP:
int nDayHour 6;
int nNightHour 18;

void OnDay();
void OnNight();

void main()
{
    
//code

    
int nTimeHour GetTimeHour();
    if(
GetIsDay()) DelayCommand(IntToFloat(nNightHour GetTimeHour()), OnNight());
    else 
DelayCommand(IntToFloat(24 nDayHour GetTimeHour()) * 3600.0fOnDay());
}

void OnDay()
{
    
//code

    
DelayCommand(IntToFloat(nNightHour nDayHour) * 3600.0fOnNight());
}

void OnNight()
{
    
//code

    
DelayCommand(IntToFloat(24 nDayHour nNightHour) * 3600.0fOnDay());

Les fDayHour et fNightHour sont les valeurs dans les propriétés avancées du module heure de l'aube et heure du crépuscule

EDIT : quelques chtites correction pour que le script passe au moins la compilation ^_^'
REDIT : encore quelques trucs de corrigés, pour faire plaisir a Jedai ^_^
Lien direct vers le message - Vieux
Avatar de Iridian
Iridian
Roi
 
Avatar de Iridian
 
Excelent, faillais y penser !
J'adopte.

Merci
Lien direct vers le message - Vieux
Avatar de talendil
talendil
Roi
 
Avatar de talendil
 
Code PHP:
void OnDay()
{
    
//code
    
DelayCommand(fNightHour fDayHourOnNight);
}

void OnNight()
{
    
//code
    
DelayCommand(fDayHour fNightHourOnDay);

J'imagine que tu les mets dans un include général, me trompe-je ?
Lien direct vers le message - Vieux
Avatar de 'Az
'Az [P.H.]
Alpha & Oméga
 
Avatar de 'Az
 
Bien la question se pose elle ? ^_^

j'ai un fichier include que j'ai fait spécialement pour les evenements supplémentaires (j'en ai quelques autres)
Lien direct vers le message - Vieux
Avatar de 'Az
'Az [P.H.]
Alpha & Oméga
 
Avatar de 'Az
 
bon j'ai édité le code si dessus, il était affreusement buggé (j'aurais du modifer discret, personne ne l'avais vu ^^)
Lien direct vers le message - Vieux
Avatar de Iridian
Iridian
Roi
 
Avatar de Iridian
 
Citation:
Provient du message de Azrael07
bon j'ai édité le code si dessus, il était affreusement buggé (j'aurais du modifer discret, personne ne l'avais vu ^^)
En effet je n'ai pas fait gaffe, faut dire aussi que mon patron ne veux toujours pas que j'installe NWN au taf ...
Lien direct vers le message - Vieux
Avatar de talendil
talendil
Roi
 
Avatar de talendil
 
Wink
remarque t'aurais pu tout aussi bien faire une seule conversion :
Code PHP:
float fTimeHour IntToFloat(GetTimeHour()); 
plutôt que 2...
Bon j'arrête de te titiller, parceque sérieusement j'ai encore pas mal de choses à apprendre avant de donner des leçons

HP : J'ai vu que tu cherchais un modeleur pour ton module ?
Je vais justement m'y mettre, j'ai déjà pas mal de pratique sur 3DS max 4 et je viens de faire l'acquisition de la version 5.
Est-ce que vous avez un truc à faire pour commencer, histoire que je me fasse les dents sur un truc utile ...(j'aime pas bosser pour rien)
Lien direct vers le message - Vieux
Avatar de 'Az
'Az [P.H.]
Alpha & Oméga
 
Avatar de 'Az
 
vi c'est vrai, mais en fait, la seule raison vient du fait que je préfère manipuler des int que des float, puis les constantes sont plus jolies en int ^_^
De toutes facon, pas grande différence en vitesse d'execution, passer une int en float prend vraiment rien du tout comme ressource.
Lien direct vers le message - Vieux
Avatar de Jedaï
Jedaï
Alpha & Oméga
 
Avatar de Jedaï
 
Peut-être, mais je suis pas sûr que des heures d'une seconde ça soit bien long....
Et je me demande aussi comment DelayCommand() réagit quand on lui demande de remonter dans le temps

Moi aussi j'avais fait un code comme ça pour des loups garous...

J'espère que tu vas nous donner une version corrigée.
Lien direct vers le message - Vieux
Avatar de 'Az
'Az [P.H.]
Alpha & Oméga
 
Avatar de 'Az
 
Mais euh......................

Jedaï il arrete pas de m'embeter

Toujours a trouver le petit détail qui va pas celui la ^_^

bon voila c'est REcorrigé
Lien direct vers le message - Vieux
Avatar de Gadjio
Gadjio
Alpha & Oméga
 
Avatar de Gadjio
 
Heuu, question bête, mais.. le temps d'un DelayCommand est vraiment le même que les heures du jeu ? Je crois pas hein...
A moins de se régler en 60min/h dans les propriétés du module, le DelayCommand est, sauf erreur, en temps réel et les nuits/jours sont en temps "horloge du jeu" (où les heures ne sont pas des heures..).
Ca marche ce script ? Je testerais bien mais j'ai pas le jeu sous la main.
Lien direct vers le message - Vieux
Avatar de eMRaistlin
eMRaistlin
Alpha & Oméga
 
Avatar de eMRaistlin
 
C'est convertit, mais c'est en fonction du reglage Standart, je crois.


Le mieux, ce serait quand meme d'utiliser HoursToSecondes(), non ?
Lien direct vers le message - Vieux
Avatar de Gadjio
Gadjio
Alpha & Oméga
 
Avatar de Gadjio
 
Oui, voilà, à la place du * 3600.0 il faudrait un HoursToSeconds()..
Je vais le refaire avec un ExecuteScript pour passer l'événement en paramètre, et une version qui fait un SignalEvent. On peut aussi éviter d'avoir à écrire en dur dans le code les variables d'aube et de crépuscule, il suffit de les chercher par un test horaire. Si ça intéresse quelqu'un ou si j'y repense, je posterai ça ici.
Lien direct vers le message - Vieux
Répondre
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > Jour/Nuit (suite a un post d'Azrael)
   

Outils Rechercher
Rechercher:

Recherche avancée

Les vidéos de Neverwinter Nights RSS
  • Aucune vidéo pour le moment...
Thème visuel : Fuseau horaire GMT +1. Il est actuellement 14h46.
   

© JeuxOnLine, le site des MMO, MMORPG et MOBA. Tous droits réservés. - Conditions générales d'utilisation - Conditions d'utilisation des forums - Traitement des données personnelles - ! Signaler un contenu illicite