
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.







La date/heure actuelle est 30/04/2025 19:28:53
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 |
Enclumum Celestum Novice Messages: 9 |
Bonjour, j'ai besoin d'un peu d'aide pour faire des objets cutomisés (principalement par l'utilisation d'effets).
1°)N'y aurait-il pas un event qui se déclencherait chaque fois qu'on équipe ou déséquipe un objet ? Si non, y'a-t-il un moyen d'y remedier sans que ce soit trop lourd ? 2°)Est-ce qu'il y aurait moyen de passer d'une string à un effect et le contraire, autrement que par une fonction cas par cas ? 3°)Comment est défini le créateur d'un effet ? Merci d'avance ! ![]() |
Revenir en haut | ![]() ![]() ![]() |
Baldurien L'homme qui chutait sur le macadam ![]() Messages: 14070 Localisation: Quadran Alpha |
1. l'evénement c'est OnEquip disponible avec HotU qui n'est pas encore sorti.
2. non. Pas de transtypage/coercition de chaine vers effet (ou l'inverse). D'ailleurs, c'est assez logique. 'fin bref, tu dois mal t'exprimer sur ça. 3. Le créateur d'un effet est celui qui l'a actionné (via un AssignCommand), ou OBJECT_SELF. _________________ #nwnights-fr @ irc.darkmyst.org TitanQuest-FR |
Revenir en haut | ![]() ![]() ![]() ![]() |
Enclumum Celestum Novice Messages: 9 |
Ok ! Merci beaucoup !
1-Bon tant pis, je ferais avec... 2-Pareil, je ferais une truc cas par cas (en fait, le but c'était de pouvoir "stocker" des effets, ou au moins un type d'effet) 3-exactement ce que je voulait, merci. |
Revenir en haut | ![]() ![]() ![]() |
Tzeentsh Ecuyer Messages: 41 |
Biiiiiiiiiiip, je met un bémole, parce que j'ai eu un petit problème avec ça : le AssignCommand ne permet pas de changer le créateur de l'effet dans tous les cas.
J'ai rencontré ça dans le script OnDamaged dans lequel j'avais mis un : Citation : AssignCommand(GetLastDamager(), ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(), OBJECT_SELF)); Cette ligne n'apparaissait pas dans le jeu.
Citation : AssignCommand(GetLastDamager(), ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(), GetLastDamager())); Celle-ci indiquait : Créature inflige X dommages à Joueur, alors qu'en théorie, le AssignCommand indiquant le joueur comme créateur de l'effet, cela aurait du afficher : Joueur inflige X dommages à Joueur. |
Revenir en haut | ![]() ![]() ![]() |
Baldurien L'homme qui chutait sur le macadam ![]() Messages: 14070 Localisation: Quadran Alpha |
Je suis pas spécialité désolé
![]() _________________ #nwnights-fr @ irc.darkmyst.org TitanQuest-FR |
Revenir en haut | ![]() ![]() ![]() ![]() |
finipe Grand Sage du Conseil ![]() Messages: 519 Localisation: Nantes |
Pour palier au manque de l'événement OnEquip, tu peux passer par un test des objets portés par le joueur sur le onheartbeat de ton module ou d'une zone éventuellement... c'est le seul moyen de procéder pour le moment.
_________________ » Le Tref & l'Aucube : Histoire, misanthropie & zoologie léonine » 1626, le Gant & l'Epée : intrigues & duels sous le règne de Louis XIII |
Revenir en haut | ![]() ![]() ![]() ![]() |
lendraste Grand Maître Chanteur du Conseil ![]() Messages: 1403 Localisation: Quelque part ailleurs |
Tzeentsh a écrit : Biiiiiiiiiiip, je met un bémole, parce que j'ai eu un petit problème avec ça : le AssignCommand ne permet pas de changer le créateur de l'effet dans tous les cas.
AssignCommand, dans le cas présent, permet juste de faire exécuter le ApplyEffect par un autre objet, mais ce dernier ne devient pas celui qui instancie EffectDamage car celui-ci est invoqué dans le script même. Je pense que c'est l'invocation de EffectDamage dans le cadre de ton script qui utilise l'OBJECT_SELF comme son créateur. Probablement qu'un ExecuteScript pourrait pallier ce problème, en créant un script qui effectue les dommages et qui est exécuté par un objet désigné (ce qui est légèrement différent de l'AssignCommand pour lequel l'exécution de la commande, l'affectation des variables en l'occurrence, repose avant tout sur l'objet qui exécute le script). Ce n'est que de la spéculation. Il se trouve que le sujet a été abordé dans un autre forum et que nous n'avons pas de certitude à ce propos.J'ai rencontré ça dans le script OnDamaged dans lequel j'avais mis un : Citation : AssignCommand(GetLastDamager(), ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(), OBJECT_SELF)); Cette ligne n'apparaissait pas dans le jeu.
Citation : AssignCommand(GetLastDamager(), ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(), GetLastDamager())); Celle-ci indiquait : Créature inflige X dommages à Joueur, alors qu'en théorie, le AssignCommand indiquant le joueur comme créateur de l'effet, cela aurait du afficher : Joueur inflige X dommages à Joueur._________________ 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 | ![]() ![]() ![]() ![]() ![]() |
Enclumum Celestum Novice Messages: 9 |
Hum... ça se complique...
![]() Merci encore pour toutes ces précisions. Je verais si j'utilise le OnHeartBeat car ça risque d'être un peu lourd, par contre, je risque de bien utiliser le changement du créateur de l'effet. Encore une fois, merci ! ![]() |
Revenir en haut | ![]() ![]() ![]() |


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