Affichage des résultats 1 à 12 sur 12

Discussion: Avec les différents outils peut-on faire dévier la trame du jeu ?

  1. #1
    Date d'inscription
    October 2006
    Localisation
    Cabestany
    Messages
    150

    Avec les différents outils peut-on faire dévier la trame du jeu ?

    Salut à tous

    Voila je suis en train de creer une nouvelle alternative à la sortie d'Ombre-Terre. Donc le problème c'est que l'on n'affrontera pas Bodhi lors du chapitre6 et qu'elle ne sera même une allié.
    Mais là je me demande si on peut le faire car c'est quand même (à mon petit niveau) une grosse modification du jeu.

    Au départ j'avais prévu de jongler sur la variable que j'ai crée BodhiRomanceActive, et d'implenter mon grand changement durant le dialogue avec Elhan. Mais Comme beaucoup de choses dans l'intrigue principal sont lié à Bodhi(rencontre avec Dritz, recherche d'allié pour faire une razzia chez les vampires,base de Bodhi rempli de méchant vampire,...) je me demandes si ça suffit ou si je dois effectuer plusieurs autres manip.

    Au fait je l'ai posté ici vu que c'est pas un vrai problème technique(pas de donné précise)
    Le retour de l'emrys :P
    Je suis sur NWN 1&2,Dragonshare,BG 1&2,ICWD 1

  2. #2
    Date d'inscription
    May 2004
    Localisation
    Angers
    Messages
    1 102
    Je pense que c'est faisable. D'ailleurs, si ça se trouve, une partie très importante du jeu peut ne dépendre que d'une variable ( je dis ça comme ça, mais j'en sais rien ). En modifiant cette variable à certain moment, tu peux "dévier" l'intrigue principal, enfin j'imagine ( je préfère pas essayer ).


  3. #3
    Date d'inscription
    October 2006
    Localisation
    Cabestany
    Messages
    150
    Au moins si quelqu'un comme toi qui est depuis longtemps dans la création de mod dit que c'est faisable ça me rassure.
    D'après ce que j'ai vu il me semble avoir trouvé la variable lors du dialogue avec Elhan qui change le repaire de Bodhi en enfer. D'ailleurs j'ai remarqué un truc interressant c'est qu'ils ont carrément refais une map rien que pour ça, on a donc dans le jeu 2 maps du repaire de Bodhi pour le même niveau.
    Bon ben si c'est faisable allez j'y vais.
    Au fait merci pour la réponse:346:.
    Le retour de l'emrys :P
    Je suis sur NWN 1&2,Dragonshare,BG 1&2,ICWD 1

  4. #4
    Date d'inscription
    April 2003
    Localisation
    En migration
    Messages
    1 140
    Malheureusement, je ne partage pas l'enthousiame de Shinook :361:

    Si tu t'appuye uniquement sur ta variable tu vas devoir insérer des tests de sa valaur à toute les situations que tu as cités : rencontre avec Drizzt, recherche d'alliés chez les voleurs de l'Ombre ou au coeur radieux, dialogue à l'entrée du cimetière, comportement des vampires dans l'antre de Bodhi, etc.
    Comme l'a dit Shinook, toutes ces situations sont peut-être liées directement, soit indirectement à une seule et unique autre variable. Je me rappele vaguement d'un truc basique du genre Chapter=6 mais je ne suis plus sûr du tout.
    Pour savoir, il te faut lire le code source de plusieurs (sinon toutes )ces situations, et même si c'est faisable comme l'as dit Shinook, c'est une tache assez monumentale.

    EDIT
    Après avoir jeté un coup d'oeil en ce qui concerne le dialogue avec Bodhi (lorsqu'on entre au cimetière au chapitre 6 et qu'elle kidnappe éventuellement le personnage romancé par charname) ainsi que les maps du *nouvel* antre de Bodhi, on peut voir que tout cela est géré dans le premier bloc du script de la zone :
    IF
    OnCreation()
    GlobalGT("Chapter","GLOBAL",5)
    Global("Deactivate0801","AR0800",1)
    InMyArea(Player1)
    THEN
    RESPONSE #100
    FadeToColor([1.0],0)
    SetGlobal("Deactivate0801","AR0800",2)
    DayNight(MIDNIGHT)
    FadeFromColor([20.0],0)
    TriggerActivation("Tran0801a",FALSE)
    TriggerActivation("Tran0801b",FALSE)
    TriggerActivation("Tran0801c",FALSE)
    TriggerActivation("Tran0801d",FALSE)
    TriggerActivation("BodhiInfo1",TRUE)
    TriggerActivation("BodhiInfo2",TRUE)
    TriggerActivation("BodhiInfo3",TRUE)
    TriggerActivation("Tran0808",TRUE)
    Unlock("DOOR12")
    CreateCreatureObjectOffScreen("BODHIAMB",Player1,0,0,0) // Bodhi
    END
    Le seul trigger à portée globale est : chapitre strictement supérieur à 5.
    Les actions TriggerActivation font tout ce qu'il faut pour le nouvel antre de Bodhi.
    Dernière modification par Akadis ; 16/08/2007 à 19h04.
    Développeur du mod Akadis version disponible Beta 3.1b : envoyez moi un MPResponsable de la maintenance du mod Kim

  5. #5
    Date d'inscription
    October 2006
    Localisation
    Cabestany
    Messages
    150
    Ouah un gros merci , j'avais pas vu cette ressemblance sur le début des scripts des nouvelles map de Bodhi.(note sur le callepin, ne pas faire de codage et des recherches sur les modifications possibles après 00h00)

    Si je mets après le IF une variable du style:

    on creation()
    GlobalGT("chapter","GLOBAL",5)
    Global("Deactivate0801","AR0800",1)
    InMyArea(Player1)
    !Global("BodhiRomanceActive","GLOBAL",2)
    !Global("BodhiRomanceActive","GLOBAL",1)
    (d'après ce que j'ai vu le ! sert à dire qu'il ne faut pas que la variable soit activé )

    là les nouvelles maps et le dialogue de Bodhi du chapitre 6 ne devraient pas se charger, par contre pour les autres rencontres j'avais déjà pensé à intégrer ma variable(beaucoup de boulots en perspective)
    Le retour de l'emrys :P
    Je suis sur NWN 1&2,Dragonshare,BG 1&2,ICWD 1

  6. #6
    Date d'inscription
    April 2003
    Localisation
    En migration
    Messages
    1 140
    En effet ca devrait marcher. Le ! est le carectère de négation. Dans ton exemple ça veut dire BodhiRomanceActive n'est ni égal à 1 ni à 2.

    Bon courage pour la modification des autres rencontres.
    Développeur du mod Akadis version disponible Beta 3.1b : envoyez moi un MPResponsable de la maintenance du mod Kim

  7. #7
    Date d'inscription
    July 2003
    Localisation
    Plaisir
    Messages
    6 287
    Le chapitre 6 est constitué uniquement de la recherche, auprès de Bodhi qui l'a volé aux elfes, de l'objet magique dont le nom précis m'échappe, permettant de voir l'entrée de la cité elfe. Si tu ne veux plus tuer Bodhi, il te faut fournir un autre moyen de récupérer l'objet (c'est faisable avec une romance, j'imagine). Il faut aussi neutraliser les actions de scripts, de dialogues, de zones (par exemple des pièges ou des portes) basées sur le chapitre 6, donc la variable, mais aussi (on n'est jamais trop prudent) les variables concernant la mort de Bodhi.
    Je n'oublie pas non plus le fait que Bodhi enlève l'élu de la romance active à l'arrivée au cimetierre au chapitre 6. Il faudrait que tu modifies ça si tu veux éviter une incohérence.

    La grosse difficulté de ces modifications (au delà de la recherche de tous les endroits à corriger) est que ce n'est pas du tout facile de coder un patch comme ça avec WeiDU. Les seuls exemples que tu vas pouvoir trouver sont des mods comme le BG2 Fixpack, Virtue ou la romance de Nalia (j'en oublie sans aucun doute). Et tu ne trouveras hélas pas beaucoup d'explications sur ce qu'ils font et pourquoi. Je veux dire par là qu'un bloc de patch est illisible si on ne sait pas ce qu'il y a dans le fichier avant et après le patch.

    Pour conclure, il n'y a rien d'impossible, mais c'est loin d'être facile.

  8. #8
    Date d'inscription
    October 2006
    Localisation
    Cabestany
    Messages
    150
    Hé bhé comme qui dirait c'est pas gagné.

    Mais à ma grande surprise, j'ai trouvé que peu de rapports dans le jeu avec la mort de Bhodi :

    -nouvelle zone de cimetierre(on peut l'empêcher de charger si j'inclues mes nouvelles variables, d'ou plus d'enlèvement et plus de Bodhi recroquevillé dans son QG avec plein de méchants suceur de sang)

    -un seul dialogue à modifer celui d'Elhan(général Elfe)( bon là c'est comme d'habitude je fais un EXTEND_BOTTOM et comme condition mes variables, et hop le nouveau dialogue prend la place de l'ancien si on romance Bodhi)

    -plusieurs dialogues mineursrizzt, Warsa, Squirt, Clercs1,2,3 , le Prêlat de l'ordre ( il faut juste que je modifie les conditions de ces dialogues pour éviter un faux pas lors de ceux-ci)

    Et ensuite je te code tout ça avec weidu:
    COMPILE pour mes nouveaux dialogues
    COPY pour les nouvelles conditions(je copie dans mon mod les fichiers modifié et après weidu les copie dans le jeu lors de l'installation du mod)

    Et pour finir je finis ma tasse de café avant d'utiliser le marteau sur mon ordi car comme c'est facile à faire weidu ne voudra pas le faire, je commence à le connaître ce petit programme.

    Bon voila mon idée, avis aux experts, cela peut-il marcher ou pas?
    Le retour de l'emrys :P
    Je suis sur NWN 1&2,Dragonshare,BG 1&2,ICWD 1

  9. #9
    Date d'inscription
    April 2003
    Localisation
    En migration
    Messages
    1 140
    Le gros problème si tu override les scripts (ou les dialogues) c'est les incompatibilité entre mod. je suppose que c'est pour ça qu'Isaya te conseille de regarder dans BG2FixPack ou d'autre pour pour PATCHER e non overrider ces scripts.
    Développeur du mod Akadis version disponible Beta 3.1b : envoyez moi un MPResponsable de la maintenance du mod Kim

  10. #10
    Date d'inscription
    October 2006
    Localisation
    Cabestany
    Messages
    150
    Bon ok maintenant j'entrevois clairement le problème.
    Désolé Isaya je n'avais compris la différence entre patcher et "overrider". Il n'ya pas de problème, il n'y a que des solutions pour la suite je vais regarder la structure de BG2Fixpack en espérant que ce soit lisible ou d'autre mod dans ce style et j'adapte mon mod sur leur méthode.
    Merci encore à tous pour votre aide

    EDIT: Bon après avoir farfouillé dans tout les mod que je possède, j'ai trouvé plusieurs opérations qui me semblent possible:

    1)COPY_EXISTING ~la zone en question.bcs~ ~override~
    DECOMPILE BCS_TO_BAF
    REPLACE_TEXTUALLY ~une variable déja présente~
    ~ma nouvelle variable~
    COMPILE BCS_TO_BAF

    2)EXTEND_BOTTOM ~la zone.bcs~ ~l'ajout~

    Pour la façon 1 c'est un peu la même chose que faire un COPY dans mon cas.
    Pour la façon 2 on ne peut implémenter l'ajout dans une partie précise du script.
    Sinon il existe une façon PATCH_ IF, mais d'après ce que j'ai vu elle n'est pas utilisable pour les scripts
    Bon pour modifier les conditions de certains dialogues je prends la 2ème façon, mais c'est pour le cimetierre que je ne sais comment faire.

    Donc là encore je fais apelle au pro du weidu. Vivement ce point noir de mon mod terminé le reste sera beaucoup plus classique à réalisé.
    Dernière modification par emrys ; 18/08/2007 à 16h39.
    Le retour de l'emrys :P
    Je suis sur NWN 1&2,Dragonshare,BG 1&2,ICWD 1

  11. #11
    Date d'inscription
    July 2003
    Localisation
    Plaisir
    Messages
    6 287
    Le problème des EXTEND_BOTTOM, c'est justement qu'ils ajoutent des trucs à la fin des scripts ou des dialogues. Dans le cas des scripts (pour les dialogues, j'ai un doute sur l'ordre d'évaluation), ce nouveau bloc ne sera pris en compte que si aucun autre bloc avant n'a vu ses conditions vérifiées. Si le même ordre s'applique aux dialogues, l'ajout en fin de dialogue sera inutile si une condition précédente du dialogue d'Elhan existe pour te dire de dépêcher de tuer Bodhi. Si un tel cas existe, il te faudra aussi neutraliser le test qui déclencherait ce dialogue gênant.

    La méthode consistant à décompiler puis patcher en texte est la bonne pour ce cas de patch. Néanmoins, pour avoir pratiqué ce genre de recherche-remplacement sous Unix, je peux dire que ce n'est pas chose facile si ce qu'il faut modifier déborde d'une ligne. Préciser qu'il faut inclure un saut de ligne dans le texte à chercher (par exemple pour supprimer une ligne d'une condition) n'est pas toujours chose aisée. J'ignore les possibilités de WeiDU en ce domaine.

    Le patch WeiDU constitue d'après moi la partie finale de la création du mod. Pour ma part, avec un tel mod, je commencerais par mettre au point les scripts en les modifiant directement avec Near Infinity (ou autre compilateur direct). Une fois que tu as quelque chose qui fonctionne, tu peux alors te poser la question de réaliser le patch permettant d'arriver à ce que tu as pu tester. En faisant une analogie avec l'automobile, il n'est pas nécessaire d'attendre le premier de série pour commencer à tester le nouveau châssis et le nouveau moteur et te rendre compte des problèmes. Tu fais un prototype que tu testes à fond et ensuite tu le modifies si nécessaire pour pouvoir le produire en série. Autrement dit, mets d'abord au point tes scripts et dialogues sans te préoccuper des patchs et ensuite il sera temps de les écrire sous forme de patch. Pour sécuriser le principe et ne pas attendre la fin pour constater des gros problèmes, il te suffit de faire un essai de conversion en patch dès que tu as mis au point un dialogue ou un script modifié.
    D'autres ont peut-être un avis différent sur la méthode de travail.

    Sur un tout autre plan, le scénario, je me pose des questions. Tu parles de romance, donc il n'est plus question de tuer Bodhi mais au contraire de la recruter. Il faudrait neutraliser les offres d'aide des différents personnages qui intervenaient pour s'attaquer aux vampires, ou bien gérer le retournement d'alliance (le joueur a accepté l'aide puis cède à l'offre de Bodhi, donc les anciens alliés ne devraient pas rester les bras croisés dans le cimetierre ou ses cryptes). En pratique, il te faudrait même introduire des dialogues aux leaders (pas ceux qui interviennent dans l'antre) pour les convaincre de ne pas s'en prendre à elle ou au contraire les combattre.
    Par la même occasion, il te faudrait aussi traiter le cas des joueurs qui ont une romance en cours avec un autre personnage féminin : tu donnes l'ancien amour en pâture à Bodhi ?
    Dernière modification par Isaya ; 18/08/2007 à 19h14.

  12. #12
    Date d'inscription
    October 2006
    Localisation
    Cabestany
    Messages
    150
    Pour EXTEND_BOTTOM comme les dialogues sont numérotés il suffit de préciser à quel moment tu veux intégrer ton nouveau dialogue, dans le cas des dialogues lors de la recherche d'allié j'inclue dès le départ de nouveaux dialogues lorsque ma variable est à 2 ou 1. Pour le cas d'Elhan c'est juste avant qu'il me demande de récupérer le Lanthorn. Normalement les dialogues ne seront pas le plus gros problème(sauf si j'ai oublié un truc important)

    OUAI j'ai une méthode qui marche!! mais comme tu le fais remarquer je ne suis pas sur que l'on peut remplacer une condition par plusieurs autres ou la supprimer car d'après les mods que j'ai vu je n'ais pas trouvé de précédent:361:

    En ce qui concerne ta méthode j'apllique une méthode différente en couchant sur papier la plupart des changements que je veux opérer les protagonistes qui vont subir des changements et bien sur les nouveaux dialogues et les quêtes.Ensuite j'essaye de les insérer petit à petit en vérifiant à chaque fois que je n'ai pas de problème avec weidu et ENFIN(juste avant de mourrir d'une overdose de weidu) je fais mon petit alpha-test personel avant de chercher des bêta-testeurs. Je préfere coder avant pour voir justement si c'est possible ou pas avant de continuer dans la voie scénaristique que j'ai initialement prévu.

    Pour le scénario voila comment je le prévoie durant le chapter 6 :
    ->lors du dialogue avec Elhan: possibilité de continuer, améliorer ou rompre sa romance avec Bodhi
    ->Si romance continue le PJ ne pourra pas demander l'aide d'allié pour tuer Bodhi car il sera contacté par un vampire assez rapidement(juste après la rencontre avec Drizzt)
    ->Bodhi lui fait une offre se le PJ accepte d'aider Bodhi a avoir plus de pouvoir sur Amn alors elle sera d'accord pour lui céder le Lanthorn(5 quêtes enclenchées, dont quelques une concernant les leaders adverses)
    ->évolution de la romance entre les quêtes( Bodhi en ayant acqui l'âme d'Imoen commence a éprouver des sentiments).
    -> Si Imoen est dans le groupe un dialogue spécial s'enclenchera déterminant le reste de la romance et la vie d'Imoen(Si le PJ veut continuer la romance, Bodhi vampirisera Imoen pour en faire une alliée du PJ sans faille ou pire... )
    -> Bodhi commence a entrevoir des possibilitées interressantes en se battant aux côtés du PJ( dont celle de pouvoir manipuler un enfant de Bhaal) elle décide de l'aider à se frayer un chemin jusqu'à Irénicus en se joignant au groupe
    ->Devant Elhan elle se fait passer( à l'aide d'un sort que l'un de ces vampires connait) pour une nouvelle allié du PJ
    -> A la cité elfique elle ordennera au PJ de l'aider à vampiriser les elfes encore en vie(possibiliter de refuser= fin de romance)
    -> Se retrouvera face à Irénicus avant de pouvoir mordre Ellisime, durant les épreuves de l'enfer elle fera le choix d'aider le PJ ou Irénicus ou de regarder le combat (Fin de la Romance)
    En ce qui concerne les autres romances en cours Bodhi ne s'en inquiétera pas, mais si le PJ montre une très grande attirance envers Bodhi, les autres romances s'arrêteront.

    Au fait sur mon mod je ne proposerai pas que la romance de Bodhi, mais c'est celle qui est le plus abouti pour l'instant

    De toute façon je vais demander à un modérateur de m'ouvrir une section dans le coeur de la forge vu le nombre de post que je pose régulièrement dès que j'ai un problème ça permettra de les regrouper
    Le retour de l'emrys :P
    Je suis sur NWN 1&2,Dragonshare,BG 1&2,ICWD 1

Discussions similaires

  1. Où faire de l'xp avec Dynaheir ?
    Par Mitsuko dans le forum La Taverne de Château-Suif (Baldur's Gate 1)
    Réponses: 10
    Dernier message: 11/01/2009, 22h11
  2. Faire un CD avec les musiques de BG ?
    Par Xor de Xirius dans le forum La Taverne d'Amkethran (Baldur's Gate 2)
    Réponses: 5
    Dernier message: 06/09/2008, 17h04
  3. Que faire avec le minerai d'étoile ?
    Par Zataz dans le forum La Taverne d'Amkethran (Baldur's Gate 2)
    Réponses: 2
    Dernier message: 02/08/2005, 22h57
  4. Le Backstab peut faire planter
    Par Beorn Devir dans le forum ScreenShots Zone
    Réponses: 1
    Dernier message: 27/07/2005, 20h10
  5. [MORRO] Trame de l'histoire
    Par Unnamed Unknown dans le forum L'île de Vvardenfell (Morrowind)
    Réponses: 9
    Dernier message: 22/12/2004, 15h06

Les tags pour cette discussion

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