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 17:51:56
Voir le sujet précédent ¤ Voir le sujet suivant | |
---|---|
Auteur | Message |
CryinG.FreeM4n Acolyte Messages: 20 |
Bonjour à tous !
Je me suis mis à l'Aurora depuis un petit moment et aujourd'hui, je me retrouve coincé dans un petit problème de script. Voilà le problème : J'ai une conversation avec plusieurs NPC et l'un d'entre eux doit partir vers un waypoint. On doit à nouveau pouvoir engager une conversation avec ce NPC uniquement quand il est arrivé à destination. Pour l'instant, j'ai ce script dans le champ "action conséquente" d'une des lignes du dialogue : NWScript :
void main() { object oPC = GetPCSpeaker(); // Selection du soldat et de sa destination object oSoldat = GetObjectByTag("NPC_SOLDAT"); object oWPSoldat = GetObjectByTag("WPP_SOLDAT"); // Deplacement AssignCommand(oSoldat,ClearAllActions()); AssignCommand(oSoldat,ActionMoveToObject(oWPSoldat,FALSE,0.0)); } Ceci fonctionne correctement mais si le PC clique sur le soldat pendant sa marche, bien évidement, il s'arrete pour parler et ne reprend pas sa route. Comment faire pour qu'il garde le silence et continue sa route ? Merci de vos réponses. *edit : arg, désolé, je n'ai pas vu que je suis passé de la section scripts à module pendant mes recherches* |
Revenir en haut | |
Longbow Grand Sage du Conseil Messages: 638 Localisation: Orléans |
Hum, hum...
Je pense qu'il faudrait bloquer le joueur le temps que le garde arrive à destination: 1. Minuter le temps pris par le garde pour arriver à son point d'arrivée. 2. Faire un ajout à ton script. NWScript :
void main() { object oPC = GetPCSpeaker(); // Selection du soldat et de sa destination object oSoldat = GetObjectByTag("NPC_SOLDAT"); object oWPSoldat = GetObjectByTag("WPP_SOLDAT"); // Blocage du joueur pour 10.0 secondes. ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectCutsceneParalyze(), oPC, 10.0); AssignCommand(oSoldat,ClearAllActions()); AssignCommand(oSoldat,ActionMoveToObject(oWPSoldat,FALSE,0.0)); } Si l'effet cutscene ne te satisfait pas, il existe SetCommandable(FALSE,oPC); ==> empêcher le joueur de cliquer DelayCommand(10.0,SetCommandable(TRUE,oPC)); ==> libérer le joueur Par contre, si la conversation n'est que suspendue, il faut utiliser deux fonctions ActionPauseConversation(); ===> pour mettre la conversation en pause ActionResumeConversation(); ==> pour reprendre la conversation _________________ Rex illeteratus Quasi Asinus Coronatus Jean de Salisbury |
Revenir en haut | |
CryinG.FreeM4n Acolyte Messages: 20 |
Merci Longbow, je pensais justement à contourner le problème en arrivant à la même conclusion que ta première proposition...
Je vais utiliser ton schéma non pas en le bloquant mais en l'occupant le temps nécessaire. Comme en le mettant en mode cutscene et en lui faisant suivre le soldat probablement, ça irait bien pour mon scénario. Merci a+ |
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