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 31/01/2025 13:46:19
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 |
omega Grand Chevalier Messages: 116 |
encore moi, encore pour une question stupide ! voila : lors du repos, le personnage recupere tout ses pdv. Mais voila, dans le RPJ Donjons et dragons 3eme edition, le personnage ne recupere que son niveau (si il est niveau 3, il recupere que 3 pdv). Je voudrai que cela fasse pareil dans mon module ! Vous pouvez m'aider ? Merci a vous ! |
Revenir en haut | |
Tzeentsh Ecuyer Messages: 41 |
Ca m'interesse aussi beaucoup et j'ai déjà réfléchis à cette question. Je n'ai malheureusement pas trouvé de solution "propre". Le mieux, je pense, est d'infliger des dommages au pj lors du repos.
|
Revenir en haut | |
lendraste Grand Maître Chanteur du Conseil Messages: 1403 Localisation: Quelque part ailleurs |
Tzeentsh a écrit : Ca m'interesse aussi beaucoup et j'ai déjà réfléchis à cette question. Je n'ai malheureusement pas trouvé de solution "propre". Le mieux, je pense, est d'infliger des dommages au pj lors du repos. Non, pas lors du repos, mais à la fin de celui-ci en se renseignant, dès le début du repos, sur son statut courant et en le stockant. On peut également considéré qu'un temps de repos qui n'aura pas été respecté jusqu'au bout empêchera le personnage de récupérer le moindre point de vie. Voici une solution basée sur le OnPlayerRest du module :
NWScript : void SetCreatureHitPoints(object oCreature, int nAmount) { effect eSetHP; int nCurHP = GetCurrentHitPoints(oCreature); int nMaxHP = GetMaxHitPoints(oCreature); if (nAmount > nMaxHP) { nAmount = nMaxHP; } else if (nAmount < -10) { nAmount = -10; } int nDelta = nAmount - nCurHP; if (nDelta > 0) { eSetHP = EffectHeal(nDelta); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eSetHP, oPC); } else if (nDelta < 0) { eSetHP = EffectDamage(abs(nDelta), DAMAGE_TYPE_DIVINE, DAMAGE_POWER_ENERGY) ApplyEffectToObject(DURATION_TYPE_PERMANENT, eSetHP, oPC); } } void main() { object oPC = GetLastPCRested(); int nRestEvent = GetLastRestEventType(); switch (nRestEvent) { case REST_EVENTTYPE_REST_CANCELLED : { int nNewAmount = GetLocalInt(oPC, "CURRENTHP"); SetCreatureHitPoints(oPC, nNewAmount); SendMessageToPC(oPC, ""); }break; case REST_EVENTTYPE_REST_FINISHED : // Le repos se termine normalement { int nNewAmount = GetLocalInt(oPC, "CURRENTHP") + GetHitDice(oPC); SetCreatureHitPoints(oPC, nNewAmount); SendMessageToPC(oPC, ""); }break; case REST_EVENTTYPE_REST_INVALID : { }break; case REST_EVENTTYPE_REST_STARTED : { SetLocalInt(oPC, "CURRENTHP", GetCurrentHitPoints(oPC)); // Sauvegarde des PV courants. }break; } } _________________ Lendraste de Loreval Qui cherche la Vérité cherche celui qui la détient, car elle n'existe pas à l'état naturel. La cité des mensonges - 1 |
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