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 16:36:30
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 |
Nemo700 Chevalier Messages: 90 |
Bonjour,
J'ai besoin d'assistance pour un petit script à placer sur un déclencheur : En fait ce que je voudrais c'est que quand le joueur "traverse" ce trigger, le hench recoive l'ordre de ne plus bouger, comme si je le jouer avait cliqué sur "tenir la position" dans le menu de commande du hench |
Revenir en haut | |
lylver Héros Messages: 274 |
NWScript :
object oHenchmen = GetHenchman(GetEnteringObject()); AssignCommand(oHenchmen,SetAssociateState(NW_ASC_MODE_STAND_GROUND,TRUE)); ensuite si tu veux qu'il suive à nouveau : repasse l'état à FALSE Edit : correction code Dernière édition par lylver le 24/03/2006 18:55:20; édité 1 fois
|
Revenir en haut | |
Nemo700 Chevalier Messages: 90 |
super, je te teste ce soir, merci beaucoup !!
Pour ce qui est du retour à l'état normal ("me suivre"), en fait il se passe ensuite un autre évenement scripté et quand je lui commandait manuellement de s'immobiliser, il reprenait ses déplacements à ce moment là. Donc si ton script à le même effet que l'ordre manuel ça devrait etre nickel, je te dis ça dès que j'ai essayé. |
Revenir en haut | |
gussometre Ecuyer Messages: 56 Localisation: Petit asteroïde dans le finistére sud |
pourquoi:
NWScript :
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème. Si tu met ca dans un script du trigger sa demandera le henchman du trigger nan (c'est pas pour faire mon chieure mais je demande parsque je debute baucoup en script ) il faut pas mieux metre un truc comme: NWScript :
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème. _________________ N'oublions pas le proverbe:quand on a faim il faut manger! |
Revenir en haut | |
Nemo700 Chevalier Messages: 90 |
ouille, aie, mais du coup je me quoi dans le script finalement
|
Revenir en haut | |
Enki Légende vivante Messages: 432 |
tu ne pas
NWScript :Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème. car cela n'éxiste pas
Mais tu mets, NWScript :Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.
A la place de OBJECT_SELF. En outre, une précision, si tu utilise le script de Lylver, tu pourras rappeler ton Hench avec les commandes vocales par défaut. Si ce n'est pas ce que tu veux, je te suggère d'utiliser un EffectCutSceneImmobilize(); et de l'enlever à la fin de ta scène, mais c'est à toi de voir ^^ A bientôt ! |
Revenir en haut | |
lylver Héros Messages: 274 |
De toute façon il se téléportera dés que tu vas dans une autre zone.
Sinon c'est bien GetEnteringObject() qu'il faut mettre et que le script complet soit sur l'évênement OnEnter du trigger |
Revenir en haut | |
gussometre Ecuyer Messages: 56 Localisation: Petit asteroïde dans le finistére sud |
oups me suis gouré ...
_________________ N'oublions pas le proverbe:quand on a faim il faut manger! |
Revenir en haut | |
Nemo700 Chevalier Messages: 90 |
heu.. bon je dois m'y prendre comme un manche, mais quand je veux compiler le script il me donne l'erreur suivante :
ERREUR : UNDEFINED IDENTIFIER (SetAssociateState) J'ai essayé vos différentes suggestions (la première telle quelle, enlever TRUE, mettre les deux "object" sur 2 lignes) mais c'est toujours le même message pouvez vous m'aider ? |
Revenir en haut | |
Sith Vicious Grand Sage du Conseil Messages: 693 |
rajoute au début du script :
NWScript :
#include "NW_I0_GENERIC" Quand t'as des doutes sur une fonction, clique dessus sur le forum, ça t'amene au Lexicon, des fois ça sert.... Edit : et pour ton cas précis, la remarque d'Enki est pertinente, utilise plutôt un effet paralyse ou n'importe quoi pour le bloquer, car là ton joueur peut le "débloquer" par simple commande vocale et l'envoyer au combat quand il devrait pas. |
Revenir en haut | |
Nemo700 Chevalier Messages: 90 |
Merci bien, grace à ton aide le script se compile avec succès... mais malheureusement quand on traverse le trigger il ne se passe rien
J'ai mis le script dans le OnEnter du trigger, j'ai mis un trigger générique en travers du chemin mais j'ai beau le traverser encore et encore rien ne se passe. J'ai transformé le trigger générique en piège pour voir, le piège se déclenche bien mais pas les effets escomptés du script. |
Revenir en haut | |
Nemo700 Chevalier Messages: 90 |
en réponse à ton edit : Je ne sais pas trop bien comment faire autrement, mais vraiment le "tenir la position" est parfait pour moi car si je le fait manuellement à ce moment précis le scene qui suit se déroule parfaitement. Simplement je ne comprends pas ce que je fais mal pour qu'elle passe en mode "stand ground" quand on traverse le declencheur
RE-EDIT : J'ai beau tourner le truc dans tous les sens il ne se passe rien, personne n'aurais une idée pour me sortir de ce ce blocage ? Pour info voici le script tel qu'il est enregistré : NWScript : #include "NW_I0_GENERIC" void main() { object oHenchmen = GetHenchman(GetEnteringObject()); AssignCommand(oHenchmen,SetAssociateState(NW_ASC_MODE_STAND_GROUND)); } |
Revenir en haut | |
Sith Vicious Grand Sage du Conseil Messages: 693 |
NWScript :
#include "NW_I0_GENERIC" void main() { object oHenchmen = GetHenchman(GetEnteringObject()); AssignCommand(oHenchmen,ClearAllActions()); AssignCommand(oHenchmen,SetAssociateState(NW_ASC_MODE_STAND_GROUND)); } On sait jamais. |
Revenir en haut | |
Nemo700 Chevalier Messages: 90 |
Fantastique, ça marche ! Du coup la scène que -MeteZ- aviat scripté pour mon boss final se déroule presque parfaitement, juste des soucis de timing sur la fin... je vais voir s'il peut m'aider à régler ça. Merci beaucoup Sith Vicious
|
Revenir en haut | |
Sith Vicious Grand Sage du Conseil Messages: 693 |
De rien
|
Revenir en haut | |
Nemo700 Chevalier Messages: 90 |
bon ben il y a un petit soucis non prévu :
si le fait de passer le hench en état "stand ground" permet au script de la scéne ( merci encore à -MeteZ- ) de se dérouler, vers la fin de celui ci le hench doit attaquer l'ennemi, et là comme il a gardé l'ordre de tenir la position il reste immobile. J'ai essayé pour voir de lui passer la commande "suivez moi" par le menu mais du coup il court vers moi et ça fout tous les évenements scriptés en l'air du coup il faudrait : - soit annuler très tôt les effets du "stand ground" (est ce que mettre TRUE dans le script utilisé jusqu'ici puis FALSE plus tard annulerait l'ordre de tenir la position sans déclencher "follow me" ?) - ou alors il faudrait réussir à freezer le hench quelques instants sur le trigger au lieu de faire "stand ground" comme ça le joueur a le temps de rentrer dans la zone de perception de l'adversaire, le script de -MeteZ- se lance et le hench est temporairement exclu de l'équipe) Je dois avouer que là je suis complètement perdu alors tout conseil est bienvenu juste pour vous aider à faire le rapprochement, les scripts dont je parle sont là : http://www.system-tek.com/nwinter/phpbb2/viewtopic.php?t=8894&start=0 |
Revenir en haut | |
Sith Vicious Grand Sage du Conseil Messages: 693 |
Je voudrais pas dire mais...
Enki a écrit : En outre, une précision, si tu utilise le script de Lylver, tu pourras rappeler ton Hench avec les commandes vocales par défaut. Si ce n'est pas ce que tu veux, je te suggère d'utiliser un EffectCutSceneImmobilize(); et de l'enlever à la fin de ta scène, mais c'est à toi de voir ^^ Sith Vicious a écrit : Edit : et pour ton cas précis, la remarque d'Enki est pertinente, utilise plutôt un effet paralyse ou n'importe quoi pour le bloquer, car là ton joueur peut le "débloquer" par simple commande vocale et l'envoyer au combat quand il devrait pas. T'étais prévenu |
Revenir en haut | |
Nemo700 Chevalier Messages: 90 |
ah ba ça oui c'est vrai que vous m'aviez proposé ça, mea culpa, mais comme je ne connais rien au scripts, une fois que j'avais un truc qui marchait je m'y suis accroché (comme un boulet finalement )
alors si je resume bien je dois remplacer le script du trigger par une commande EffectCutSceneImmobilize(); et mettre une commande inverse dans le script de -MeteZ- juste après que le hench ai réintégré le groupe ? si c'est ça, est ce que la commande s'emploie pile de la même manière ? Ce qui donnerait ça : NWScript :
#include "NW_I0_GENERIC" void main() { object oHenchmen = GetHenchman(GetEnteringObject()); AssignCommand(oHenchmen,ClearAllActions()); AssignCommand(oHenchmen,EffectCutSceneImmobilize()); } ou est ce différent ? et comment se rédige la commande pour le libérer ? merci de ton aide, et encore toutes mes excuses de n'avoir pas tenu compte de vos mises en garde |
Revenir en haut | |
Nemo700 Chevalier Messages: 90 |
J'ai consulté le Lexicon et du coup (si j'ai bien compris) il faudrait utiliser :
NWScript :
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème. et NWScript :
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème. ...en pensant à mettre le hench en oTarget bien sur... mais du coup je suis sur un effet permanent et le lexicon me dit pas comment annuler cet effet plus tard Ou alors je suppose qu'il faudrait que je le mette en TEMPORARY et que j'ajoute un temps, mais comme je ne sais pas combien de temps va durer le combat avec le Boss ensuite avant que le hench n'intervienne, je suis à nouveau coincé help !! mon cerveau va exploser EDIT : Dans un forum en anglais je viens de trouver : NWScript :
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème. est ce que c'est bien ce que je crois comprendre ? PS: Damned !! pourquoi ils ont pas le jeu installé à mon boulot, je pourrais tester directement |
Revenir en haut | |
Noon Héros Messages: 272 Localisation: Entre Vannes et les RO |
Et si tu utilises la commande "protége-moi" ou "attaque le plus proche" au lieu de "suis-moi" pour le débloquer ?
_________________ Beshaba me protège, Tymora guide mes tirs. The Cake is a lie ! Mes modules NwN2:De Vieilles Rencontres! et De Vieilles Rencontres2 Double Avenir sur le Nwvault |
Revenir en haut | |
Nemo700 Chevalier Messages: 90 |
bah quand je le fait manuellement ça met la pagaille dans la scene scriptée, et Sith Vicious et Enki m'ont bien fait comprendre que je ferais mieux de passer par la commande
EffectCutsceneImmobilize(); Je vais essayer de bricoler avec ça dès que je serai de retour chez moi, mais j'aimerais avoir l'aide de quelqu'un qui s'en est déja servi pour valider quand et comment l'activer et surtout la désactiver |
Revenir en haut | |
Nemo700 Chevalier Messages: 90 |
Bon ben c'était pas ça...
j'ai réussi à le faire arrêter au bon endroit avec la commande "EffectCutsceneImmobilize" puis à le libérer au moment adéquat par "RemoveEffect", mais la commande "ActionAttack" du script de -MeteZ- reste toujours sans effet, j'ai aussi essayé d'ajouter une commande pour le faire se déplacer vers l'adversaire mais il reste toujours sur place. Pourtant une fois l'adversaire mort et quand le joueur se relève si je me déplace le hench se déplace normalement à sa suite Je demande si ça n'a pas à voir avec la "taille" de l'adversaire, peut etre est ce que le hench est trop près pour afficher son animation ? Est ce qu'il y aurait moyen de faire "reculer" le boss de quelques pas juste avant le moment crucial ? Je vais faire un test en remplaçant le boss par une créature plus petite et si ça arrange tout je ferai un nouveau sujet sur le "recul" du NPC non c'est pas ça, j'ai remplacé le Balor par un gnome et le hench bouge toujours pas le petit doigt sur le ActionAttack |
Revenir en haut | |
Nemo700 Chevalier Messages: 90 |
j'ai continué à réfléchir peut etre est ce parce que le boss n'est plus hostile à ce moment du script que le hench refuse de l'attaquer ?
Dans ce cas pensez vous qu'il serait réalisable de : - créer un personnage invisible dans un coin inaccessible de la zone - juste avant le moment crucial le téléporter à l'endroit ou se trouve le boss (tout prêt mais reste à savoir comment) - puis changer sa faction vers hostile - demander au hench d'attaquer ce personnage invisible si ça peut etre fait, peut etre cela crérait l'illusion que le hench frappe le boss ? Je m'excuse sincèrement d'insister sur ce sujet, mais il ne reste plus que ça à résoudre et le mod est bouclé alors c'est frustrant Vos suggestions et aides sont bienvenues |
Revenir en haut | |
kiky.le.magnifique Homme très gay Messages: 907 Localisation: Camping de la nation martienne... |
Pourrais tu nous mettre ici ton script au complet qu'on voit s'il n'y a pas tout simplement une erreur que tu n'aurais pas vu?
_________________ http://perso.wanadoo.fr/kikitor | Deviant Art | www.VistaEntraide.com | CCLLSELFV! | D-lire_K | Viendez rêver au Pays des fées... | Ne taquinez pas l'admin! |
Revenir en haut | |
Nemo700 Chevalier Messages: 90 |
le script complet (en fait 2 scripts à placer sur le OnCombatRoundEnd et le OnPerception du "boss") m'ont été donné par -MeteZ- et tu peux les voir sur ce sujet :
http://www.system-tek.com/nwinter/phpbb2/viewtopic.php?t=8894&start=0 et au départ ça ne marchait pas du tout car le hench se joignait de suite à la bagarre, alors j'ai utilisé un trigger pour forcer le hench à rester un peu en retrait (soit en lui ordonnant "stand ground" soit en utilisant "EffectCutsceneImmobilize") et ça c'est juste un peu plus haut dans ce sujet ci. Depuis ça tout se passe bien sauf que le hench n'attaque pas (en tout cas pas visuellement) le boss au moment de porter le coup fatal... d'ou mes recherches pour comprendre d'ou ça vient et si besoin contourner la difficultée |
Revenir en haut | |
La Bibliothèque de Neverwinter Nights Index du Forum »
La Bibliothèque Binaire du NWScript - Neverwinter Nights
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