Page 1 sur 1

[PNJ] L'implantation de mon NPC fait planter le jeu

Posté : mer. 17 mai 2006, 18:51
par xena
Bon je me suis dit qu'il faudrait peut-être que je refasse un sujet avec une description nette.
Bon alors j'ai fait mon fichier cre et mon fichier ar0400, tout est bien installé, mais y'a un mais, la zone charge et pis y me fout dehors maintenant.

- Mon fichier cre a moins de 7 caractères.
- Il est bien associé avec mon TP2 avec extend top/bottom (l'un ou l'autre ça ne change rien)
- Mon fichier cre est associé comme y faut à mon fichier cre, j'ai vérifié.
- Mon fichier are est bien étendu au fichier initial, j'ai vérifié.
- Mon fichier Dlg associé est bien installé, j'ai vérifié.
- Mon fichier cre était associer le script de défautl qui est INITDLGC.bcs, puis je n'ai rien mit ce qui n'a eu aucun effet.

Voici mon fichier Ar :

Code : Tout sélectionner

IF
  Global("TrriviahnExists","AR0700",0)
THEN
  RESPONSE #100
    SetGlobal("TrriviahnExists","AR0700",1)
    CreateCreature("Trriviahn",[3035.0080],1)
END 
Je l'ai même remplacé par quelque chose comme ça, avec les bons noms mais ça n'a rien fait :

Code : Tout sélectionner

IF
  CheckStatGT(Player1,14,LEVEL)
  AreaType(OUTDOOR)
  AreaType(CITY)
  CombatCounter(0)
  OR(2)
    GlobalLT("Chapter","GLOBAL",4)
    GlobalGT("Chapter","GLOBAL",5)
  Global("b#CreateLug","GLOBAL",0)
THEN
  RESPONSE #100
    SetGlobal("b#CreateLug","GLOBAL",1)
    CreateCreatureObjectOffset("b#knitlg",Player1,[0.-100])
END 
Bon alors là j'ai essayé plein de trucs mais bon rien n'y fait ou alors la zone charge mais y'a pas ma créature.
J'ai entièrement réinstallé BG2 tob mais sans les mods.
J'ai également bien fait les désinstalls avant de changer quoi que ce soit et pour y réinstaller.

Bon j'espère que pour une fois je me suis bien expliquée et j'éspère que vous voyez quel est mon problème.
Merci d'avance!

Posté : jeu. 18 mai 2006, 15:57
par Akadis
Il y a un truc que je comprend pas : tu dis d'un coté
Originally posted by xena+mercredi 17 mai 2006 à 19:51--><div class='quotetop'>QUOTE(xena @ mercredi 17 mai 2006 à 19:51)</div>
Mon fichier cre a moin de 7  charactères.[/b]
Mais dans ton bout de codexena@mercredi 17 mai 2006 à 19:51
CreateCreature("Trriviahn",[3035.0080],1)
le nom "Trriviahn" fait 9 caractères ou alors il faut que je réapprenne à compter. :snif:
Or comme je te l'ai dit dans l'autre sujet que tu as ouvert l'autre jour : install des mods, le nom de fichier doit faire 8 caractères maximum. Tu dois encore racourcir le nom de ton fichier cre.
J'ajoute que ça peut suffir à régler ton problème. ^^

Posté : jeu. 18 mai 2006, 17:39
par xena
Oh je me suis encors toupée de fichier chargé je rêve ou bien je suis modite.

Alors la je te jure que le nom de mon fichier cre s'appelle désormais T#Trri donc 6 charactères + l'extension c'est la je crois. Non?

Et en plus j'ai renplacé la variable
CreateCreature("Trriviahn",[3035.0080],1)

par CreateCreature("T#Trri",[j'ai remplacé les points par autre chose me senble-il après avoir vérifié que mon propre perso pouvait se tenir sur ces coordonné.)

Je vais faire le ménage dans tous mes fichiers pour plus vous donner des faux, ah mais même quand j'essaye de faire un truc clair je fais encore des boullettes en donnant un vieux fichier où javais rien remplacé. RRrraahh je suis maudite je vais pleurer tien. :snif:

Mais je te jure que normallement c'est le même fichier avec le nom du fichier cre modifié, j'ai même changé l'emplacement pour être sûre qu'il soit accessible mais bon.

Y'a quand même un truc qui me chiffone selon le bout de script ajouté au fichier ar mon perso se crée si la global est à 0.

Mais comment cette globale à 0 peut-elle être vérifiée puisqu'elle n'est pas générée ailleure?
Donc je me suis balladée dans le mod romance xan pour BG2 et pis dans celui de Kivan pour BG2 (qui sont bien fait soit dit en passant) et je n'ai pas grand chose qui ressemble au script cité plus haut.
J'ai essayé de m'inspirer du script pour crer Kivan ou y'a !Createcreature("P#Kivan",1)
j'ai essayer de faire ça avec mon script mais y reconnait byzaremment pas le signe !

Bon et pis leurs fichier de cre y sont blindé de script en tout genre moi grand maxis je n'ai que pour l'instant le fichier dialogue et celui de initdialog que j'ai viré pour tester mais toujour en vain.

Bon après mes petites analyse et ma correction j'espere que vous comprenez mieu merci et désolée.

Posté : ven. 19 mai 2006, 11:57
par Shinook
Bon, je vais essayer de voir si je peux t'aider :) .
Y'a quand même un truc qui me chiffone selon le bout de script ajouté au fichier ar mon perso se crée si la global est à 0.
Euh... normalement, il faut que la variable, comme indiquée dans ton script, passe à 1, pour prouver que ton .cre a été ajouté au jeu, et donc que ton personnage se trouve sur la carte et l'emplacement indiqué. Si la variable est à 0, c'est qu'il y a un problème avec le script, et que le personnage ne doit pas apparaître, enfin normalement, à moins que je n'ais rien compris à ta remarque :..: .

Un conseil aussi pour le deuxième script que tu proposes dans ton premier message : ce n'est pas utile de mettre autant de conditions entre IF et THEN, car plus tu mets de conditions à vérifier, plus il y a de chances que ton script ne soit pas enclenché. Le premier script que tu cites, beaucoup plus basique et simple, convient parfaitement, si tu veux simplement faire apparaître ton personnage dans le jeu ( après, si tu veux que ce soit que dans un type d'endroit, ou que de nuit ou de jour, ça se complique, et il faut effectivement ajouter des conditions... ).

C'est bien que tu t'inspires d'autres PNJ déjà créés pour ton mod, mais il faut que tu aies conscience que ces personnages en particulier ont été réalisés par des "professionnels" du modding, et ont une manière toute personnelle de coder leurs scripts. Ce qui est donné dans les différents tutoriaux fonctionne parfaitement, et est compatible avec tous les mods, donc il vaut mieux, au moins au départ, les recopier, puis on peut s'en inspirer pour faire autrechose ( ce que je fais avec mon PNJ, Shalaar, qui ne diot apparaître la nuit : j'utilise le même script mais un peu plus compliqué, mais c'est bien le même à la base ).
J'ai essayé de m'inspirer du script pour crer Kivan ou y'a !Createcreature("P#Kivan",1)
j'ai essayer de faire ça avec mon script mais y reconnait byzaremment pas le signe !
Le signe ! indique que cette ligne de commande se trouve dans les "triggers" ( conditions de déclenchement ). Or, il me semble que CreateCreature n'existe pas pour les triggers, sauf erreur de ma part. On utiliserait peut-être plus, !InParty("nom du PNJ"), pour vérifier que le PNJ ne se trouve pas dans le groupe, ou peut-être !Exists("nom du PNJ"), pour vérifier que le PNJ n'est pas présent dans le jeu, mais je ne sais pas si ça marche...

Autre chose, et je ne sais pas si tu le savais, mais on ne sait jamais ^^ : le nom que tu indiques pour ton personnages, ici "T#Trri", correspond bien au nom du .cre, comme tu dois le savoir, mais il faut bien vérifier aussi que le .cre contient une certaine variable, appelée "Death Variable", généralement le nom du PNJ, mais il doit être unique ( donc ne doit pas être identique à un autre personnage du jeu ). Cette variable est essentielle pour que ton PNJ apparaisse, peut-être qu'il s'agit de ça.


Pour l'instant, je ne vois pas trop ce que ça peut être d'autre, tu t'es peut-être plantée de carte, ou alors tu t'es plantée dans l'emplacement ( indiqué entre [.] ). D'ailleurs, avec quoi as-tu trouvé cette position ?

Posté : ven. 19 mai 2006, 12:23
par Ratbleu
*Envoye un trèfle à Xena et se concentre fort fort en croisant les doigts.* :chance:

Posté : ven. 19 mai 2006, 17:22
par xena
Mici pour le trèlfe!
Mici pour la réponse ce qui me chiffone c'est que je vois pas où et comment la variable ("T#TrriExists","AR0700",0) peut être générée et donc verifiée pour que le reste du script s'enclenche, mais je vais essayer avec !Exists("nom du PNJ") pour voir ce que ça donne.

Pour le deusième bout de script j'avais bêtement recopier un modèle que j'ai trouvé sur le forum je sais pu ou, moi j'ai juste changé le nom du cre et les coordonné.

Pour ma death variable c'est T#Trri peut être qu'y faut pas mettre le même mot que pour le nom du fichier Cre ?

Pour les coordonné j'ai charger une partie, mis mon perso où je voulai que mon nouveau pnj apparaisse, j'ai mis le curseur dessus, j'ai appuyer sur x (mon racourci a moi) permetant de faire afficher les coordonnées ar, x et y. Et pis voilà j'ai bêtement recopier.

Bon voilà. Je vais essayer avec!Exists("nom du PNJ") et pis si vous voyer autre chose d'ici là.
Je vous dis ce que ça donne dès que je peux. :up:

Posté : ven. 19 mai 2006, 23:08
par Akadis
Originally posted by xena@vendredi 19 mai 2006 à 18:22
ce qui me chiffone c'est que je vois pas où et comment la variable ("T#TrriExists","AR0700",0) peut être générée[snapback]256904[/snapback]
Une variable qui n'existe pas est considérée comme égale à 0.
Originally posted by xena@vendredi 19 mai 2006 à 18:22
Pour ma death variable c'est T#Trri peut être qu'y faut pas mettre le même mot que pour le nom du fichier Cre ?[snapback]256904[/snapback]
Si, tu peux tout à fait donner le même nom à ta death variable et à ton fichier cre.

Il me vient une idée concernant ton script mais avant de t'embrouiller avec des détails techniques qui n'ont peut-être rien à voir avec ton problème, il me faudrait des précisions. Pourrais-tu poster le morceau de ton TP2 où tu insères ton Ar0700.bcs dans le ar0700 existant ainsi que le code complêt de ton ar0700.bcs ?

Posté : ven. 19 mai 2006, 23:30
par Isaya
Si le jeu plante ("te fout dehors"), y a-t-il un message d'erreur du genre "Assertion failed" ? Si oui, poste le dans son intégralité, en particulier le nom de fichier .cpp et le numéro de ligne indiqué. Cela donne de très bonnes pistes pour trouver ce qui est en cause (créature, zone, ...).

Comme le conseillait Deecy dans ton autre message, il faut IMPERATIVEMENT que tu essaies de créer ton personnage depuis la console CLUA. Cela permettra de mettre éventuellement hors de cause le script ajouté à la zone.

Par ailleurs, lis ma dernière réponse dans ton autre message pour une suggestion concernant un moyen d'isoler le problème. Il est impératif que tu cherches à isoler plus finement le problème.

Bonne continuation.

Posté : sam. 20 mai 2006, 19:33
par xena
Waaaaahaaaaoooooouuuuuu! :fete:
Ah y'est moi y'en avoir touvé le problème et moi y'a avoir regler le problème, ça marche! :fete: :champagne:

Bon alors grand merci a tout ceux qui mon répondu.
Alors j'ai fais comme Isaya il a dit. J'ai isolé le problème, alors après plusieurs tentatives que elle ont pas marchée j'ai carrement changé de fichier cre j'en ai fait un en 10 sec puis je l'ai associé et renommé...
Et pis là quand je réinstalle non seulement le jeu me fout pas dehors mais en plus ma créature apparait!! J'ai du crer un bug dans mon fichier cre, alors je l'ai refait bien tout comme y faut et maintenant pu de bug.

Que du bonheur!
Maintenant je vais continuer l'ecriture des dialogues et leurs codages...je devrais me débrouiller un peu mieu j'ai amassé pas mal de données en me baladant sur les différent forum.

Et pis en plus j'ai vraiement tout compris pour faire un npj! :idea:

Chose promie chose due (ça prend un e du?) je vais rediger un tuto en fr pour faire des npj minute. Vu le nombre de bêtise que j'ai faites je devrais pouvoir les faire eviter à d'autre moddeur débutant.

Non?

Ceci étant dit je vais continuer mon projet et faire le tuto comme je l'ai promis :

Et bien moi je dis merci et je sens que dès que j'aurai tout compris faudra que je redige un petit tuto en français pour crer un npc rapide, histoire qu'il y est plus de modeurs français.


Et pis encore mici a tout ceux qui m'ont repondu!

Posté : dim. 21 mai 2006, 08:53
par Shinook
Effetivement, ça m'est moi-même arrivé qu'un fichier .cre fasse tout planter, et effectivement, tout comme toi, j'ai simplement refait un autre .cre identique. J'aai jamais compris pourquoi, enfin... ^^

Bonne idée le tuto, mais je ne sais pas si t'as vu, il en existe déjà un, en anglais, déjà pas mal, qu'on peut se contenter de traduire ( j'ai déjà commencé d'ailleurs ). Mais après tout, ce n'est peut-être pas une mauvaise initiative, et je serais d'ailleurs content de pouvoir t'aider là-dessus, que chacun puisse profiter de l'expérience de l'autre :) .

Posté : lun. 22 mai 2006, 16:46
par xena
Comme tu veux, moi j'aime bien faire partager mes idées ou je le reste avec les autres, même si en générale en on est mal récompensé mais bon.
Toi je sais pas mais moi j'ai le jeu que depuis quelques mois et pis je m'y interresse surtout pour la partie programme.
Je suis actuellement en train d'écrire une romance.
Je suis arrivée à enclancher les dialogue avec un bout de sript un peu douteux mais bon.

Tu fais quoi comme type de mod?

Posté : mar. 23 mai 2006, 17:10
par Shinook
Enfin voyons, tu ne connais pas le célèbre moddeur Shinook !!! :notme2: Plus sérieusement, je m'intéresse surtout aux mods de PNJ ( voir ma signature ), mais je m'intéresse à tous les types de mods en général.

Pour mes PNJ, je leur crée en plus une romance, des banters ( dialogues ), une quête perso... donc je pense que ça peut servir. J'ai le jeu depuis plus longtemps, mais je me concentre surtout sur la création de mods c'est plus symaps ( enfin je recommencerai probablement le jeu lorsque j'aurai mon propre PC :eye: ).

On peut en parler par MSN si tu veux, voir ce qu'on peut faire ( voir mon profil ), ou simplement par MP ( mais c'est pas le plus pratique ).