Page 1 sur 1
[CARTE] n° de carte BG et BG EE
Posté : mar. 26 janv. 2021, 09:37
par Cocrane
Je viens de constater que les n° de carte ont changé entre ma version BGT et BGEE.
Chateau Suif
BGT AR0015
BGEE BG2600
Je m'attendais à ce que les cartes gardent leurs n°.
Existe t'il
-un lien pour les correspondances?
-une routine qui modifie les mods pour changer les cartes?
Cocrane
Posté : mar. 26 janv. 2021, 10:17
par Freddy_Gwendo
Ce n'est pas BGEE, c'est EET. Comme BGT, il est obligé de renommer les cartes de BGEE pour éviter qu'elles aient le même code que celles de BG2. Il faut que tu utilises les variables cpmvars.
Exemples d'utilisation :
Isra et
Valérie.
Édit : dans ton cas, tu ne dois te soucier que de BGT et EET, éventuellement tutu car ton mod devrait être compatible.
Posté : mer. 27 janv. 2021, 23:00
par Cocrane
Vu pour le code TP2.
Je ne maîtrise pas la syntaxe
INCLUDE ~valerie/lib/liam_bgee_vars.tpa~
Tu peux m'envoyer le fichier .tpa?
Pour info, lorsque j'ai mis à dispo mon mod en version BGT, j'ai eu plusieurs retours signalant que BGT n'était plus utilisé pour jouer et que la version EE était à prévoir. A priori, j'ai eu 2 joueurs sur mon mod uniquement.
Une fois l'adaptation du mod en EE, je vais faire quelques améliorations que je ne ferai probablement pas en version BGT.
Du coup, est ce que ça vaut le coup que je code avec un .TPA?
Posté : jeu. 28 janv. 2021, 07:39
par Freddy_Gwendo
Les liens plus haut renvoient dans le dépôt du mod : tous les fichiers s'y trouvent dans le répertoire lib.
Quant à ton mod : tant que tu ne l'auras pas annoncé officiellement à la communauté, il restera confidentiel. Quand je dis officiellement, c'est sur SHS et G3. Lorsqu'il le sera, je suis prêt à parier que tu recevras des offres de traduction, notamment des russes et des polonais qui sont très actifs (il bouffent près de la moitié de mon temps sur SHS). Et tu seras surpris par le nombre d'anciens joueurs qui prévilégient BGT à EET...
Posté : jeu. 28 janv. 2021, 21:59
par Cocrane
Ok tu m'as convaincu. :-)
Je ferai deux versions et on fera en sorte qu'il y ait une communication officielle.
Posté : dim. 07 mars 2021, 17:53
par Cocrane
Freddy,
pour le passage du mod en version EE, à priori, il reste deux points à traiter:
- la gestion des cartouches des objets: tu as à priori un code pour traiter ce sujet. :-)
- la gestion des nouveaux numéros de carte. J'ai suivi ton conseil et utilisé le code présent dans ISRA.
Code : Tout sélectionner
// Gestion des n° des cartes
ACTION_IF is_tutu BEGIN
INCLUDE ~CDB/lib/g3_tutu_cpmvars.tpa~
PRINT @22 // ~Tutu install detected.~
END
ACTION_IF is_bgt BEGIN
INCLUDE ~CDB/lib/g3_bgt_cpmvars.tpa~
PRINT @23 // ~BGT install detected.~
END
ACTION_IF is_bgee OR is_sod BEGIN
INCLUDE ~CDB/lib/liam_bgee_vars.tpa~
PRINT @24 // ~Baldur's Gate Enhanced Edition install detected.~
END
ACTION_IF is_eet BEGIN
INCLUDE ~CDB/lib/eet_cpmvars.tpa~
PRINT @25 // ~Enhanced Edition Trilogy install detected.~
END
SILENT
Je suis allé chercher "eet_cpmvars.tpa" dans un autre mod car il n'y avait pas ce fichier dans le mod ISRA.
J'ai installé mon mod avec succès mais le jeu plante au lancement. Après analyse, c'est le changement de carte qui fait planter.
Le jeu démarre à l'auberge du Heaume et de la cape (AR7216 -> BG0116).
Si je change le nom de la carte par BG0116, le jeu ne plante plus.
Je suppose que le code ci-dessous n'est pas suffisant pour "avoir la traduction automatique des cartes" entre BGT et BGEET?
Cocrane
Posté : mar. 09 mars 2021, 11:47
par Freddy_Gwendo
Charger les librairies de variables est une chose, mais ne sert à rien si tu ne les utilises pas.
Prenons l'exemple de ta carte AR0116 dans le jeu BG original.
Voici ses variables:
Code : Tout sélectionner
BG1
OUTER_SPRINT "NWBaldursGate_Helm&Cloak_L1" "AR0116"
Tutu
OUTER_SPRINT "NWBaldursGate_Helm&Cloak_L1" "FW0116"
BGT
OUTER_SPRINT "NWBaldursGate_Helm&Cloak_L1" "AR7216"
EET
OUTER_SPRINT "NWBaldursGate_Helm&Cloak_L1" "BG0116"
Ce sont ces variables que tu dois utiliser dans tes codes:
Pareil dans tes scripts et dialogues, tu remplaces "AR7216" par "%NWBaldursGate_Helm&Cloak_L1%" et tu les compiles avec EVALUATE_BUFFER :
Note qu'il existe aussi des variables pour les noms des scripts:
renvoie AR0116.BCS, AR7116.BCS, FW0116.BCS ou BG0116.BCS selon le jeu.
Posté : mer. 10 mars 2021, 19:11
par Cocrane
Salut Freddy,
moi qui croyait que c'était magique. Il faut quand même faire les liens dans le TP2. :-)))
Merci pour les exemples. Je vais pouvoir reproduire la logique dans mon TP2.
Gestion des .are OK
Gestion des Script OK
Code : Tout sélectionner
EXTEND_TOP ~%NWBaldursGate_Helm&Cloak_L1%.bcs~ ~CDB\AREA\BCS\AR7216.baf~ USING ~CDB\LANG\FRENCH\AR7216.TRA~ // Auberge Heaume et la cape
Je n'ai pas utilisé "EVALUATE_BUFFER". J'ai cherché la bonne syntaxe et ça plante quelque soit mes essais.
Sur la doc Weidu :
COMPILE [ EVALUATE_BUFFER ] sourceFile list [ patch list ] [ USING traFile list ]
Gestion des variables ?
Code d'origine
Code modifié
Résultat après compilation
La compilation n'a pas planté mais le texte est un peu surprenant. :-)
Cocrane
Posté : jeu. 11 mars 2021, 01:03
par Freddy_Gwendo
Tu utilises une variable qui n'existe pas, sans doute un typo. C'est %NWBaldursGate_Helm&Cloak_L1%, pas %NWBaldursGate_Helm&Cloak_L1_BC%.
Ceci dit, donne-moi le nom du script que tu veux adapter. Je te le renverrai converti comme il faut pour te faire une bonne base de travail.
Posté : jeu. 11 mars 2021, 21:39
par Cocrane
Dans un script, on peut avoir le code de la carte. J'ai supposé suite à tes messages qu'il faut aussi gérer ce cas.
Exemple:
Comment gérer proprement "AR7217" code de BGT pour BGEET?
Code : Tout sélectionner
IF
Global("Protecteur_baldur","GLOBAL",1)
Global("Marchands","[B]AR7217[/B]",0)
THEN
RESPONSE #100
SetGlobal("Marchands","[B]AR7217[/B]",1)
ActionOverride("NOBW7",destroyself())
DeActivate("HOUSG6")
ActionOverride("HOUSG6",destroyself())
SmallWait(10)
DeActivate("HOUSG6")
ActionOverride("HOUSG6",destroyself())
createcreature("COMER01",[524.434],6)
createcreature("COMER02",[524.434],6)
END
Cocrane
Posté : ven. 12 mars 2021, 01:26
par Freddy_Gwendo
Alors, la carte AR7217 correspond à la variable "NWBaldursGate_Helm&Cloak_L2".
Donc, ton code devient
Code : Tout sélectionner
IF
Global("Protecteur_baldur","GLOBAL",1)
Global("Marchands","%NWBaldursGate_Helm&Cloak_L2%",0)
THEN
RESPONSE #100
SetGlobal("Marchands","%NWBaldursGate_Helm&Cloak_L2%",1)
ActionOverride("NOBW7",destroyself())
DeActivate("HOUSG6")
ActionOverride("HOUSG6",destroyself())
SmallWait(10)
DeActivate("HOUSG6")
ActionOverride("HOUSG6",destroyself())
createcreature("COMER01",[524.434],6)
createcreature("COMER02",[524.434],6)
END
Pour le compiler, je suppose que tu modifies le fichier AR7217.bcs
donc :
EXTEND_TOP ~%NWBaldursGate_Helm&Cloak_L2_BCS%.bcs~ ~%MOD_FOLDER%/scripts/myscript.baf~ EVALUATE_BUFFER
Posté : ven. 12 mars 2021, 22:04
par Cocrane
Merci Freddy.
Je n'avais pas mis "_BCS" dans le nom de la variable pour la compilation.
Cocrane
Posté : sam. 13 mars 2021, 11:47
par Freddy_Gwendo
Petit détail qui peut avoir son importance : il est préférable que tu utilises ton préfixe de moddeur pour définir tes noms de variables. Par exemple co_marchands ou co#marchands.
Ça évite des problèmes de compatibilités entre mods, même si le risque est très faible avec des noms de variables en français.

Posté : dim. 14 mars 2021, 19:20
par Cocrane
Oui autant éviter un risque inutile.
Je ferai mon possible pour y penser dans mes prochains codes.
Cocrane