Page 1 sur 1

[PNJ] Je n'arrive pas à installer mon mod de PNJ

Posté : sam. 11 nov. 2006, 15:21
par Maledarion
Bonjour! Je suis nouveau dans le forum, et je me suis attelé à la tache de créer mon propre mod (plus précisément un mod rajoutant un PNJ recrutable) d'après le tutorial de Xena sur la creation de PNJ. Cependant, j'ai un problème, lorsque je joue au jeu, le PNJ n'est pas la! J'ai bien fait attention de rentrer dans la zone concernée pour la première fois (j'ai donc commencer une nouvelle partie pour ce faire). Je soupçonne que c'est parce que je n'ai pas installé mon propre mod! :..: J'ai suivi toutes les étapes de Xena, mais il n'est à aucun moment dit comment installer le mod une fois créé... (a moins que j'ai mal compris). Il faut utiliser Weidu?

Posté : sam. 11 nov. 2006, 19:02
par xena
Quand tu fais ton tp2 tu dois lui donner un nom comme :
SETUPBLABLA

N'oublie pas l'extension .tp2.

Puis tu prends l'exe weidu auquel tu dois donner le même nom, c'est très important !

Ensuite tu clique sur ton exe, elle t'installera tes fichiers en suivants les ordres donné dans ton tp2.

Voilà.

Posté : sam. 11 nov. 2006, 19:13
par Maledarion
Oui, merci pour ton aide, j'avais fini par comprendre ca (je me suis renseigné sur un forum en anglais) mais ca marche toujours pas :snif: . Quand je lance le fichier setup la fenetre s'ouvre et m'annonce:

error [setup fichier npc.tp2] not found.
Make sure that you have unpacked the archive correctly and that you are not trying to run this file from an archive.

Cependant, j'ai tout vérifié:

-le fichier setup fichier npc.tp2 est bien dans le répertoire BGII.

-le fichier setup fichier npc.exe est bien dans le répertoire BGII.

- le dossier fichier npc (qui est dans le repertoire BGII) contient bien:
les fichiers .d, .baf, .cre,
le sous dossier contenant les 2 portraits,
le sous dossier backup contenant les fichiers .d, .baf, .cre cité ci dessus.

Je me meurt de frustration! ^^

Posté : sam. 11 nov. 2006, 19:20
par xena
Tes deux fichiers exe et TP2 ont bien le même nom ? Ils commencent bien par SETUP ?

Les as-tu mis dans le dossier de BG 2 SOA ? Les autres dans le dossier de ton personnages ? Dans le Backup il ne faut rien mettre.

Si ce n'est rien de tout ça tu devrais poster le contenu de ton TP2 qu'on puisse le corriger. Peut être qu'une des commandes est manquante pour qu'il identifie le tp2, ça m'étonnerais mais bon.

As-tu bien pris une exe weidu ?

voila en attendant une autre réponse.

Posté : dim. 12 nov. 2006, 14:34
par Maledarion
-J'ai bien vérifier que les deux fichiers, exe et TP2, ont bien le même nom (ils commencent par Setup (j'ai essayer en majuscules également)).
- Ils sont tout les deux dans le dossier BG2 SOA. Les autres fichiers sont bien dans mon dossier personnage (j'ai enlevé tout ce qui était dans le Backup).
- l'exe est bien un weidu (cependant lors de la décompression de mon archive weidu, il y avait 3 applications: WeiGUI, WeInstall, et WeiDU, c'est ce dernier que j'ai renommer Setup etc.).

Voici le contenu de mes fichiers scripts :

Contenu de SETUP-Fichier NPC.tp2

Code : Tout sélectionner

BACKUP ~fichier NPC\Backup~
AUTHOR ~Maledarion~
BEGIN ~ELAYNE~

COPY ~fichier NPC\portraitELAYNE\Mem2L.bmp~ ~Override\Mem2L.bmp~ 
COPY ~fichier NPC\portraitELAYNE\Mem2S.bmp~ ~Override\Mem2S.bmp~
COPY ~fichier NPC\L#ELAYNE.cre~ ~Override\L#ELAYNE.cre~
SAY NAME1 ~Elayne~
SAY NAME2 ~Elayne~
SAY BIO ~?~

COMPILE ~fichier NPC\scripts1.baf~

COMPILE ~fichier NPC\essai1.d~

EXTEND_bottom~Ar0313.bcs~ ~fichier NPC\Ar0313.baf~

APPEND~pdialog.2da~
~L#ELAYNE L#ELAYNE L#ELAYNEJ L#ELAYNED L#ELAYNE25P L#ELAYNE25J L#ELAYNE25D L#ELAYNE25~
UNLESS~L#ELAYNE~
Contenu de Scripts1.baf

Code : Tout sélectionner

IF
See([PC])
NumTimesTalkedTo(0)
THEN
RESPONSE #100
Dialogue(Nearest([PC]))
END

IF
Global("L#ELAYNEExists","AR0313",0)
THEN
RESPONSE #100
SetGlobal("L#ELAYNEExists","AR0313",1)
CreateCreature("L#ELAYNE",[700.228],1)
END

Contenu de Essai1.d

Code : Tout sélectionner

BEGIN L#ELAYNE
IF ~NumTimesTalkedTo(0)~ THEN BEGIN Rencontre
SAY ~Bonjour <CHARNAME>! Je suis Elayne.~
IF ~Gender("player1","FEMALE")~ THEN REPLY ~T'es belle gosse tu sais!~ GOTO suite
IF ~~ THEN REPLY ~Bonjour.~ GOTO Suite
END

IF ~~ THEN BEGIN Suite
SAY ~Je peux me joindre à toi?~
IF ~~ THEN REPLY ~Bien sur!~ DO ~SetGlobal("L#ELAYNEJoined","LOCALS",1)
JoinParty()~ EXIT
IF ~~ Then REPLY ~Je suis pas l'ANPE.~ GOTO ANPE
END

IF ~~ THEN BEGIN ANPE
SAY ~Bon comme tu veux, je vais faire le poireau ici.~
IF ~~ THEN EXIT
END

BEGIN L#ELAYNE
IF ~Global("L#ELAYNEJoined","LOCALS",1)~ THEN BEGIN dehors
SAY ~Vous ne voulez plus de moi?~
IF ~~ THEN REPLY ~Heu... non je voulais virer Anomen, reste.~ DO ~JoinParty()~ EXIT
IF ~~ THEN REPLY ~Oui, je pensais que pas tu serais aussi nul.~ DO ~SetGlobal("L#ELAYNEJoined","LOCALS",0)~ EXIT
END

IF ~Global("L#ELAYNEJoined","LOCALS",0)~ THEN BEGIN Rejoin
SAY ~Tu veux que je revienne?~
IF ~~ THEN REPLY ~Oui, mais dépèche-toi.~ DO ~SetGlobal("L#ELAYNEJoined","LOCALS",1)
JoinParty()~ EXIT
IF ~~ THEN REPLY ~Non, reste ici.~ EXIT
END
Note: se pourrait-il que le problème vienne du fait que je saute des lignes? (Accessoirement parlant, j'ai utilisé le bloc-note pour rédiger mes trois fichiers d'extension .d, .baf, tp2.).

Posté : dim. 12 nov. 2006, 16:29
par xena
Arrives-tu à installer tes fichiers maintenant ?
Quand tu mets la commande copy tu ne dois mettre "fichier" que si ce mot fait partit du nom de fichier, si ton fichier s'appelle NPC tu dois mettre
COPY NPC\Backup~
Tu peux sauter autant de lignes que tu veux ça n'as aucune importance.

PS : Je sais que le début de création de NPC est toujours le plus long c'est la qu'on fait le plus de boulettes quand on commence mais, de manière préventive ;) , je te supplie de ne pas briser ton ordi :p , on va bien trouver ce qui cloche ^^

Posté : dim. 12 nov. 2006, 16:52
par Maledarion
J'ai modifié le nom, et j'ai porté les modification à tous les fichiers (.d, .baf., .tp2) mais apparemment le problème ne vient pas de la. Lorsque je lance l'installation, Setup-NPC ne trouve pas mon fichier blocnote d'extension tp2 (nommé Setup-NPC.tp2). Pourtant, il est dans le répertoire BG2 SoA, avec le fichier .exe WeiDU (renommé Setup-NPC)... Arg.

Posté : lun. 13 nov. 2006, 22:14
par Isaya
Pour commencer, bienvenue sur le forum !

Mon premier conseil est d'être plus explicite vis à vis de tes problèmes. Hormis un message d'erreur indiqué dans ton deuxième message, tu t'es contenté de dire que ça ne marchait pas. C'est beaucoup trop peu précis pour qu'on puisse t'aider efficacement. Pense à donner bien plus de détails, en particulier sur les messages d'erreur indiqués par WeiDU.

Par rapport à l'erreur que tu indiquais et ce que tu décrivais, l'erreur pourrait simplement provenir de la présence d'espaces dans le nom du répertoire dans lequel tu mets tes fichiers et dans le nom des fichiers setup. WeiDU fonctionne en ligne de commande et Dieu sait que cette bestiole est assez sensible à ce genre de chose. Il faut couramment entourer les noms contenant des espaces avec des guillemets dans la ligne de commande, hors là c'est impossible d'être sûr de ce qui se passe si tu lances l'installation à partir de l'explorateur en lançant l'exécutable. Je n'ai jamais vu de mod qui introduise un espace dans le nom, mais je peux me tromper.
Par ailleurs, le chapitre 10 de la doc WeiDU indique d'utiliser la forme "Setup-MyMod.TP2", en précisant que WeiDU ira notamment vérifier l'existence d'un fichier "MyMod.TP2". J'en déduis que WeiDU prend ce qui suit le tiret. Puisque tu ne respectes pas cette forme, il se pourrait que ce soit la véritable cause du problème.

Puisque ton PNJ s'appelle Elayne, tu aurais intérêt à nommer pas mal de choses avec ce nom, en particulier le répertoire dans lequel tu mets tes fichiers (au lieu de "fichier NPC") ainsi que le nom des fichiers setup en les appelant setup-elayne.tp2 et setup-elayne.exe. Ce serait beaucoup plus lisible pour tout le monde (ainsi le lien entre le mod et son répertoire est évident). Par la même occasion, cela évite d'avoir un espace dans le nom du répertoire.

Je n'ai compris ce que tu avais fais aux fichiers .d et .baf (cf ton dernier message). Si tu changes le nom du répertoire et des fichiers setup, tu n'as qu'à modifier les chemins dans le fichier tp2 sans avoir à changer le contenu des fichiers .d et .baf.

Pour finir, j'ai quelques remarques concernant l'écriture de certains fichiers :
  • Tu devrais respecter la mise en majuscule des mots-clés du langage WeiDU dans les fichiers .d et .tra. La documentation de WeiDU ne stipule pas une sensibilité particulière mais tu y gagnerais en lisibilité voire en capacité à compiler correctement (si WeiDU y est sensible). Dans ton fichier TP2, il y a notamment EXTEND_BOTTOM qui ne respecte pas cette habitude ou cette exigence.
  • Ce même EXTEND_BOTTOM devrait être suivi d'un espace avant le "~". Au delà de la lisibilité, il se peut même que cette instruction échoue car les interpréteurs de langage considère souvent les séparateurs comme indispensables.
  • Tu aurais intérêt à vérifier que ton préfixe L# n'est pas déjà utilisé. Il y a tellement de moddeurs qui utilisent le caractère #, en copiant le tutorial lui-même inspiré du mod Kelsey, que tu pourrais te trouver en conflit avec quelqu'un d'autre. Tu pourrais utiliser un caractère autre que # pour réduire le risque (par exemple "!", "+" ou "=", qui sont pour autant que je sache des caractères valides de noms de fichiers).
  • Tu n'as pas le droit d'utiliser des noms de plus de 8 caractères dans ce que tu inscrits dans le fichier PDIALOG.2DA. Il s'agit des noms de fichiers DLG correspondant aux différents usages et tous les noms de fichiers du jeu sont limités à 8 caractères, hors extension (il y a quelques très très rares exceptions, certes, mais pas ici). Donc il faut impérativement que tu raccourcices.
  • La deuxième partie de ton fichier .d correspond à ce qui apparaît généralement dans le fichier xxP.DLG. Tu devrais donc utiliser "BEGIN L#ELAYNP" au lieu de "BEGIN L#ELAYNE" (qui risque même d'écraser du fichier DLG ce que tu avais mis auparavant, mais je ne suis pas sûr). Dans cet exemple, j'ai supprimer le "E" final pour faire la place au "P" et respecter la limite à 8 caractères.
  • Ton dialogue de licenciement du personnage dans lequel tu fais référence à Anomen gagnerait à avoir un test sur la présence effective dudit personnage.
Bonne continuation.