La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 19/05/2024 09:21:58


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
CryinG.FreeM4n
Acolyte
Inscrit le: 28 Aoû 2004
Messages: 20
Répondre en citant
Posté le : 28/08/2004 18:31:06 Sujet du message : ne pas engager la conversation pendant une action

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));
}
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.


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 Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Longbow
Grand Sage du Conseil
Inscrit le: 10 Déc 2003
Messages: 638
Localisation: Orléans
Répondre en citant
Posté le : 29/08/2004 00:37:35 Sujet du message :

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));
}
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 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 Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
CryinG.FreeM4n
Acolyte
Inscrit le: 28 Aoû 2004
Messages: 20
Répondre en citant
Posté le : 29/08/2004 01:10:54 Sujet du message :

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 Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Montrer les messages depuis :
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


Sauter vers:
FAQ | Rechercher | Liste des Membres | Groupes d'utilisateurs | S'enregistrer | Profil | Se connecter pour vérifier ses messages privés | Connexion
Powered by phpBB 2.* [m] © 2001, 2002 phpBB Group
Theme rewritten in beautiful XHTML code by Baldurien.
Thème "La Bibliothèque de Neverwinter" crée par Kruger
Traduction par : phpBB-fr.com
Page generated in 27.032ms