Affichage des résultats 1 à 16 sur 16

Discussion: [CARTES] Ma carte fait planter le jeu

  1. #1
    Date d'inscription
    May 2004
    Localisation
    Angers
    Messages
    1 102

    [CARTES] Ma carte fait planter le jeu

    Voilà, j'ai repris la zone AR1613, j'ai enlevé tout ce qui ne m'intéressait pas, et je l'ai laissée vierge pour la tester, cependant, lorsque je la charge dans BG2 grâce à la CLUAConsole, le jeu plante à la moitié du chargement.
    J'ai déjà fait ce genre de manipulation avec les cartes, mais là je ne vois vraiment pas...
    Je précise qu'il n'y a ni "ambiance", ni créatures, ni animation, ni containers, ni triggers, ni entrance, enfin que dalle quoi ( à l'origine j'avais rajouté un perso, des scripts, des dialogues, mais comme ça plantait, je les ai temporairement supprimés ).
    En fait, j'ai simplement copié les fichiers suivants ( .are, .mos, .tis, .wed, les 3 .bmp ) dans le répertoire override, comme d'habitude en fait...

    Qu'est-ce qui ne marche pas, sachant que les fichiers sont correctement copiés et ont tous le même nom ( que j'ai changé en NBG#Oril ) :snif: ...
    Dernière modification par Freddy_Gwendo ; 09/04/2016 à 15h56. Motif: Modification du titre de la discussion


  2. #2
    Date d'inscription
    July 2003
    Localisation
    Plaisir
    Messages
    6 286
    Je ne sais pas si c'est la cause du problème mais les fichiers TIS dans le répertoire Override ont besoin d'un en-tête spécial. Si tu n'as pas extrait le fichier TIS avec un outil créant cet en-tête, tu auras certainement des problèmes. Je ne suis pas certain des outils qui gèrent ça correctement. Néanmoins DLTCEP devrait fonctionner.
    Si tu veux reprendre les graphismes d'une zone, tu n'as pas besoin de recopier le fichier TIS et tu peux pointer sur l'original.
    Je t'invite à consulter le forum de DLTCEP, je me souviens qu'il y avait eu des discussions sur ce sujet, en particulier du fait de la présence d'une fonction d'importation depuis un autre jeu comme IWD2 dans BG2.

    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
    May 2004
    Localisation
    Angers
    Messages
    1 102
    Très bien, je vais regarder, mais je n'avais jamais fait ça avant, et ça marchait très bien :heu: . Par contre, j'ai remarqué pour le fichier .tis justement, qu'il n'était écrit qu'en minuscules lorsqu'on sauvegarde la carte, contrairement aux autres fichiers associés ( si jamais je décide de mettre des majuscules ).

    Voici ce que ça donne pour mes fichiers :
    NBG#Oril.are
    NBG#Oril.wed
    NBG#Oril.mos
    nbg#oril.tis
    NBG#OrilHT.bmp
    NBG#OrilLM.bmp
    NBG#OrilSR.bmp

    Mais j'ai essayé de changer le .tis en mettant les majuscules comme pour les autres, et ça ne change rien... en tout cas, c'est bien un fichier de la carte qui fait planter.

    Edit : Ca y est, c'est bon. J'ai d'abord utiliser "Delete everything in this area", j'ai refais quelques"walls", les containers, etc... et j'ai renommé mes fichiers en ARoril. Conclusion, ça marche. Donc je pense que ça pouvait venir du nom, c'est peut-être le caractère "#" qui ne fonctionnait pas...


  4. #4
    Date d'inscription
    May 2004
    Localisation
    Angers
    Messages
    1 102
    ( Désolé pour le double post )

    Bon ça c'est réglé, maintenant j'ai un autre problème, au niveau d'un script pour enclencher une cutscene. Celle-ci ne veut pas se déclencher.
    Voici le premier script "orilfirs.bcs" : ( associé à la carte créé précédemment )
    Code:
    IF
      PartyHasItem("pommDS")
      !Dead("Orilian")
      See([PC])
    THEN 
      RESPONSE #100
        ClearAllActions()
        StartCutSceneMode()
        StartCutScene("orilians")
    END
    La condition principale était que le groupe ait en sa possession l'objet "pommDS.itm" ( c'était la seule condition à l'origine, mais commme ça ne marchait pas, j'en ai rajouté ). Cet objet se trouve dans un container, et le script doit donc s'enclencher dès que l'objet a été pris, alors que le personnage regarde encore l'inventaire du container.
    Dans IETME, lorsque j'ai créé ma carte, j'ai spécifié dans l'espace "Associated script" le nom "orilfirs" ( sans les guillemets ni l'extension du fichier ).

    Voici maintenant le second script pour les actions, "orilians.bcs" :
    Code:
    IF 
      True()
    THEN 
      RESPONSE #100
        CutSceneId(Player1)
        ActionOverride("Orilian",MoveToPoint([480.336])
        ActionOverride("Orilian",FaceObject([PC]))
        Wait(2)
        StartDialog("orilian1",[PC])
        Wait(1)
        CreateVisualEffectObject("SPSTRENH",Orilian)
        Wait(1)
        ActionOverride("Orilian",DestroySelf())
        CreateCreature("Orilian1",[480.336],[PC])
        StartDialog("orilian2",[PC])
        ActionOverride("Orilian1",Ennemy())
        EndCutSceneMode()
    END
    J'ai bien vérifié que les noms de fichier étaient corrects. Les dialogues sont basiques ( 2 mots par dialogue, pour tester ), ce n'est donc pas là que ça cloche...
    En gros, le personnage Orilian.cre qui a l'apparence d'un chat doit, dès que l'équipe a pris l'objet pommDS.itm, se placer sur un point de la carte, parler une première fois au PJ, puis se changer en humain ( Orilian1.cre ), parler une deuxième fois et ensuite devenir un ennemi. Là se finit la cutscene.

    Qu'est-ce qui ne va pas ? :heu:
    Dernière modification par Freddy_Gwendo ; 09/04/2016 à 15h57. Motif: Modification du titre de la discussion et mise en page


  5. #5
    Date d'inscription
    July 2003
    Localisation
    Plaisir
    Messages
    6 286
    c'était la seule condition à l'origine, mais commme ça ne marchait pas, j'en ai rajouté
    Quand tu ajoutes des conditions, tu augmentes encore la probabilité que le cas ne se présente pas. Il faut que toutes les conditions soient vérifiées pour passer au corps du IF, donc c'est encore moins probable quand tu mets davantage de conditions.

    Par rapport à ton problème, peux-tu préciser si tu as utilisé le premier script comme script de zone ou plutôt comme script de trigger de proximité ? Dans le premier cas, la fonction See([PC]) ne doit pas pouvoir fonctionner. Il faudrait qu'elle soit associé à un script de trigger de proximité (genre porte ou piège) pour que ça ait des chances de marcher. Sinon, il n'y a personne (ou ici, rien, c'est à dire pas d'objet) pour voir.
    Pourrais-tu préciser ce qui se passe également ? Tu dis que ça ne se déclenche pas, mais qu'est ce qui te fait dire ça ? Fais un deuxième script on ne peut plus basique (un perso qui bouge, qui dit quelque chose sans dialogue, qui s'affiche au dessus du personnage, par exemple). Vois si ça marche.

    Cela dit, puisque tu dis que la scène ne se déclenche pas, ça n'a probablement rien à voir avec le second script.
    Par rapport à celui-ci, es-tu sûr que tu puisses considérer que le dialogue va bloquer la suite du script. Il me semble au contraire que ça ne marche pas. Néanmoins, ce n'est pas ce qui empêche le script de démarrer au moins jusqu'au premier dialogue.
    Le StartDialog() avec [PC] est surprenant, étant donné que c'est déjà Player1 qui est en action du script (via CutSceneID(Player1)). J'aurais plutôt vu "Orilian" comme objet du dialogue dans ce cas (je ne suis pas sûr de ça néanmoins).
    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 !

  6. #6
    Date d'inscription
    May 2004
    Localisation
    Angers
    Messages
    1 102
    En fait, pour l'action StartDialog(), j'étais pas sûr du nom à mettre, et au début j'avais mis "Orilian" justement.
    Je vais essayer quelque chose simple, comme tu le dis. En fait, le premier script est un script de zone ( normalement ). Qu'est-ce que tu appelles un script de trigger de proximité ? :heu:
    Pour les conditions, il me semblait bien que tout ça servait à rien . Donc je vais essayer ton idée, et je verrai.
    Quand je dis que ça ne s'enclenche pas, ben c'est que je peux toujours cliquer sur l'écran, le ClearAllActions() ne marche pas non plus, etc...

    Edit : J'ai essayé en mettant seulement une condition ( avoir l'objet ), et j'ai mis 2 actions : DisplayStringHead('texte') et ActionOverride("Orilian",DestroySelf()), marche toujours pas :snif: ( rien ne se passe, le jeu continue normalement ).


  7. #7
    Date d'inscription
    July 2003
    Localisation
    Plaisir
    Messages
    6 286
    Exemple de trigger de proximité : sous la Couronne de Cuivre, les tuyaux qu'il sélectionner dans le bon ordre pour obtenir Lilacor. Dans Near Infinity, charge la zone AR0404 et va voir dans ce qu'il appelle "Points of interest". Tu peux associer un script : c'est ce qui permet au jeu de gérer les contrôles sur l'ordre d'utilisation et envoyer un éclair en cas d'erreur.
    C'est vrai que dans ton cas, tu peux utiliser le script de zone.
    Ton premier script a un gros problème : si tu ne mets comme condition que le fait d'avoir l'objet, ton bout de script va s'exécuter en boucle. Pour éviter ça, il te faudrait une autre condition, une variable par exemple, que tu modifierais dès que tu arrives dans le corps du IF (la partie THEN) pour éviter que la condition soit encore vrai après que tu aies exécuté ce que tu veux faire. Ou alors, il te faut reprendre rapidement l'objet pour éviter que la condition soit encore vrai la fois suivante (le rafraîchissement d'IA indiqué dans les options, par défaut 30, indique le nombre de fois par seconde où le script est réévalué).

    Exemple:
    Code:
    IF
      PartyHasItem(...)
      GLOBAL("DejaTeste", "ARxxxx", 0)
    THEN
      RESPONSE #100
        SetGlobal("DejaTeste", "ARxxxx", 1)
        ...
    END
    L'absence de ce genre de contrôle pourrait provoquer un problème dans le jeu car il essaierait de lancer en permanence la cutscene.
    Dernière modification par Freddy_Gwendo ; 09/04/2016 à 15h59. Motif: Mise en page
    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 !

  8. #8
    Date d'inscription
    May 2004
    Localisation
    Angers
    Messages
    1 102
    J'y ai déjà pensé, et j'ai fait exactement comme ça, mais ça n'avait pas marché. Je peux toujours retenter, et on verra...

    Edit : Toujours pas :snif: , j'ai même changé la condition en mettant InParty("Nalia") ( j'ai vérifié que je l'avait adns le groupe quand même ). La cutscene ne s'enclenche pas même avec la variable.

    Edit 2 : Et si je faisait tout en un seul script, ça marcherait ?


  9. #9
    Date d'inscription
    July 2003
    Localisation
    Plaisir
    Messages
    6 286
    Ajouter des conditions, même si tu es sûr qu'elles sont vérifiées, ne changera rien. Je rappelle que les conditions "s'ajoutent" et que si le problème vient du fait qu'une n'est pas vérifiée, ces ajouts ne changeront rien au problème.

    On pourrait penser que ton premier script n'est pas accepté comme script de zone. Essaie ce simple script :

    Code:
    IF
      Global("Essai", "ARxxxx", 0)
    THEN
      RESPONSE #100
        SetGlobal("Essai", "ARxxxx", 1)
    END
    Remplace "ARxxxx" par ton nom de zone, ou encore pas "GLOBAL", au pire.
    Lance le jeu, va dans la zone. Ouvre la console et va lire la valeur de la variable "Essai". Si elle n'est pas à 1, c'est que ton script n'est pas pris en compte comme script de zone. Commence par régler ce problème là avant d'aller plus loin.

    Pour répondre à ta deuxième question, je pense qu'il vaut mieux éviter de scripter des scènes au milieu d'un script de zone. J'ai un peu galéré avec les scripts de téléportation d'Epic Endeavours parce qu'ils faisaient justement ça.
    Dernière modification par Freddy_Gwendo ; 09/04/2016 à 15h59. Motif: Mise en page
    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 !

  10. #10
    Date d'inscription
    May 2004
    Localisation
    Angers
    Messages
    1 102
    Comment je fais pour voir la variable dans la console ? J'ai essayé GetGlobal("Essai") mais je ne sais pas ce que je dois mettre comme 2ème argument...

    Par contre, je peux aussi essayer de forcer la variable à passer à 1 et voir si la cutscene marche grâce à la console ?


  11. #11
    Date d'inscription
    July 2003
    Localisation
    Plaisir
    Messages
    6 286
    Va voir la documentation sur la console sur le site "Le monde de Baldur's Gate" (lien en haut à gauche) ou sur IESDP. Le deuxième paramètre est comme dans les scripts, il me semble, à savoir "GLOBAL", "ARxxxx", "LOCAL". Donc utilise celui que tu as mis dans ton script.

    La modification de variable à la main depuis la console a effet direct dans le jeu. Donc ça pourrait déclencher quelque chose selon le script de la zone.

    Un dernier truc qui me vient à l'esprit pour ton problème. La précédence des scripts entre les "master areas" et les autres peut aussi poser des problèmes. Si le test simple que je te proposais ne donne rien, jette un coup sur ce problème. Le tutorial de SimDingo sur les scripts (site PPG) en parle, il me semble.
    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 !

  12. #12
    Date d'inscription
    May 2004
    Localisation
    Angers
    Messages
    1 102
    Pour le <string2> j'ai déjà essay" de mettre le nom de ma carte et même GLOBAL, mais ça ne marche pas... peut être qu'il ne trouve pas la variable, ou alors c'est que ce que je dois mettre dans ce <string2> c'est autre chose...


  13. #13
    Date d'inscription
    July 2003
    Localisation
    Plaisir
    Messages
    6 286
    As-tu bien consulté la documentation du site IESDP ? Utilises-tu la bonne syntaxe de commande (précédé par CLUAConsole:, variable et GLOBAL ou ARxxxx entre guillemets, virgules de séparation) ? Je peux confirmer que la commande fonctionne parfaitement également pour des variables dites locales (associées à un personnage) comme les variables de romance, pour peu que le personnage en question soit sélectionné ou pointé par le curseur de la souris.
    Si tu as un message d'erreur, c'est un défaut d'écriture de la commande. Une variable qui n'existe pas donnera la valeur 0.
    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 !

  14. #14
    Date d'inscription
    May 2004
    Localisation
    Angers
    Messages
    1 102
    La syntaxe est bonne maintenant, j'avais du faire une erreur. Par contre, quand j'entre la commance il me dit que cette variable n'existe pas...
    CLUAConsole:GetGlobal("Essai","ARoril")
    ESSAI ARORILDoes not exist
    C'est quelque chose comme ça.


  15. #15
    Date d'inscription
    July 2003
    Localisation
    Plaisir
    Messages
    6 286
    Pour arriver à lire une variable d'une zone, il me semble qu'il faut que tu sois présentement sur la carte en question. Peut-être est-ce pour ça qu'il te dit qu'il ne trouve pas la variable.
    Essaie avec une variable globale pour comparer (une existante et une fausse).
    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 !

  16. #16
    Date d'inscription
    May 2004
    Localisation
    Angers
    Messages
    1 102
    D'accord je vais essayer mais j'étais bien sur la carte en question pour tester la variable... là je ne comprend vraiment plus rien.


Discussions similaires

  1. [TECH] Changer de résolution fait planter le jeu
    Par Mathieu dans le forum L'Académie de Padhiver (NWN 1)
    Réponses: 3
    Dernier message: 21/12/2014, 19h35
  2. Réponses: 7
    Dernier message: 18/07/2014, 17h09
  3. [BUG] Generalized Biffing fait planter ToBEx
    Par Freddy_Gwendo dans le forum Méga-mods : Big Picture, The Darkest Day, Shadow Over Soubar, Tortured Souls, Check The Bodies, Nev
    Réponses: 3
    Dernier message: 07/05/2013, 09h24
  4. [MOD] Refinements fait planter les autres Weidu ?
    Par Non inscrit dans le forum Le Bazar de l'Aventurier
    Réponses: 3
    Dernier message: 13/09/2007, 21h02
  5. [PNJ] L'implantation de mon NPC fait planter le jeu
    Par xena dans le forum Créatures, Monstres et NPC
    Réponses: 11
    Dernier message: 23/05/2006, 18h10

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