La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
FAQ
Rechercher
Liste des Membres
Groupes d'utilisateurs
S'enregistrer Se connecter pour vérifier ses messages privés Connexion
S'enregistrer Se connecter pour vérifier ses messages privés Connexion
La date/heure actuelle est 23/11/2024 13:55:12
La Bibliothèque de Neverwinter Nights Index du Forum »
La Bibliothèque Binaire du NWScript - Neverwinter Nights
Voir le sujet précédent ¤ Voir le sujet suivant | |
---|---|
Auteur | Message |
Baldurien L'homme qui chutait sur le macadam Messages: 14066 Localisation: Quadran Alpha |
Posté le : 22/03/2003 11:22:04 Sujet du message : Script de base: partie entière et décimale d'un flottant ?
Bon, ça va vous paraître con, mais j'en ai besoin:
j'utilise l'événement OnPlayerRested qui démarre quand on clique sur le bouton repos, et finit quand on annule le repos ou quand le repos se finit (logique!) Quand le repos commence, je stocke le nombre de points de vie du personnage dans une variable "i". Quand le repos se finit ou est interrompu, je vérifie que cette variable est définie, et si oui , je fais le calcul suivant: (avec j points de vie du perso après repos) Heure écoulée = 8*((j - i)/i); Jusque là rien de sorcier: sauf que Neverwinter me broute le chou pour des questions de flottant (je peux mettre 8.0 aussi) et il me semble bien qu'il calcule mal vu que par exemple: Heure écoulée = 8*((100-30)/100) = 2.4 Ce qui fonctionne mal dans le jeu (me semble, me rappelle plus, de plus, ce calcul je sais le faire, il faut juste convertir les variables en flottants avant vu que nwn n'a pas l'air de faire les conversions implicites. Le truc, c'est que 2.4 indique qu'il y a aussi des minutes qui se sont écoulées et donc je dois faire le calcul suivant: Minute écoulée = PartieDecimaleDe(2.4) * 60; Minute écoulée = PartieEntièreDeMinute écoulée ); avec PartieDecimaleDe(2.4) = 0.4 Aussi, je dois retirer cette même partie décimale car par exemple 2.6 la conversion en entier de 2.6 me donnerait 3, alors que seulement deux heures et 0.6*60 minutes se sont écoulées... Voilà. Si quelqu'un se sent capable de me répondre... Edit > j'ai oublié la question : comment simuler les fonctions PartiesEntieres et PartieDecimales? Edit Bis > dans mon cas, il suffisait simplement de faire Minutes Ecoulées := 8.0 * 60.0 * ((j - i)/i); Et d'utiliser la fonction SetTime qui corrige les excès de manière logique. Néanmoins, ça m'aiderait d'avoir des fonctions floor (arrondi à l'entier inférieur), ceil, round ... => PartieEntièreDe( x ) <=> floor( x ); => PartieDécimaleDe( x ) <=> x - floor( x ); En gros, me manque que cette fonction d'arrondissement... _________________ #nwnights-fr @ irc.darkmyst.org TitanQuest-FR |
Revenir en haut | |
Jedaï Chevalier Messages: 89 Localisation: Le Havre, ville pourrie |
Ah j'avais pas vu ça. Si c'est pour des valeurs positives, alors tout va bien, FloatToInt() et ma fonction iront très bien.
|
Revenir en haut | |
Baldurien L'homme qui chutait sur le macadam Messages: 14066 Localisation: Quadran Alpha |
|
Revenir en haut | |
La Bibliothèque de Neverwinter Nights Index du Forum »
La Bibliothèque Binaire du NWScript - Neverwinter Nights
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