La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 22/09/2024 12:46:37


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Laxam
Légende vivante
Inscrit le: 12 Avr 2004
Messages: 425
Localisation: Lyon
Répondre en citant
Posté le : 25/08/2004 21:42:46 Sujet du message : Script et NPC Activities

J'ai un petit souci dans l'utilisation avancée du NPC Activities.
Voilà, j'un un NPC qui utilise le set de script du NPC activities, je le fais aller à un point donné pour discuter avec un autre NPC qui lui aussi utilise le set de script.
Sur le WP en question, j'ai fait lancer le script ci-dessous :

NWScript :
void main()
{
    object oNain = GetObjectByTag("tDiplomateNain");
    object oGuilbert = GetObjectByTag("tSeigneurGuilbert");
    DelayCommand(1.0, AssignCommand(oNain, ActionDoCommand(ActionSpeakString(""))));
    DelayCommand(2.0, AssignCommand(oGuilbert, ActionDoCommand(ActionSpeakString(""))));
    DelayCommand(4.0, AssignCommand(oNain, ActionDoCommand(ActionSpeakString(""))));
    DelayCommand(6.0, AssignCommand(oGuilbert, ActionDoCommand(ActionSpeakString("J'ai appris cela et alors ?"))));
    DelayCommand(8.0, AssignCommand(oNain, ActionDoCommand(ActionSpeakString(""))));
    DelayCommand(10.0, AssignCommand(oGuilbert, ActionDoCommand(ActionSpeakString(""))));
    DelayCommand(12.0, AssignCommand(oNain, ActionDoCommand(ActionSpeakString("Si vous ne voulez pas l'exploiter, nous les nains ont s'en chargera."))));
}
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.


Le script se lance bien mais le "dialogue est interrompu et chaque NPC poursuit sa route. Je pense qu'en fait j'ai dépassé un HeartBeat et que donc le NPC Activities est réactivé... donc mes NPC poursuivre leur route jusqu'à leur destination suivante sans finir ce que je leur ai demandé !!

Voilà, alors comment faire pour que mon script s'exécute en entier avant de redonner la main au NPC Activities...

Quelqu'un peut-il m'aider ? Longbow, le grand maître du NPC A ?

Autre question, je veux utiliser l'intervalle de pause, j'ai donc codé le nom de mon WP : 03_900_W_S12to16_P_SITC avec le P pour pause et le 900 pour le temps mais ça ne marche pas, il se relève après deux secondes et continue sa route...

Pour que le WP ne soit actif qu'entre 12 et 16, c'est bien comme ça qu'on le code ?

Voilà.... help...
_________________
Mon site NWN nouvelle version et mon module Boisperdu en ligne ! Et maintenant un FORUM
La première version française de la doc du NPC Activities (version 2.0)
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur 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 : 25/08/2004 23:02:09 Sujet du message :

Hum, hum...

Mes 1e cogitations m'amènent à ces quelques modifs:

NWScript :
void main()
{
    object oNain = GetObjectByTag("tDiplomateNain");
    object oGuilbert = GetObjectByTag("tSeigneurGuilbert");

    ApplyEffectToObject(DURATION_TYPE_TEMPORARY,EffectCutsceneImmobilize(), oNain,12.0);
    ApplyEffectToObject(DURATION_TYPE_TEMPORARY,EffectCutsceneImmobilize(), oGuilbert,12.0);


    DelayCommand(1.0, AssignCommand(oNain, SpeakString("")));
    DelayCommand(2.0, AssignCommand(oGuilbert, SpeakString("")));
    DelayCommand(4.0, AssignCommand(oNain, SpeakString("")));
    DelayCommand(6.0, AssignCommand(oGuilbert, SpeakString("J'ai appris cela et alors ?")));
    DelayCommand(8.0, AssignCommand(oNain, SpeakString("")));
    DelayCommand(10.0, AssignCommand(oGuilbert, SpeakString("")));
    DelayCommand(12.0, AssignCommand(oNain, SpeakString("Si vous ne voulez pas l'exploiter, nous les nains ont s'en chargera.")));
}
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 ca passe, on pourrait sans doute ajouter qques animations pour pimenter le tout
_________________
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
 
Laxam
Légende vivante
Inscrit le: 12 Avr 2004
Messages: 425
Localisation: Lyon
Répondre en citant
Posté le : 26/08/2004 19:36:39 Sujet du message :

 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Laxam
Légende vivante
Inscrit le: 12 Avr 2004
Messages: 425
Localisation: Lyon
Répondre en citant
Posté le : 27/08/2004 17:51:49 Sujet du message :

Merci Longbow, ton conseil marche, j'ai juste du ajouter un ClearAllAction.
Voici mon script qui marche pour ceux que ça interesse.

NWScript :
void main()
{
    object oNain = GetObjectByTag("tDiplomateNain");
    object oGuilbert = GetObjectByTag("tSeigneurGuilbert");
    AssignCommand(oNain, ClearAllActions());
    AssignCommand(oGuilbert, ClearAllActions());
    ApplyEffectToObject(DURATION_TYPE_TEMPORARY,EffectCutsceneImmobilize(), oNain,22.0);
    ApplyEffectToObject(DURATION_TYPE_TEMPORARY,EffectCutsceneImmobilize(), oGuilbert,22.0);
    DelayCommand(1.0, AssignCommand(oNain, ActionDoCommand(ActionSpeakString(""))));
    DelayCommand(4.0, AssignCommand(oGuilbert, ActionDoCommand(ActionSpeakString(""))));
    DelayCommand(7.0, AssignCommand(oNain, ActionDoCommand(ActionSpeakString(""))));
    DelayCommand(10.0, AssignCommand(oGuilbert, ActionDoCommand(ActionSpeakString("J'ai appris cela et alors ?"))));
    DelayCommand(13.0, AssignCommand(oNain, ActionDoCommand(ActionSpeakString(""))));
    DelayCommand(16.0, AssignCommand(oGuilbert, ActionDoCommand(ActionSpeakString(""))));
    DelayCommand(19.0, AssignCommand(oNain, ActionDoCommand(ActionSpeakString("Si vous ne voulez pas l'exploiter, nous les nains ont s'en chargera."))));
}
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.

_________________
Mon site NWN nouvelle version et mon module Boisperdu en ligne ! Et maintenant un FORUM
La première version française de la doc du NPC Activities (version 2.0)
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur 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 : 27/08/2004 20:06:37 Sujet du message :

Hum, hum...

Ravi d'avoir pu t'aiguiller...
Je te propose d'ajouter qques animations pour pimenter la cutscène, du genre:
DelayCommand(19.0, AssignCommand(oNain,PlayAnimation(ANIMATION_LOOPING_TALK_FORCEFUL, 3.0)));

Bon courage.
_________________
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
 
Laxam
Légende vivante
Inscrit le: 12 Avr 2004
Messages: 425
Localisation: Lyon
Répondre en citant
Posté le : 29/08/2004 09:30:04 Sujet du message :

Merci bien, je vais mettre cette animation.
Bientôt mon module en ligne... je suis entrain de faire mes derniers tests...
_________________
Mon site NWN nouvelle version et mon module Boisperdu en ligne ! Et maintenant un FORUM
La première version française de la doc du NPC Activities (version 2.0)
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur 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 46.319ms