Baldur's Gate et Dragon Age | La Couronne de Cuivre
 

Précédent   Baldur's Gate et Dragon Age | La Couronne de Cuivre > La Forge de GrondMarteau > La Forge des Apprentis > Problèmes Techniques

Problèmes Techniques
Un problème technique lors de la création d'un mod? Exposez votre probleme et les membres vous aideront de leur mieux.

Réponse
 
Outils de la discussion Note
Vieux 02/10/2003, 19h56   #1
Grenouillebleue
Loup Effrayant
 
Date d'inscription: septembre 2003
Localisation: Paris
Messages: 708
Par défaut

Voilà le dernier problème que j'essaie de résoudre (et ça fait un bon moment en plus), donc je me tourne une dernière fois (qui est-ce que j'essaie de convaincre ? Vous me reverrez certainement avoir des emmerdes :rigoler: ) vers vous pour comprendre.

On rencontre ma PNJ chez Renal Bloodscalp. Tant qu'on n'a pas encore travaillé pour lui et tué Maevar, elle a un dialogue particulier. Une fois qu'on a tué Maevar, son dialogue change, et elle devient recrutable.

Je me suis donc dit: "bon sang mais c'est bien sûr, mon garçon (j'aime bien m'appeler mon garçon), tu vas créer une variable appelée RENAL, qui deviendra égale à 1 lorsque la mission sera terminée.

Donc si RENAL = 0 --> Dialogue initial
si RENAL = 1 --> Deuxième dialogue où on peut la recruter.

Là où ça se complique, c'est que visiblement ça ne marche pas. Lorsque je mets ces conditions, aucun dialogue n'est disponible et j'obtiens le message "Kim - n'a rien à vous dire".

Alors que lorsque j'enlève la condition (et que je la remplace par NumTimesTalkedTo(0)), tout marche comme sur des roulettes.

A quoi cela pourrait-il être dû, braves gens ?

Voici à quoi ressemble le début de mon fichier .d:


BEGIN J#Kim


(Normalement, là, ça devrait être le dialogue qu'elle sort si on clique sur elle lorsque la mission n'est pas terminée)
IF ~Global(“Renal”,“GLOBAL”,0)~ THEN BEGIN kimstart
SAY ~I'm the best sword of this place, and no mistake. Angry Renal, and you won't live to regret it~
IF ~GENDER(“PC”,”Male”)~ THEN REPLY ~Don't make me laugh. You expect me to believe you know how to use a sword ? Go back to needleworking, lass~ GOTO kimstart1
IF ~~ THEN REPLY ~Shouldn't be too hard to be the best sword around here. Do you take pride in being the best out of the worst ?~ GOTO kimstart2
IF ~~ THEN REPLY ~Yeah ? Well, I think I could spank you one-handed~ GOTO kimstart3
IF ~~ THEN REPLY ~Uhhhh... right, whatever, girl~ GOTO kimstart4
IF ~~ THEN REPLY ~I guess I'll behave, THEN~ GOTO kimstart5
IF ~~ THEN REPLY ~Best sword ? Now that's exciting. How about a friendly duel ?~ GOTO kimstart6
IF ~GENDER(“PC”,”Male”)~ THEN REPLY ~A pretty face AND a skilled wrist ? I think I'm in love~ GOTO kimstart7
IF ~~ THEN REPLY ~And who would you be, miss ?~ GOTO kimstart8
IF ~~ THEN REPLY ~I won't let a serving girl threaten me like this. Draw your sword now, and die !~ GOTO kimstartEND
END

Et là, les options de dialogue si jamais la mission est terminée
IF ~Global(“Renal”,“GLOBAL”,1)~ THEN BEGIN kimtake
SAY ~I hate to say it, but it seems you didn't blunder. Good job. Maevar won't be missed around there. I hate this kind of man with a passion~
IF ~GENDER (“PC”,”Male”)~ THEN REPLY ~It seems to me you have a problem with most men~ GOTO kimtake1
IF ~~ THEN REPLY ~That was nothing at all. He was just a coward~ GOTO kimtake2
IF ~~ THEN REPLY ~Justice always prevails in the END~ GOTO kimtake3
IF ~~ THEN REPLY ~I was thinking... I'm lacking a swordsman - or swordswoman in my party. Would you be interested ?~ GOTO kimtake4
IF ~~ THEN REPLY ~I was thinking... I'm lacking a thief in my party. Would you be interested ?~ GOTO kimtake5
IF ~GENDER(PC,Male)~ THEN REPLY ~I was thinking... I'm lacking good-looking girls in my party. Would you be interested ?~ GOTO kimtake6
IF ~~ THEN REPLY ~Now that Renal has no more use for me, how about we cross blades ?~ GOTO kimtake7
IF ~~ THEN REPLY ~I had a job to do. I did it. I got paid. That's the way of life~ GOTO kimtake2
IF ~~ THEN REPLY ~I wiped Maevar's guild out, and now is Renal's turn ! Shadow thieves shall die !~ GOTO kimtakeEND
END



Alors, euh... je ne vois vraiment pas :heu:
__________________
MOD KIM TERMINE
- Des centaines de dialogues et d'interactions
- De nombreuses quêtes
- De nouveaux objets magiques
- Une véritable romance

Roman d'Heroic Fantasy en feuilleton (un chapitre par jour)
Intro 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
Grenouillebleue est déconnecté   Réponse avec citation
Vieux 02/10/2003, 20h18   #2
Silk
Invités
 
Messages: n/a
Par défaut

RENAL n'existe pas déjà ? :heu:
  Réponse avec citation
Vieux 02/10/2003, 20h28   #3
Lamnis Valnon
Invités
 
Messages: n/a
Par défaut

Juste une question: ou est ton SetGlobal ?
  Réponse avec citation
Vieux 02/10/2003, 20h51   #4
Grenouillebleue
Loup Effrayant
 
Date d'inscription: septembre 2003
Localisation: Paris
Messages: 708
Par défaut

Pour Silk
Peut-être que la variable existe déjà, mais j'ai essayé de changer en choisissant une variable nommée KIMRENAL (qui n'existe pas) et ca n'a rien changé...


Pour Lamnis
Pour l'instant, le setglobal n'est pas encore codé, mais je le mettrai dans le script de Renal, au moment où il donne la récompense aux joueurs
SETGLOBAL("KIMRENAL","GLOBAL",1)


PS: Est-ce que ça peut être dû à mon script, qui contient:

IF
See([PC])
NumTimesTalkedTo(0)
THEN
RESPONSE #100
Dialogue(Nearest([PC]))
END


__________________
MOD KIM TERMINE
- Des centaines de dialogues et d'interactions
- De nombreuses quêtes
- De nouveaux objets magiques
- Une véritable romance

Roman d'Heroic Fantasy en feuilleton (un chapitre par jour)
Intro 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
Grenouillebleue est déconnecté   Réponse avec citation
Vieux 02/10/2003, 20h54   #5
Silk
Invités
 
Messages: n/a
Par défaut

a plus doublon

Sinon, si ça ne vient pas du nom de la variable, je ne sais pas.
  Réponse avec citation
Vieux 02/10/2003, 22h30   #6
Grenouillebleue
Loup Effrayant
 
Date d'inscription: septembre 2003
Localisation: Paris
Messages: 708
Par défaut

De plus en plus bizarre...

Même si je mets la variable à la valeur nécessaire, il n'exécute pas le script. C'est quand même incroyable !

Je viens de tester sur un petit script.
Avec la console, je mets KimRenal à 1.
Je VERIFIE et ça me confirme bien que KimRenal est à 1.

Bon, le petit script fait (avec les begin etc, etc, appropriés):


IF ~Global(“KimRenal”,“GLOBAL”,1)~ THEN BEGIN kimtake
SAY ~I hate to say it, but it seems you didn't blunder. Good job. Maevar won't be missed around there. I hate this kind of man with a passion~
IF ~~ THEN REPLY ~That was nothing at all. He was just a coward~ EXIT
END


C'est pourtant pas compliqué, non ? POURCOAAAAAA CA NE MARCHE PAAAAS ?

__________________
MOD KIM TERMINE
- Des centaines de dialogues et d'interactions
- De nombreuses quêtes
- De nouveaux objets magiques
- Une véritable romance

Roman d'Heroic Fantasy en feuilleton (un chapitre par jour)
Intro 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
Grenouillebleue est déconnecté   Réponse avec citation
Vieux 02/10/2003, 22h35   #7
Silk
Invités
 
Messages: n/a
Par défaut

Je ne suis pas assez habitué à WeiDu, mais je pense que tu as un problème de protocole... :heu:
  Réponse avec citation
Vieux 03/10/2003, 00h02   #8
Grenouillebleue
Loup Effrayant
 
Date d'inscription: septembre 2003
Localisation: Paris
Messages: 708
Par défaut

de coa ? :8:
__________________
MOD KIM TERMINE
- Des centaines de dialogues et d'interactions
- De nombreuses quêtes
- De nouveaux objets magiques
- Une véritable romance

Roman d'Heroic Fantasy en feuilleton (un chapitre par jour)
Intro 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
Grenouillebleue est déconnecté   Réponse avec citation
Vieux 03/10/2003, 00h41   #9
Isaya
Minotaure
 
Date d'inscription: juillet 2003
Localisation: Plaisir
Messages: 1 708
Envoyer un message via MSN à Isaya
Par défaut

Je ne sais pas ce que dit le didacticiel, mais il me semble que l'ordre des "états" du dialogue peut avoir une importance (un "état" est un point d'entrée de dialogue). Je crois qu'on met généralement au début ceux qui ont le plus de conditions et qu'on met à la fin ce qui en ont le moins. Souvent le dernier utilise une condition du genre True() qui est donc toujours vrai afin qu'il y ait toujours au moins une condition de vérifiée et que le personnage ait donc quelque chose à dire. C'est peut-être ce qui te manque.
D'autre part, je crois qu'on s'arrange pour l'état où on teste NumTimesTalkedTo() = 0 soit en premier dans l'ordre d'évaluation pour être certain que c'est bien celui-là qui apparaîtra lors de la première conversation, et non pas, comme tu l'as fait dans ton exemple, un test sur la variable Renal (ou KimRenal).
Je ne sais pas comment on code cet ordre dans le fichier .d, j'ai lu ce genre de chose dans la description du format du fichier dlg sur le site IESDP ou bien dans un tutorial de TeamBG sur les dialogues.

Pour ton problème de variable, peux-tu indiquer comment tu fixes la variable à 1 ? Je veux dire qu'il est facile de se tromper de lettre (majuscule ou minuscule, je crois que c'est important de les respecter) et qu'il faut bien toujours utiliser le même deuxième paramètre ("GLOBAL", "LOCAL" ou "ARxxxx") entre l'endroit où tu fixes la variable et l'endroit où tu la testes.
Quand tu dis que ça ne marche, est-ce que ça veut dire qu'il affiche que ton perso n'a rien à dire ? Est-ce que ce que tu as montré est dans le cas du test sur KimRenal le seul contenu du fichier .d, ou y-a-t-il d'autres dialogues ?
Essaie de réduire ton dialogue au minimum (un seul échange). Tant que ça ne marche pas, inutile d'en ajouter d'autres. Tu pourras toujours le faire après dès que tu auras résolu ce premier problème de faire parler le personnage.
Quand tu rencontres des problèmes, essaie toujours de réduire la complexité quitte à ne garder qu'un squelette afin de mieux pouvoir isoler la cause. C'est une règle générale très utile en programmation. Dans ton cas, prends le dialogue, les scripts, ..., les plus simples possibles (un seul échange). Ensuite, quand le truc simple fonctionne, on peut augmenter la complexité, mais toujours progressivement afin de mieux déterminer à partir de quel moment un problème apparaît.
Bon courage.
Isaya est déconnecté   Réponse avec citation
Réponse

Liens sociaux

Tags
Aucune


Utilisateurs regardant la discussion actuelle : 1 (0 membre(s) et 1 invité(s))
 
Outils de la discussion
Noter la discussion
Noter la discussion:

Règles de messages
Vous pouvez créer de nouvelles discussions
Vous pouvez envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are non

Discussions similaires
Discussion Auteur Forum Réponses Dernier message
[BGT] Imoen part après dialogue Vahaldur Baldur's Gate Reloaded : les mods TUTU et Baldur's Gate Trilogy 8 15/12/2007 14h08


Fuseau horaire GMT +2. Il est actuellement 23h12.


Merci de soutenir La Couronne de Cuivre et le Wiki consacré à Baldur's Gate et aux RPG

Les forums La Sirène Rougissante, La Couronne de Cuivre, ainsi que les sites associés Le Portail du Web et Le Monde de Baldur's Gate sont protégés par le Code de la propriété littéraire et artistique. Baldur's Gate I (1998), Tales of the Sword Coast (1999), Baldur's Gate II (2000) Shadows of Amn, et Throne of Bhaal (2001) sont ©BioWare, licenses et distribution ©ATARI. Dungeons & Dragons material est ©Wizards of the Coast. NeverWinter Nights est un produit ©Bioware, licenses et distribution ©ATARI. DRAGON AGE © 2002-2007 BioWare Corp. Dragon Age, the Dragon Age logo, BioWare Corp., and the BioWare logo are trademarks of BioWare Corp. in the United States, Canada and other countries. All other trademarks are the property of their respective owners. All rights reserved.
Conformément à l'article 34 de la loi 78-17 du 6 janvier 1978 dite loi "Informatiques et Libertés" vous disposez d'un droit d'accès, de modification, de rectification et de suppression de vos données personnelles (déclaration CNIL en cours mai 2007). Pour faire valoir ce droit contactez nous en cliquant ici et en utilisant le formulaire à votre disposition


Édité par : vBulletin® version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.2.0 RC7 Tous droits réservés.
Version française #16 par l'association vBulletin francophone

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185