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 01/11/2024 02:20:28
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 |
Akroma-81 Novice Messages: 14 |
Salut, sachant manipuler les scripts mais sans plus ^^ (à peine ça devient difficile je bloque) je trouve pas pourquoi ce script ne fonctionne pas comme il devrait :
NWScript :
void main() { object oPJ = GetEnteringObject(); effect eAie = EffectDamage(2,DAMAGE_TYPE_BLUDGEONING); ReflexSave(oPJ,12,SAVING_THROW_TYPE_NONE); if (GetReflexSavingThrow(oPJ) >6) { FloatingTextStringOnCreature("Vous esquivez avec brio un gros rocher !",oPJ); return; } else if (GetReflexSavingThrow(oPJ) <6) { ApplyEffectToObject(DURATION_TYPE_INSTANT, eAie, oPJ); FloatingTextStringOnCreature("",oPJ); } } Je l'ai placé sur le OnEnter d'un trigger générique (il simule un éboulement mais je vous montre que la partie qui marche pas). Donc quand le joueur entre sur le trigger il fait un jet de reflexe dont le DD = 12. Normalement quand son jet de reflexe est supérieur à 6, il se prend rien du tout et la phrase vous avez esquivez blabla apparait sur le joueur. Par contre si son jet est inférieur à 6, là il se prend 2 points de dégat et la phrase vous vous prenez blabla apparait. Le probleme : (qui vient surement d'un oublie dans la condition) est que quel que soit mon jet, je me prend toujours 2 points de dégats. Ca doit être le return; ou je sais pas quoi. Merci de me dire oû est le probleme si vous le savez |
Revenir en haut | |
Laxam Légende vivante Messages: 425 Localisation: Lyon |
Essaie ceci :
NWScript :
void main() { object oPJ = GetEnteringObject(); effect eAie = EffectDamage(2,DAMAGE_TYPE_BLUDGEONING); ReflexSave(oPJ,12,SAVING_THROW_TYPE_NONE); if (GetReflexSavingThrow(oPJ) >6) { FloatingTextStringOnCreature("Vous esquivez avec brio un gros rocher !",oPJ); return; } else { ApplyEffectToObject(DURATION_TYPE_INSTANT, eAie, oPJ); FloatingTextStringOnCreature("",oPJ); } } Le return ne correspond à rien car on ne l'utilise que dans les condition d'éxécution des dialogues, ici il n'a rien à faire. Le else veut dire "sinon", il n'est pas utile de repréciser une condition sauf si dans la condition "sinon" tu veux avoir plusieurs cas par exemple : Si jet > 6 alors super Sinon (jet <=6 implicite, pas la peine de le remettre) si jet < 3 alors grosse quiche, le perso meurre si jet < 5 alors grosse bosse, perte de 6 PV sinon (jet compris entre 5 et 6 implicite) petite bosse, perte de 2 PV C'est seulement dans ce cas où tu utilisera des "else if" dans ton cas, pas utile. Voilà, en espérant que ça corrige ton bug, sans compter que dans ton script si le jet = 6 ?! il ne rentre dans aucune des conditions que tu avais mise. _________________ Mon site NWN nouvelle version et mon module Boisperdu en ligne ! Et maintenant un FORUM La première version française de la doc du NPC Activities (version 2.0) |
Revenir en haut | |
Akroma-81 Novice Messages: 14 |
Ca marche pas, toujours le même probleme
|
Revenir en haut | |
BlackMagik Acolyte Messages: 22 |
Essai avec celui la :
NWScript :
void main() { object oPJ = GetEnteringObject(); effect eAie = EffectDamage(2,DAMAGE_TYPE_BLUDGEONING); int iReflex = ReflexSave(oPJ,12,SAVING_THROW_TYPE_NONE); if (iReflex > 6) { FloatingTextStringOnCreature("Vous esquivez avec brio un gros rocher !",oPJ); return; } else { ApplyEffectToObject(DURATION_TYPE_INSTANT, eAie, oPJ); FloatingTextStringOnCreature("",oPJ); } } Je promet rien mais essaie toujours |
Revenir en haut | |
blackwinter Novice Messages: 8 |
NWScript :
#include "X0_I0_SPELLS" void main() { if (GetIsPC(GetEnteringObject())) { if (MySavingThrow(SAVING_THROW_REFLEX,GetEnteringObject(),6,SAVING_THROW_TYPE_TRAP,GetAreaOfEffectCreator())) { FloatingTextStringOnCreature("Vous esquivez avec brio un gros rocher !",GetEnteringObject()); }else{ ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectDamage(2,DAMAGE_TYPE_BLUDGEONING),GetEnteringObject()); FloatingTextStringOnCreature("",GetEnteringObject()); } } } Dans mon cas on fera un jet de réflexe avec un d20 comme on pourrait le faire avec un sort (d'ailleurs c'est un peu normal vu la bibliothèque que j'inclus), mais attention j'ai considéré le fait que l'on a affaire à un piège ==> les roublards auront des bonus contre ce truc. Sinon pour le principe si : Tu réussis ton jet == pas de dégâts Tu fais un jet égal au dd == pas de dégâts Tu rates ton jet == dégâts Par contre pour tes dégâts tu auras juste un chiffre qui va apparaître au dessus du perso. Peut être n'as-tu pas pensé à ce détail ou alors c'est voulu... |
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