Oyez, oyez !

Les résultats du vote sur les meilleurs RPG de tous les temps sont désormais dévoilés dans ce message !

Merci à toutes et à tous pour votre participation !

N'hésitez pas à aller commenter, ajouter des jeux auxquels vous n'auriez pas pensé...

[KIT] Impossible d'afficher l'intitulé des kits qui sont déchus

Répondre
Avatar du membre
Freddy_Gwendo
Adepte de Grondemarteau
Orbe ancien
Messages : 5877
Enregistré le : sam. 23 avr. 2011, 00:26
Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
Statut : Hors ligne

[KIT] Impossible d'afficher l'intitulé des kits qui sont déchus

.

Message par Freddy_Gwendo »

J'ai un petit souci avec l'installation de mes kits dans BG2EE.

Je les sélectionne sans souci dans l'écran de création de personnages. Ils semblent fonctionner normalement à chaque passage de niveau. Sauf que...

L'écran de jeu de mon perso persiste à me dire que mes persos sont paladins et non Chevaucheuse de licorne ou Chevalier de Diamant. Je suis allé vérifier les fichiers 2da qui mentionnent pourtant les bonnes références aux entrées dialog.tlk.

Une idée ?

Code : Tout sélectionner

INCLUDE ~%MOD_FOLDER%/lib/fl#add_kit_ee.tpa~

ADD_KIT ~GW_DIAMOND_KNIGHT~

~GW_DIAMOND_KNIGHT       0           1           0           0           0           0           1           1~		// Types d'armes autorisés - CLASWEAP

~GW_DIAMOND_KNIGHT      5 0 0 5 0 0 2 0 5 5 0 2 5 2 2 0 0 0 5 0 0 0 0 0 0 0 0 0 2 2 2 0 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5~	// Compétences autorisées - WEAPPROF.2da

//                      STR     DEX	           CON     INT     WIS     CHR
~GW_DIAMOND_KNIGHT       15      12      12      0       15      17~				// Scores de caractéristiques minimaux nécessaires - ABCLASRQ.2da
~GW_DIAMOND_KNIGHT       0       0       0       0       0       0~				// Modificateurs des scores de caractéristiques - ABCLSMOD.2da
~GW_DIAMOND_KNIGHT       17      12      12      0       15      17~				// Caractéristiques minimales pour se jumeler VERS le kit - ABDCDSRQ.2da
~GW_DIAMOND_KNIGHT       17      0       0       0       0       17~				// Caractéristiques minimales pour se jumeler DEPUIS le kit - ABDCSCRQ.2da

// ALIGNMNT.2DA		LG	LN	LE	NG	NN	NE	CG	CN	CE
~GW_DIAMOND_KNIGHT       1       0       0       0       0       0       0       0       0~	// Alignements autorisés - ALIGNMNT.2da

// DUALCLAS		FIG	CLE	MAG	THI	DRU	RAN
~GW_DIAMOND_KNIGHT       0       0       0       0       0       0~				// Possibilites de jumelage - DUALCLAS.2da

~%MOD_FOLDER%/Kits/%GWRepGWAbChDi%/GWAbChDi.2da~						// Habilités gagnées par niveau - 2da personnel

~K_P_H~									// Races et classes acceptant le kit - Kittable.2da

~0x12000008     6~							// Autorisation d'objets - KITLIST.2DA	0x12000008 = Cavalier + Shapeshifter + Helm
~GWD~								// Habiletés de Haut niveau - LUABBR.2DA

// Équipement provisoire avant de définir les objets spéciaux.
~GWCDFPLA * GWCLHELM BAG26 RING06 RING31 * BOOT01 AMUL20 BRAC10 BELT06 * * * POTN52,5	POTN04,2 POTN14,5 HAMM07 SW1H27	STAF08~ // Équipement au début de TOB - 25STWEAP.2DA

SAY @7700001	// Nom du kit en minuscules @7700001 = ~chevalier de diamant~
SAY @7700002	// Nom du kit en minuscules avec majuscule au début @7700002 = ~Chevalier de Diamant~
SAY @7700003	// Description du kit @7700003 = ~CHEVALIER de DIAMANT : Les Chevaliers de Diamant appartiennent à l'élite des paladins...~

LAF ~fl#add_kit_ee~ 
	INT_VAR					// The variables biography, fallen, briefdesc and fallen_notice are used in the file clastext.2da.
		briefdesc = RESOLVE_STR_REF (@7700004)
		fallen = 1
		fallen_notice = RESOLVE_STR_REF (@7700005)	// ~Classe déchue : Chevalier de Diamant~
	STR_VAR
		kit_name = ~GW_DIAMOND_KNIGHT~
		hpclass = ~HPCHDI~
		numwslot = 4
END


ADD_KIT ~GW_UNICORN_RIDER~
~GW_UNICORN_RIDER        1           1           1           0           1           1           1           1~					// Types d'armes autorisés - CLASWEAP
~GW_UNICORN_RIDER       3 2 2 5 2 2 2 0 3 3 2 2 0 2 2 2 2 0 5 0 2 2 2 0 2 3 0 0 0 2 2 0 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5~	// Compétences autorisées - WEAPPROF.2da
~GW_UNICORN_RIDER        12      16      9       0       15      17~						// Scores de caractéristiques minimaux nécessaires - ABCLASRQ.2da
~GW_UNICORN_RIDER        0       0       0       0       0       0~						// Modificateurs des scores de caractéristiques - ABCLSMOD.2da
~GW_UNICORN_RIDER        12      16      9       0       15      17~						// Caractéristiques minimales pour se jumeler VERS le kit - ABDCDSRQ.2da
~GW_UNICORN_RIDER        12      0       0       0       0       17~						// Caractéristiques minimales pour se jumeler DEPUIS le kit - ABDCSCRQ.2da
// ALIGNMNT.2DA		LG	LN	LE	NG	NN	NE	CG	CN	CE
~GW_UNICORN_RIDER        1       0       0       0       0       0       0       0       0~	// Alignements autorisés - ALIGNMNT.2da
// DUALCLAS		FIG	CLE	MAG	THI	DRU	RAN
~GW_UNICORN_RIDER        0       0       0       0       0       0~				// Possibilites de jumelage - DUALCLAS.2da
~%MOD_FOLDER%/Kits/2da/GWAbChLi.2da~								// Habilités gagnées par niveau - 2da personnel
// KITTABLE     P = Paladin - H = Humain - E = Elf - HE = Half-Elf - HL = Halfling
~K_P_H~												// Races et classes acceptant le kit - Kittable.2da
~0x04200020     6~										// Autorisation d'objets - KITLIST.2DA = Chasseur de morts-vivants (0x00000020) + Blade (0x00200000) + Prêtre de Lathandre (0x04000000).
~GWL~												// Habiletés de Haut niveau - LUABBR.2DA
// Équipement provisoire avant de définir les objets spéciaux.
~GWCLCHAN * GWCLHELM BAG26 RING06 RING31 * BOOT01 AMUL20 BRAC10 BELT06 AROW11,40 BULL03,40 BOLT06,40 POTN52,5 POTN04,2 POTN14,5 HAMM07 SW1H27	STAF08~ // Équipement au début de TOB - 25STWEAP.2DA

SAY @7720001	// Nom du kit en minuscules @7720001 = ~chevaucheuse de licorne~
SAY @7720002	// Nom du kit en minuscules avec majuscule au début @7720002 = ~Chevaucheuse de Licorne~
SAY @7720003	// Description du kit @7720003 = ~CHEVAUCHEUSE de LICORNE : Les Chevaucheuses de Licorne ont renoncé à l'amour des mortels pour développer un lien étroit avec les licornes sous la bénédiction de Lurue...~

LAF ~fl#add_kit_ee~ 
	INT_VAR							// The variables biography, fallen, briefdesc and fallen_notice are used in the file clastext.2da.
		briefdesc = RESOLVE_STR_REF (@7720004)
		fallen = 1
		fallen_notice = RESOLVE_STR_REF (@7720005)	// ~Classe déchue : Chevaucheuse de Licorne~
	STR_VAR
		kit_name = ~GW_UNICORN_RIDER~
		clascolr = ~79 130 130 79 79~		// METAL, MINOR_CLOTH, MAIN_CLOTH, LEATHER, ARMOR. 79-Light Silver - 130-Lime Green
END
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Avatar du membre
Isaya
Adepte de Grondemarteau
Planaire
Messages : 6990
Enregistré le : mar. 22 juil. 2003, 21:03
Localisation : Plaisir
Contact :
Statut : Hors ligne
.

Message par Isaya »

A première vue, je constate qu'il manque la variable biography dans l'appel de la fonction ~fl#add_kit_ee~ par rapport au commentaire. J'ignore si cela changera quoi que ce soit.
Je me souviens que des personnes se plaignaient du fait que le nom du kit n'était pas mentionné et que la classe de base apparaissait à la place dans la fiche de personnage. Je ne sais plus si c'était avant ou après la sortie de la version 2.0.
Est-ce propre à tes kits ou constates-tu également ce problème avec les kits fournis par Beamdog ? Ou ceux du DUKP ?
:!: 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 !
Avatar du membre
Freddy_Gwendo
Adepte de Grondemarteau
Orbe ancien
Messages : 5877
Enregistré le : sam. 23 avr. 2011, 00:26
Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
Statut : Hors ligne
.

Message par Freddy_Gwendo »

En théorie, cette variable n'est pas obligatoire (valeur = -2 dans la fonction). Je l'ai laissée en commentaires car je comptais lui attribuer un texte, mais après avoir consulté les valeurs vanilla, je me suis aperçu que ça n'avait aucun intérêt.

Et oui l'intitulé des kits ne s'affiche pas seulement pour mes kits. Les autres kits de paladins du jeu que j'ai testés affichent leur nom dans les différents écrans. :gign:
Comme ce code fonctionne parfaitement dans un jeu classique, je sèche un poil.

Ce soir, j'installerai le DUKP pour vérifier, mais j'ai déjà vérifié le code de derat et il ne diffère pas vraiment de celui-ci et je ne crois pas avoir oublié quelque chose de fondamental.

Sinon, pour info, voici le résultat :
Image

Image

Image
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Avatar du membre
deratiseur
Golem de fer
Messages : 3697
Enregistré le : mer. 05 déc. 2007, 18:35
Localisation : Gap, Hautes alpes
Statut : Hors ligne
.

Message par deratiseur »

J'ai étudié ton code et je n'y trouve rien qui semble clocher.
Alors deux idées en vrac à essayer :
1 : fait pointer ton GWAbChDi.2da vers un répertoire simple sans %, juste pour voir si ça change quelque chose
2 : fait installer un LAF ~fl#add_kit_ee~ sans rien derrière. Pas de gestion des déchu. Pareil, pour voir si ça bouge.
Avatar du membre
Freddy_Gwendo
Adepte de Grondemarteau
Orbe ancien
Messages : 5877
Enregistré le : sam. 23 avr. 2011, 00:26
Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
Statut : Hors ligne
.

Message par Freddy_Gwendo »

deratiseur a écrit :J'ai étudié ton code et je n'y trouve rien qui semble clocher.
Moi non plus, et ça me gonfle ! ^^
Alors deux idées en vrac à essayer :
1 : fait pointer ton GWAbChDi.2da vers un répertoire simple sans %, juste pour voir si ça change quelque chose
Inutile. Comme j'en avais assez des tests IF GAME_IS, j'ai créé des variables différenciées selon le jeu utilisé qui me permettent d'installer mes fichiers ou répertoires automatiquement sans avoir à les chercher.
2 : fait installer un LAF ~fl#add_kit_ee~ sans rien derrière. Pas de gestion des déchu. Pareil, pour voir si ça bouge.
Bonne pioche ! :)

Tu as vu juste. J'ai fait plusieurs tests et voici le résultat :
Image
  1. Sans aucune variable INT_VAR ==> OK
  2. Avec seulement la variable briefdesc ==> OK
  3. Avec seulement la variable fallen_notice ==> OK
  4. Avec briefdesc et fallen notice ==> OK
  5. Avec seulement la variable fallen = 1 ==> NO
  6. Avec briefdesc et fallen ==> NO
  7. Avec fallen et fallen notice ==> NO
Bref, c'est la variable fallen = 1 qui fout en l'air la fonction. Plutôt dommage car ça rend problématique la déchéance des nouveaux kits de paladin. J'en ai informé Wisp mais je crains que ce ne soit un bug du moteur EE. Un de plus... :gign:
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Avatar du membre
Freddy_Gwendo
Adepte de Grondemarteau
Orbe ancien
Messages : 5877
Enregistré le : sam. 23 avr. 2011, 00:26
Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
Statut : Hors ligne
.

Message par Freddy_Gwendo »

Je crains que ce ne soit un bug.

Après la procédure d'installation du kit (sans variable fallen), j'ai lancé le code suivant.

Code : Tout sélectionner

ACTION_IF (FILE_EXISTS_IN_GAME ~clastext.2da~) BEGIN

	COPY_EXISTING ~clastext.2da~ ~override~

		COUNT_2DA_COLS cols					// amount of columns

		READ_2DA_ENTRIES_NOW rows cols				// read all file into memory  

		FOR (row = 1 ; row < rows ; ++row) BEGIN		// iterate over rows

			READ_2DA_ENTRY_FORMER rows row 0 ~kit_name~	// read column value

			PATCH_IF ~%kit_name%~ STRING_EQUAL_CASE ~GW_DIAMOND_KNIGHT~ BEGIN

				SET patch_row = %row%

			END

		END

		SET_2DA_ENTRY %patch_row% 7 cols 1

	BUT_ONLY

END
Et ça n'a pas loupé : les écrans n'affichent plus le nom et la description du kit.
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Avatar du membre
deratiseur
Golem de fer
Messages : 3697
Enregistré le : mer. 05 déc. 2007, 18:35
Localisation : Gap, Hautes alpes
Statut : Hors ligne
.

Message par deratiseur »

Heureux d'avoir pu t'aider à trouver le bug.
Maintenant je ne peux vraiment pas t'aider pour le corriger, j'avou que je n'y comprend toujours rien (ou presque)aux codes weidu que tu ponds ^^
Avatar du membre
Isaya
Adepte de Grondemarteau
Planaire
Messages : 6990
Enregistré le : mar. 22 juil. 2003, 21:03
Localisation : Plaisir
Contact :
Statut : Hors ligne
.

Message par Isaya »

Je ne sais pas si tu as trouvé un mod avec des kits de paladin ou de rôdeur pour référence. Après analyse du fichier clastext.2da et une rapide recherche de ce que la fonction fl#add_kit_ee fait avec la variable fallen, j'ai l'impression qu'il faudrait que tous les kits de classe qui peuvent devenir déchu écrivent deux lignes dans le fichier, une pour le kit normal, l'autre pour le kit déchu.

Voici un extrait du fichier clastext.2da :

Code : Tout sélectionner

                     CLASSID              KITID                LOWER                DESCSTR              MIXED                BIOGRAPHY            FALLEN               BRIEFDESC            FALLEN_NOTICE
CAVALIER             6                    4                    25182                25206                25154                -1                   0                    102509               102808
FALLEN_CAVALIER      6                    4                    367                  25206                374                  -1                   1                    102509               -1
On constate que la première ligne n'indique pas fallen et fournit un texte pour le cas où le personnage deviendrait déchu. De son côté la seconde contient des textes différents pour le nom du kit et sa description, indique fallen mais pas de texte de déchéance.
En pratique, tous les rôdeurs et paladin ont une ligne FALLEN_xxxx.

Je pense que tu devrais faire deux appels à fl#add_kit_ee, une fois fallen à 0 mais avec le texte fallen_notice et l'autre fois avec FALLEN_<nom du kit> au début, fallen à 1 et -1 pour le texte fallen_notice, et idéalement le nom déchu et sa description spécifique.

J'ai l'impression que tout concorde. Lorsque tu mets la mention fallen à la seule ligne de ton kit, il semblerait que tu amènes le jeu à considérer que ton kit est forcément fallen. Il y a une chance que tu crées du coup forcément un personnage déchu. Et de toute évidence le jeu va chercher le nom et la description du kit sur la ligne FALLEN_xxx, qui n'existe pas. Ce qui conduit le jeu à utiliser la description de classe à la place (un peu comme au début de ce fichier clastext.2da en version 1.2, si ma mémoire est bonne, et que l'absence d'indication pour le kit conduisait au même phénomène que le nom de classe apparaissait).
:!: 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 !
Avatar du membre
Freddy_Gwendo
Adepte de Grondemarteau
Orbe ancien
Messages : 5877
Enregistré le : sam. 23 avr. 2011, 00:26
Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
Statut : Hors ligne
.

Message par Freddy_Gwendo »

J'ai repéré ce truc aussi mais comme la fonction WeiDU ne le gère pas, je me suis dit qu'il devait y avoir une bonne raison et j'ai préféré envoyer un MP à Wisp pour en avoir confirmation - en plus du rapport de bug sur PPG - avant de tenter la modif moi-même. ;)

Au vu de son rythme de postage, je devrais avoir la réponse ce weed-end. ^^


@Derat : un grand merci car je n'aurais jamais pensé à modifier les variables. Le code qui suit la fonction sert uniquement à remplacer la valeur fallen par 1 dans clastext.2da une fois que le kit a été installé. C'était juste pour vérifier si la fonction WeiDU était en cause ou non. Manifestement non. :)


Ceci dit, il semble que j'essuie les plâtres car il ne semble pas exister de nouveaux kits de paladins ou de rangers sur EE. En tout cas, je n'en ai pas trouvé. Bon, je n'ai aussi pas cherché très longtemps, mais j'ai déjà plus de 500 mods sur mon DD, alors...
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Avatar du membre
Freddy_Gwendo
Adepte de Grondemarteau
Orbe ancien
Messages : 5877
Enregistré le : sam. 23 avr. 2011, 00:26
Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
Statut : Hors ligne
.

Message par Freddy_Gwendo »

@Isaya : impossible d'utiliser la fonction WeiDU car elle travaille aussi sur le fichier kitlist.2da.

Mais j'ai utilisé une astuce lancée après l'installation des mods :

Code : Tout sélectionner

ACTION_IF (FILE_EXISTS_IN_GAME ~clastext.2da~) BEGIN

	// Définition d'un array pour ne pas voir à faire la même manip pour chaque kit
	ACTION_CLEAR_ARRAY GW_Fallen_Kits
	ACTION_DEFINE_ASSOCIATIVE_ARRAY GW_Fallen_Kits BEGIN
	7700006,	7700007	=> GW_DIAMOND_KNIGHT	// @7700006 = ~chevalier de diamant déchu~	-	@7700007 = ~Chevalier de Diamant déchu~
	7720006,	7720007	=> GW_UNICORN_RIDER	// @7720006 = ~chevaucheuse de licorne déchue~	-	@7720007 = ~Chevaucheuse de Licorne déchue~
	END

	ACTION_PHP_EACH GW_Fallen_Kits AS GW_kits => GW_kit_name BEGIN

		COPY_EXISTING - ~clastext.2da~ ~override~
			COUNT_2DA_COLS cols					// amount of columns
			READ_2DA_ENTRIES_NOW kittable cols			// read all file into memory  

			FOR (row = 1 ; row < kittable ; ++row) BEGIN		// iterate over rows

				READ_2DA_ENTRY_FORMER kittable row 0 ~kit_name~	// read column 0 value

				PATCH_IF ~%kit_name%~ STRING_EQUAL_CASE ~%GW_kit_name%~ BEGIN

					// Définition des valeurs à ajouter : soit on reprend celles du fichier clastext.2da, soit on les modifie

					READ_2DA_ENTRY_FORMER kittable row 1 kit_classid

					READ_2DA_ENTRY_FORMER kittable row 2 kit_kitid

					READ_2DA_ENTRY_FORMER kittable row 4 kit_desc

					READ_2DA_ENTRY_FORMER kittable row 6 kit_bio

					READ_2DA_ENTRY_FORMER kittable row 8 kit_briefdesc

					SET patch_lower = RESOLVE_STR_REF ((AT %GW_kits_0%))

					SET patch_mixed = RESOLVE_STR_REF ((AT %GW_kits_1%))

					SET patch_fallen = 1

					SET patch_fallen_notice = "-1"

					SPRINT patch_clastext "FALLEN_%GW_kit_name% %kit_classid% %kit_kitid% %patch_lower% %kit_desc% %patch_mixed% %kit_bio% %patch_fallen% %kit_briefdesc% %patch_fallen_notice%"

					row = kittable		// Petit truc pour terminer la boucle une fois que l'on a trouvé un kit valide

					INNER_ACTION BEGIN APPEND clastext.2da "%patch_clastext%" UNLESS "FALLEN_%GW_kit_name%" END

				END
			END
	END
	ACTION_CLEAR_ARRAY GW_Fallen_Kits
END
Résultat après avoir tué quelques innocents :
Image
Il ne reste plus qu'à peaufiner le bouzin en modifiant la description du kit déchu et ça baignera. ;)

Merci à vous deux.
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Avatar du membre
deratiseur
Golem de fer
Messages : 3697
Enregistré le : mer. 05 déc. 2007, 18:35
Localisation : Gap, Hautes alpes
Statut : Hors ligne
.

Message par deratiseur »

Freddy_Gwendo a écrit : Ceci dit, il semble que j'essuie les plâtres car il ne semble pas exister de nouveaux kits de paladins ou de rangers sur EE. En tout cas, je n'en ai pas trouvé. Bon, je n'ai aussi pas cherché très longtemps, mais j'ai déjà plus de 500 mods sur mon DD, alors...
???

Il faut que j'en fasse un alors :)
Répondre

Retourner vers « Kits »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 2 invités