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







La date/heure actuelle est 02/05/2025 14:49:37
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 |
Cassin Papa-poule(t) & poissard intemporel ![]() Messages: 7471 Localisation: 6 bis rue de la Couveuse, Poulailler 39b |
Salut,
Je bute sur un script tout con : NWScript :
object oPC = GetPCSpeaker(); object oHench = GetLastSpeaker(); void main() { RemoveHenchman (oPC); ApplyEffectAtLocation (DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_UNSUMMON), GetLocation(oHench)); DestroyObject (oHench); } Comme indiqué, il est donc sensé, sur une phrase de dialogue, retirer le PNJ du groupe et le faire disparaître. Problème, si le hench est bel et bien retiré du groupe, l'effet visuel se déclenche sur le joueur, et comme le PNJ ne disparaît pas, il y a de fortes chances que le DestroyObject aussi... Je me suis dis "ça doit être une erreur de placement du script dans le dialogue, au lieu de cibler le PNJ le GetLastSpeaker cible le joueur", mais ce que je ne comprend pas, c'est que ça fait exacement la même chose que je déclenche le script sur une phrase du joueur ou sur une phrase du PNJ... ![]() Ai-je raté quelque chose ? ![]() _________________ Aventure ! Camaraderie ! Et acier sur acier ! Les ingrédients légendaires ! Hein Bouh ? http://cassin1306.spaces.live.com |
Revenir en haut | ![]() ![]() ![]() ![]() |
Black Knight Grand Maître Chanteur du Conseil ![]() Messages: 1031 Localisation: Fin fond du trou du cul du monde |
Pourquoi tu met pas OBJECT_SELF ??? lol pour le Hensh si c'est dans un dialogue tout marchera! Mais biensur degroupe le joueur apres toutes les actions !!
_________________ [http] |
Revenir en haut | ![]() ![]() ![]() |
Cassin Papa-poule(t) & poissard intemporel ![]() Messages: 7471 Localisation: 6 bis rue de la Couveuse, Poulailler 39b |
En effet je n'y avais pas pensé au OBJECT_SELF
![]() ![]() Donc j'ai remplacé le GetLastSpeaker par OBJECT_SELF... mais ça fait toujours la même chose, l'effet visuel se fait toujours sur le joueur et le PNJ ne disparaît pas ![]() EDIT : nan c'est bon ça marche, juste que j'avais pas les yeux en face des trous j'avais foiré un truc ![]() Enfin, ça marche PRESQUE : l'effet visuel se déclenche bien sur le hench, mais il ne disparaît pas... Ca me fait la même chose dans un autre script (voir le topic sur le XPModule V3 dans le forum Modules), impossible de détruire le corps de ce PNJ... Explication sur la situation : j'ai créé un PNJ, qui peut donc être utilisé comme hench. Pour cela je lui ai donc mis le set de scripts des hench "set_xp1_henchmen.ini". Ce même PNJ peut être utilisé plus loin mais comme adversaire cette fois (à la création du PNJ son tag est changé et il passe en faction Hostile). Là aussi ça marche (à un ou deux détails près ![]() Pourtant les propriétés du PNJ il n'y aucune case de cochée qui précise que le corps doit rester... (en fait dans l'onglet Avancés il n'y a que Désarmement de coché, le reste est décoché et le temps de décomposition est sur 5) EDIT 2 : c'est bon, j'ai trouvé, c'est le script du OnSpawn qui bloque la destruction ![]() _________________ Aventure ! Camaraderie ! Et acier sur acier ! Les ingrédients légendaires ! Hein Bouh ? http://cassin1306.spaces.live.com |
Revenir en haut | ![]() ![]() ![]() ![]() |
Black Knight Grand Maître Chanteur du Conseil ![]() Messages: 1031 Localisation: Fin fond du trou du cul du monde |
|
Revenir en haut | ![]() ![]() ![]() |
lylver Héros Messages: 274 |
Le script de mort est à modifier pour tes henchmens car les henchmens sont prévus pour être résurrectable dans la campagne
NWScript : // :: ////////////////////////////// ///////////////// // :: Henchman Death Script // :: // :: NW_CH_AC7.nss // :: // :: Copyright (c) 2001-2003 Bioware Corp. // :: ////////////////////////////// //////////////// // :: Official Campaign Henchmen Respawn // :: ////////////////////////////// //////////////// // :: ////////////////////////////// //////////////// #include "nw_i0_generic" #include "nw_i0_plot" void main() { if (GetIsObjectValid(GetMaster()) == TRUE) { object oMe = OBJECT_SELF; if (GetAssociateType(oMe) == ASSOCIATE_TYPE_HENCHMAN ) { RemoveHenchman(GetMaster(), oMe) ; SetIsDestroyable(TRUE, FALSE, FALSE); // ne pas oublier ca } } } |
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