La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 09/05/2024 20:48:43


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Yan the salor
Seigneur
Inscrit le: 03 Oct 2004
Messages: 151
Répondre en citant
Posté le : 18/04/2006 12:17:49 Sujet du message : Faire avancer le temps

Je cherche un moyen avec une baguette ou autre de faire avancer le temps d'une heure à chaque utilisation.
J'ai crée ma baguette avec pouvoir unique, mais pour le script je sèche...
J'ai essayé la fonction "settime" mais ça met à l'heure indiquée et ne fait pas avancer d'une heure
Help Svp
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Harmelyo
Chevalier
Inscrit le: 06 Oct 2005
Messages: 84
Répondre en citant
Posté le : 18/04/2006 16:24:55 Sujet du message :

S'il y a un settime, il y a sans doute un gettime aussi. utilise donc la seconde pour lui ajouter une heure puis utilise le set time avec ta variable modifiée.

Allez je suis d'humeur, je te donne les fonctions et une idée de comment bidouiller tout sa.

GetTimeHour Gets the current hour.
GetTimeMillisecond Gets the current millisecond.
GetTimeMinute Gets the current minute.
GetTimeSecond Gets the current second.

Avec les trois là tu récupère l'heure, il ne te reste qu'à incrémenter de 1 l'int retourné par GetTimeHour, en gérant les cas où l'heure est 23h00 ect ect...

Ensuite il ne te reste qu'à retourner tout sa avec settime.


Amuse toi bien
 
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 : 18/04/2006 16:56:09 Sujet du message :

Il te manques GetCalendarDay(), GetCalendarMonth(), GetCalendarYear(), et SetCalendar();

Avec tout ça tu es paré !
 
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 : 18/04/2006 18:17:07 Sujet du message :

(quoique en réfléchissant les SetCalendar machin y en a pas besoin pour faire avancer d'une heure, il fait le saut de jour automatiquement)
 
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 : 13/06/2006 12:03:47 Sujet du message :

salut

moi j'aurais dans l'idée de faire ça (pour un objet dm perso) par dialogue, genre je clique sur "avancer l'heure", et un autre dialogue qui me dit donc "quelle heure ?"
- 00h
- 01h
- 02h
etc etc

et à chaque fois, ça avance l'heure à celle sélectionnée.

la question que je me pose serait donc : comment faire ?

merci d'avance ^^
_________________
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
 
Black Knight
Grand Maître Chanteur du Conseil
Inscrit le: 27 Oct 2005
Messages: 1031
Localisation: Fin fond du trou du cul du monde
Répondre en citant
Posté le : 13/06/2006 18:43:20 Sujet du message :

Avancé l'heure réelle ou avancé l'heure du jeu? si c'est réelle faut faire gaff que GetTimeHour() = 2 (par exemple) = 4 minutes en vrai.
_________________
[http]
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Semcatala
Grand Sage du Conseil
Inscrit le: 20 Jan 2004
Messages: 950
Répondre en citant
Posté le : 13/06/2006 18:57:58 Sujet du message :

tu ne peux pas " récupérer " l'heure réelle de notre réalité.

La seule heure que tu puisse récupérer c'est celle du jeu , a moins de régler 1 heure du jeu = 60 minutes réelles , et de lancer ton mod avec comme heure de départ l'heure réelle qu'il y a au même moment.


donc tu fais un :

NWScript :


int heure = GetTimeHour(tonmodule,blablabla) ;

heure = heure+1;

SetTimehour(heure);

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.


et c'est tout !

1/3 du script sera consacré au "void main " et aux parenthéses.
_________________
Adresse du forum de mon module : Quetes et Legendes
" La ruse doit être employée pour faire croire que l'on est où l'on est pas, que l'on veut ce qu'on ne veut pas. " CdG
" La véritable école du Commandement est la culture générale. " CdG
" Une société prête à sacrifier un peu de liberté contre un peu de sécurité ne mérite ni l'une ni l'autre et finit par perdre les deux. " B.F
" La gloire se donne seulement à ceux qui l'ont toujours rêvée. " CdG
" La fin de l'espoir est le commencement de la mort. " CdG
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Ivellios
Légende vivante
Inscrit le: 25 Jan 2005
Messages: 447
Localisation: Poitiers
Répondre en citant
Posté le : 13/06/2006 20:03:03 Sujet du message :

Donc déjà si c'est l'heure réelle voir ce [post].

Si ce n'est pas l'heure réelle, donc celle du jeu l'idée de Semcatala est à moitié juste, il faut vérifier aussi si on est pas a 23h, car si on avance d'une heure on change de jour, si ce jour est le dernier du mois on change de mois, si ce mois est le dernier de l'année on change d'année ^^, sauf si le jeu gère le tout j'ai jamais essayé.
_________________
Scripts, systèmes, fonctions,... c'est par ici...
Pyjama pour castor, une vocation, un avenir sûr
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger Ignorer l'utilisateur
 
Sith Vicious
Grand Sage du Conseil
Inscrit le: 19 Oct 2005
Messages: 693
Répondre en citant
Posté le : 13/06/2006 22:07:36 Sujet du message :

Oui le jeu change le jour et le mois etc.

D'ailleurs c'est un truc à savoir pour les persistants, si il y a une sauvegarde de la date, soit mettre l'heure de départ (propriétés du module) à 0 ou bien changer l'heure avant la date. Sinon si l'heure de départ est 18h, et que l'heure enregistrée est 2 heures, le jeu va passer au lendemain.
 
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 : 13/06/2006 22:15:35 Sujet du message :

lol voui c'est dans l'heure du jeu Wink

merci pour le script, mais malheureusement je ne saurais pas le compléter moi même je pense Crying or Very sad
Quelqu'un pourrait m'aider svp ?

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 : 14/06/2006 02:05:18 Sujet du message :

Ben Semcatala t'as à peu près tout donné pour avancer l'heure d'une heure (sauf qu'il n'y a pas de paramètres à GetTimeHour() mais c'est un détail).

Sinon en passant par dialogue, c'est encore plus simple (sauf qu'il faut un dialogue à 24 choix arf), ça donne :
NWScript :

void main()
{
SetTime(15,0,0,0);
}
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.


Et pour avancer l'heure de exactement nHeures c'est :
NWScript :

void PlusHour(int nHeures = 1)
{
int nHour = GetTimeHour();
int nMinute = GetTimeMinute();
int nSec = GetTimeSecond();
int nMil = GetTimeMillisecond();

nHour+=nHeures;
SetTime(nHour,nMinute,nSec,nMil);
}
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.

là si il est 2heures 28 et que nHeures = 10, il sera exactement 12 heures 28 après.

En revanche il est impossible de remonter dans le temps (enfin je crois jamais testé, mais un SetDate avec une date anterieure je crois que ça ne marche pas).
 
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 : 14/06/2006 16:14:21 Sujet du message :

merci beaucoup Smile

en revanche, je comprends mal le second. pas de void main ?
_________________
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 : 14/06/2006 17:07:32 Sujet du message :

Si si tu veux. Là c'est une fonction qui peut-être mise dans une biblio ou directement dans le script par exemple :

NWScript :

void PlusHour(int nHeures = 1)
{
int nHour = GetTimeHour();
int nMinute = GetTimeMinute();
int nSec = GetTimeSecond();
int nMil = GetTimeMillisecond();

nHour+=nHeures;
SetTime(nHour,nMinute,nSec,nMil);
}


vois main()
{
PlusHour(2);
}
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.


pour faire avancer l'heure de 2 heures par exemple.
 
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 : 15/06/2006 23:36:06 Sujet du message :

merci beaucoup Smile
_________________
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
 
L'Erudit
Seigneur
Inscrit le: 26 Oct 2005
Messages: 167
Répondre en citant
Posté le : 16/06/2006 14:33:18 Sujet du message :


Sith Vicious a écrit :
NWScript :
vois main()
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.

"vois main" ou "regardes pied" Laughing ?
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé 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 29.364ms