Affichage des résultats 1 à 7 sur 7

Discussion: [DLG] Comment lancer un dialogue après un repos ?

  1. #1
    Date d'inscription
    March 2011
    Localisation
    Lyon
    Messages 
    3

    [DLG] Comment lancer un dialogue après un repos ?

    Salut!

    Pour un premier post sur le forum, j'aurai besoin des weidusiens:

    NI et IESDEP sont restés muets, et pourtant, dans la jeu, il y a nombre de moments ou un dialogue ou un combat se déclenche quand on appuie sur "repos" (ex: Romance d'Anomen pour faire simple)
    J'ai besoin de lancer un dialogue de la même façon: le joueur appuie sur repos, le dialogue se lance;

    Bref, PartyRested() n'est que pour l'"après repos" et ne corresponds pas à ce que je veux, j'ai donc testé divers petits moyens sans trouver ZE truc qui corresponds.....

    Quelqu'un l'aurai sous le coude? Ou mieux encore, l'aurai intégré à son mod/projet?

    Merci d'avance!
    Dernière modification par Freddy_Gwendo ; 02/04/2016 à 03h18. Motif: Modification du titre de la discussion

  2. #2
    Date d'inscription
    July 2003
    Localisation
    Plaisir
    Messages 
    6 826
    Bonjour Anouchka,

    Ce mécanisme est pris en charge par un script, généralement appelé nompnjD.BCS. Ce script doit être référencé dans le fichier pdialog.2da, dans la colonne DREAM_SCRIPT_FILE.

    On peut penser qu'il est appelé à chaque repos. Il faut donc introduire dans le script les conditions nécessaires pour qu'il ne se déclenche qu'au moment opportun, typiquement en fonction de la variable qui dicte l'avancement de la romance.

    Puisque tu cites Anomen, voici ce que donne le script ANOMEND.BCS
    Code:
    IF
    	!Global("AnomenRomanceActive","GLOBAL",0)
    	!Global("AnomenRomanceActive","GLOBAL",3)
    	Global("AnomenMatch","GLOBAL",1)
    	See(Player1)
    	CombatCounter(0)
    	OR(2)
    		Global("LoveTalk","LOCALS",31)
    		Global("LoveTalk","LOCALS",35)
    THEN
    	RESPONSE #100
    		IncrementGlobal("LoveTalk","LOCALS",1)
    		RealSetGlobalTimer("AnomenRomance","GLOBAL",1)
    		PlaySong(35)
    		Interact(Player1)
    END
    Cela ressemble beaucoup aux blocs de script employés dans le script principal du PNJ pour les autres dialogues de romance.

    Parmi les mods qui s'en servent, je peux citer Chloe Romance. Ce n'est peut-être pas un modèle en général, car il est très ancien. Mais il exploite cette possibilité. J'aurais dû m'en souvenir, car il m'avait fallu corriger le fichier TP2 du mod pour que ça fonctionne après la conversion pour compatibilité avec BGT. Il doit même encore rester un commentaire à mon nom dans le fichier. Pourtant j'avais oublié.

    Pour l'écriture de romance, il existe à ma connaissance un seul tutorial qui couvre un peu tous les aspects. C'est celui de Rastor. Il n'est pas tout à fait complet, notamment parce qu'il ne traite pas du dialogue de l'arbre de vie, mais il couvre justement cet aspect du dialogue avant et après le sommeil.

    Bonne continuation.
    Peu disponible
    Guide d'installation (et FAQ) de Baldur's Gate, Baldur's Gate II, Baldur's Gate Trilogy (BGT), BG1Tutu, Widescreen, BGEE
    Pensez à utiliser à la fonction Recherche pour trouver une réponse à votre question !

  3. #3
    Date d'inscription
    March 2011
    Localisation
    Lyon
    Messages 
    3
    Merci pour ta réponse, je vais potasser tout ça

    Dératiseur m'a aussi fourni des éléments de réponse, et m'a permis d'avancer:

    http://weiducommando.forumsactifs.co...ppuie-sur-dodo

    Testé in game, ca marche, le dialogue se lance parfaitement

    Merci beaucoup en tous cas!

  4. #4
    Date d'inscription
    July 2003
    Localisation
    Plaisir
    Messages 
    6 826
    Je vois deux défauts (le second est seulement potentiel) à la méthode suggérée par dératiseur :
    • comme il semble que ce soit dans le script de comportement du personnage, ce bloc sera testé en permanence pour rien, ce qui aura pour effet de ralentir le jeu ; peut-être pas beaucoup, mais ce genre de surcharge inutile d'un script exécuté en permanence participe au ralentissement global en cas de méga-installation
    • j'ignore si cette combinaison d'états testée (CD_STATE_NOTVALID) est fiable pour ce que tu veux faire. Quand on regarde cette valeur (ajoutée par le BG2 Fixpack, elle n'existe pas avec un jeu non moddé, donc il faudra prévoir dans ton TP2 le code pour l'ajouter, ou alors vérifier que le BG2 Fixpack est bien installé), on constate qu'elle couvre presque tous les cas où le personnage n'est effectivement pas disponible, sauf STATE_CHARMED, ce qui pourrait signifier que le dialogue pourrait se déclencher même dans le cas où CHARNAME est charmé (pour Xan, dans l'exemple cité par dératiseur, on peut imaginer que son script ne s'exécute plus sous l'effet d'un charme).


    A contrario, la méthode indiquée par Rastor utilise un script qui est lancé uniquement au moment du repos et n'a probablement pas besoin de contrôle d'état sortant de l'ordinaire : le repos est refusé si le jeu détecte des conditions de type combat (personnage sous l'effet de certains sorts notamment).

    Enfin, il vaut toujours mieux avoir deux solutions possibles au lieu d'une seule.
    Peu disponible
    Guide d'installation (et FAQ) de Baldur's Gate, Baldur's Gate II, Baldur's Gate Trilogy (BGT), BG1Tutu, Widescreen, BGEE
    Pensez à utiliser à la fonction Recherche pour trouver une réponse à votre question !

  5. #5
    Date d'inscription
    March 2011
    Localisation
    Lyon
    Messages 
    3
    Désolée je réponds un peu tardivement, j'ai eu peu de temps à moi recemment

    pour le (CD_STATE_NOTVALID) , aucun problème, mon TP2 en est équipé depuis le début, c'est "rodé"

    Pour ce qui est du problème du ralentissement, en effet je n'y avait pas pensé. chez moi, il n'y aucun ralentissement, mais je te fais confiance si tu dis que ca peut poser problème...Je tenterais la version de Rastor sous peu, histoire de voir laquelle des deux façon me convient le mieux!

    Merci pour ton aide en tous cas!

  6. #6
    Date d'inscription
    March 2012
    Localisation
    Bordeaux
    Messages 
    9
    Bonjour
    J'ai vu que des solutions fiables avaient été trouvées pour ce problème, mais j'en ai trouvé une autre en parcourant des tutos.
    Vous pourrez lire la totalité du tuto à cette adresse : http://www.shsforums.net/topic/36780...-and-romances/

    Triggering dialogues before rest
    When you want something to happen before rest, it needs to go into the NPC's dream script. All NPC dream scripts are checked right before resting. An NPCs dream script is the same as their override script, with a "D" on the end. So, if the override script is ##NPC the dream script would be ##NPCD.
    Je ne peux pas vous certifier que ça marche, je me suis juste rappelé en le lisant que la question avait été posée ici.


    EDIT pour Isaya:
    Désolé pour le doublon de réponse alors qu'en plus "je sors de nul part"
    Je me suis senti redevable à force d’apprendre plein de trucs, et j'ai cru ne pas avoir lu la solution ici et je suis tombé dessus ailleurs ...
    Bref, je vais laisser "aux grands" le soin de répondre, surtout quand c'est déjà fait, et m'acheter des lunettes
    Dernière modification par Wolghaï ; 27/09/2012 à 21h58. Motif: désolé pour le doublon

  7. #7
    Date d'inscription
    July 2003
    Localisation
    Plaisir
    Messages 
    6 826
    Il me semble que c'est exactement ce que j'ai écrit dans le message #2, et en français.

    Wolghaï : il n'y a ni grand ni "sorti de nulle part" quand il s'agit d'apporter des bonnes réponses. Le tutoriel que tu cites est très intéressant et montre que ma remarque du message #2 était fausse : il existe d'autres tutoriels que celui que j'indiquais.

    Mes excuses pour la remarque présomptueuse.
    Dernière modification par Isaya ; 27/09/2012 à 22h09. Motif: réponse à l'édit de Wolghaï
    Peu disponible
    Guide d'installation (et FAQ) de Baldur's Gate, Baldur's Gate II, Baldur's Gate Trilogy (BGT), BG1Tutu, Widescreen, BGEE
    Pensez à utiliser à la fonction Recherche pour trouver une réponse à votre question !

Discussions similaires

  1. [BG1][BUG] Coincé après un repos dans la Tour de Durlag
    Par barbu dans le forum La Taverne de Château-Suif (Baldur's Gate 1)
    Réponses: 1
    Dernier message: 26/06/2015, 21h29
  2. [BGT] Crash du jeu après un repos !
    Par PhoenixiR dans le forum Baldur's Gate Reloaded : les mods TUTU et Baldur's Gate Trilogy
    Réponses: 17
    Dernier message: 11/02/2014, 12h12
  3. Réponses: 3
    Dernier message: 14/03/2013, 17h21
  4. [BGT] Après Saverok et ToSC, que faire avant de lancer BG2 ?
    Par jc.lhf dans le forum Baldur's Gate Reloaded : les mods TUTU et Baldur's Gate Trilogy
    Réponses: 4
    Dernier message: 19/01/2011, 13h15
  5. Réponses: 2
    Dernier message: 14/12/2008, 21h53

Règles de messages

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

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 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250