Différences entre les versions de « TESCS2 : Faire parler un personnage »

De Wiwiki
Aller à la navigation Aller à la recherche
Ligne 59 : Ligne 59 :


''Oui mais presque tous les personnages le disent mon message.''<br />
''Oui mais presque tous les personnages le disent mon message.''<br />
Comment régler ce probléme assez ennuyeux? Nous allons ajouter '''une condition''' à notre info.<br />
Comment régler ce probléme assez ennuyeux? Nous allons ajouter une condition à notre info.<br />
*Sélectionnez votre info dans la liste.
*Sélectionnez votre info dans la liste.
*Cliquez sur "New" en bas de la fenêtre (/!\Attention, ne faites pas créer une nouvelle info.)
*Cliquez sur "New" en bas de la fenêtre (/!\Attention, ne faites pas créer une nouvelle info.)
Ligne 104 : Ligne 104 :
== Faire parler des catégories de personnages ==
== Faire parler des catégories de personnages ==
Selon les options que vous choisissez, il est possible de faire parler des catégories de personnages dont par exemple la '''class''' ou la '''faction''' sont en commun.
Selon les options que vous choisissez, il est possible de faire parler des catégories de personnages dont par exemple la '''class''' ou la '''faction''' sont en commun.
Pour être plus précis, il faut jouer avec les conditions. Je m'explique :
Vous voyez la liste déroulante nommée "'''Condition Function'''" ? Elle rassemble toutes les fonctions de script ([http://wiwiki.wiwiland.net/index.php/TESCS2_:_Fonctions_de_script disponible ici]).
Reprenons depuis le début:
On à vu que si je veux faire parler un NPC bien particulier, je dois utiliser la fonction GetIsID.
Mais si je souhaite faire parler '''DES''' NPCs (Oui '''DES''', plusieurs NPCs, donc plusieurs conditions à définir, mais si ils ont des points communs (Race,Faction) on peu gagner du temps en utilisant une seule fonction). Donc si je souhaite faire parler des NPCs appartenant à la guilde des voleurs, et seulement ceux là, je vais chercher dans ma liste des fonctions et trouver la fonction '''GetInFaction''', indiquer a droite l'ID de la faction désirée, et le tour est jouée, seuls les membres de la guilde des voleurs auront ce topic dans leurs options de dialogues.
Pareil si l'on veut faire parler uniquement des NPCs d'une race bien particulière, on utilise une condition avec la fonction GetIsRace.

Version du 5 janvier 2008 à 12:20

Cet article est une suite à l'article Création d'un personnage


Vous avez créé votre beau petit NPC. Vous l'avez l'essayé en jeu, et il fonctionne bien. Maintenant, il faut lui faire dire ses premiers mots (Areuh?).

Premiere étape: Créer une quête.

Dans Oblivion, un NPC parle grâce à des quêtes. Tout ce que dit un personnage se trouve dans des quêtes.

Mais si mon personnage ne fait pas partie d'une quête?
TOUT dialogue se trouve dans un quête. Ca peut paraître bizarre mais Bestheda a décidé de faire fonctionner ses dialogues comme ça.


Menuquete.png
Voici notre menu Quête. Donc il nous faut créer une quête. Pour cela, cliquez droit sur le menu de gauche avec les en-têtes "EditorID" et "Priority" et choisissez "New". Rentrez ensuite dans le formulaire apparaissant à l'écran l'ID de votre Quête.

Rappel:Une ID doit absolument ne contenir aucun espace ni de caractére spéciaux. Je vous conseille de mettre un préfixe à toutes vos ID pour les retrouver facilement.

Ensuite le menu quête apparaît avec une quête vide. Dans le champ "Quest Name" rentrez le nom de la quête. Si cette quête ne sera pas dans le journal du joueur, il n'est pas obligatoire de remplir ce champ. Ensuite, dans le champ "Priority", mettez la valeur '6'.
Le champ "Priority" sert à définir la priorité de la quête. Quand une quête à une priorité de 5, c'est un dialogue commun du jeu (comme les salutations ou les rumeurs). Si je vous fait mettre la valeur de 6, c'est pour que votre personnage dise en priorité votre texte.
Vérifiez bien que le champ "Start Game Enabled" est coché sinon le dialogue devra être activé par un script.

Seconde étape: le faire parler

Une fois votre quête créée, il ne vous reste plus qu'à y ajouter des topics. Les topics sont des sujet de discussions. Ce sont les différents choix qui apparaissent lors d'une conversation.

La première chose à faire est de cliquer sur l'onglet Topics du menu quête.

Dans ce menu, vous pouvez voir deux "sous catégories":

  • Une liste avec EditorID et Display Text en en-tête,
  • Un formulaire

Nous allons commencer par ajouter un topic pré-existant.
Pour cela:

  • Cliquez droit dans la liste vide
  • Faites Add Topic
  • Sélectionnez le Topic GREETING

Votre topic est ajouté. Le topic GREETING est un topic spécial. Ce topic regroupe l'ensemble des paroles de bienvenue. Il vous faut obligatoirement l'ajouter pour pouvoir ensuite ajouter les topics de votre personnage. Une fois le topic ajouté, il faut lui ajouter une Info, soit un ensemble de texte correspondant à la réponse de votre NPC. Pour ajouter une info:

  • Cliquez droit sur la liste qui a comme première en-tête Info.
  • Sélectionnez "New"
  • Une fenêtre apparait : c'est la fenêtre de réponse. Une réponse est une partie de l'info. Cela équivaut dans le jeu à un affichage de sous-titres.
  • Rentrez-y le texte que votre personnage dira quand vous lui parlerez.
  • Faites OK.
  • Vous avez créé votre premiére info.

A noter :' Si vous voulez faire parler plusieurs NPCs dans votre quête, faites une info pour chacun d'eux, avec la condition GetIsID (voir plus bas) pour chaques infos.

Vous pouvez maintenant placer votre NPC dans le jeu et aller lui parler et vous verrez il dira votre texte de bienvenue.

Oui mais presque tous les personnages le disent mon message.
Comment régler ce probléme assez ennuyeux? Nous allons ajouter une condition à notre info.

  • Sélectionnez votre info dans la liste.
  • Cliquez sur "New" en bas de la fenêtre (/!\Attention, ne faites pas créer une nouvelle info.)
  • À côté, vous voyez une liste déroulante nommée "Condition Function". Sélectionnez "GetIsID".
  • Cliquez sur Function Parameters.
  • Sélectionnez dans la liste déroulante de la fenêtre votre NPC.
  • Faites OK.
  • Vérifier bien que la suite est : == 1.0000 et que OR est décoché.

A noter : La case Yes en dessous de Run on Target signifit, si elle est décochée, que la condition s'applique au NPC, et au contraire, si elle est cochée, que la condition s'applique au joueur.

Maintenant sauveguardez et allez essayer votre NPC. Il dit votre texte et les autres NPC gardent leurs textes initiaux.

Troisiéme étape: De nouveaus sujets

Voila, nous avons créé notre premier NPC, il a une info, mais ensuite, nous voulons pouvoir choisir ses différentes options de dialogues.

Pour commencer, pour lui faire choisir ses différentes options de dialogues, il faut lui ajouter différents topics.

  • Cliquez droit sur la liste des topics.
  • Faites Add Topic.
  • Dans la liste des topics existants apparaissant cliquez droit.
  • Faites new.
  • Rentrez l'ID de votre topic.
  • Sélectionnez-le et faites OK.

Votre topic est ajouté. Rajoutez-lui une Info comme nous avons fait pour GREETING. Pour que votre Topic s'affiche correctement Ingame, il faut l'ajouter dans la liste des topics du joueur. Pour cela:

  • Revenez sur votre Info de GREETING. Vous voyez une petite liste sur la droite intitulée Add Topic.
  • Cliquez droit dessus
  • Faites Add Topic
  • Selectionnez votre Topic

Vous pouvez maintenant essayer, votre Topic marche impécablement dans la conversation.

Votre Personnage parle maintenant. J'espère qu'avec ce tutorial, vous nous ferez de bons petits NPC très bavards.



(*) Peut-être un petit problème de compatibilité entre les mods, avec cette 3ème étape. A tester chez d'autres moddeurs, pour voir si c'est un problème général (Voir onglet "discussion" en haut de page) - Thanatos

Faire parler des catégories de personnages

Selon les options que vous choisissez, il est possible de faire parler des catégories de personnages dont par exemple la class ou la faction sont en commun.

Pour être plus précis, il faut jouer avec les conditions. Je m'explique :

Vous voyez la liste déroulante nommée "Condition Function" ? Elle rassemble toutes les fonctions de script (disponible ici).

Reprenons depuis le début: On à vu que si je veux faire parler un NPC bien particulier, je dois utiliser la fonction GetIsID.

Mais si je souhaite faire parler DES NPCs (Oui DES, plusieurs NPCs, donc plusieurs conditions à définir, mais si ils ont des points communs (Race,Faction) on peu gagner du temps en utilisant une seule fonction). Donc si je souhaite faire parler des NPCs appartenant à la guilde des voleurs, et seulement ceux là, je vais chercher dans ma liste des fonctions et trouver la fonction GetInFaction, indiquer a droite l'ID de la faction désirée, et le tour est jouée, seuls les membres de la guilde des voleurs auront ce topic dans leurs options de dialogues. Pareil si l'on veut faire parler uniquement des NPCs d'une race bien particulière, on utilise une condition avec la fonction GetIsRace.