![]() |
| Merci de prendre connaissance des conditions d'utilisation des forums, des blogs et du chat |
| | |||||||
| 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. |
![]() |
| | Outils de la discussion | Noter la discussion |
| | #1 |
| Araignée Éclipsante ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Date d'inscription: mai 2004 Localisation: dans le vent...
Messages: 1 266
| 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: ... |
| | |
| | #2 |
| Gelée de Moutarde ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | 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. |
| | |
| | #3 |
| Araignée Éclipsante ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Date d'inscription: mai 2004 Localisation: dans le vent...
Messages: 1 266
| 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 | ||
| Araignée Éclipsante ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Date d'inscription: mai 2004 Localisation: dans le vent...
Messages: 1 266
| ( 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 ) Citation:
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" : Citation:
), 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: | ||
| | |
| | #5 | |
| Gelée de Moutarde ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Citation:
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). | |
| | |
| | #6 |
| Araignée Éclipsante ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Date d'inscription: mai 2004 Localisation: dans le vent...
Messages: 1 266
| 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 | |
| Gelée de Moutarde ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | 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: Citation:
| |
| | |
| | #8 |
| Araignée Éclipsante ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Date d'inscription: mai 2004 Localisation: dans le vent...
Messages: 1 266
| 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 | |
| Gelée de Moutarde ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | 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 : Citation:
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. | |
| | |
| | #10 |
| Araignée Éclipsante ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Date d'inscription: mai 2004 Localisation: dans le vent...
Messages: 1 266
| 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 |
| Gelée de Moutarde ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | 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. |
| | |
| | #12 |
| Araignée Éclipsante ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Date d'inscription: mai 2004 Localisation: dans le vent...
Messages: 1 266
| 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 |
| Gelée de Moutarde ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | 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. |
| | |
| | #14 | |
| Araignée Éclipsante ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Date d'inscription: mai 2004 Localisation: dans le vent...
Messages: 1 266
| 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... Citation:
| |
| | |
| | #15 |
| Gelée de Moutarde ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | 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). |
| | |
| | #16 |
| Araignée Éclipsante ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |