J'ai un objet dont un des effets est Display String et j'ai mon texte dans un fichier tra sous la forme :
@10 = ~Mon texte à afficher~
Mais je ne sais pas comment faire pour associer ce texte au display string de l'objet lors du TP2.
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é...
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é...
[WeiDU] Comment renseigner la valeur d'un effet Display string (#139) dans un objet ?
- Isaya
- Adepte de Grondemarteau
- Planaire
- Messages : 6990
- Enregistré le : mar. 22 juil. 2003, 21:03
- Localisation : Plaisir
- Contact :
- Statut : Hors ligne
.
Il y a plusieurs techniques pour ce que tu cherches.
La première consiste à repérer avec un programme comme NearInfinity la position de l'effet dans le fichier ITM, puis de déterminer la position où le numéro du texte est indiqué dans la partie réservée à l'effet. Ce devrait te donner la position depuis le début du fichier. Ensuite, tu ajoutes dans le fichier TP2 le bloc suivant :
N1, N2 et N3 étant les numéros de chaine dans ton fichier TRA
AAAA étant la position dont on a parlé, exprimée en hexadécimal
NearInfinity a une option particulière pour identifier cette position, "Show Hex Offsets" dans le menu Options. Tu verras alors apparaître les offsets à droite dans les onglets Edit.
Une autre solution consiste à indiquer une valeur particulière d'indice de texte (au delà des valeurs courantes de préférence) et de demander à WeiDU de remplacer cette valeur par celle d'un @N. Je ne suis pas sûr que ça fonctionne pour autre chose que du texte (j'ai vu cette technique utilisée pour une action à l'intérieur d'un dialogue, qui est un texte en fait). C'est plutôt déconseillé pour un champ binaire car il se pourrait que la valeur apparaisse ailleurs dans le fichier.
La première consiste à repérer avec un programme comme NearInfinity la position de l'effet dans le fichier ITM, puis de déterminer la position où le numéro du texte est indiqué dans la partie réservée à l'effet. Ce devrait te donner la position depuis le début du fichier. Ensuite, tu ajoutes dans le fichier TP2 le bloc suivant :
Code : Tout sélectionner
COPY ~tonmod/items/objet.itm~ ~override/objet.itm~
SAY NAME2 @N1
SAY DESC @N2
SAY 0xAAAA @N3
AAAA étant la position dont on a parlé, exprimée en hexadécimal
NearInfinity a une option particulière pour identifier cette position, "Show Hex Offsets" dans le menu Options. Tu verras alors apparaître les offsets à droite dans les onglets Edit.
Une autre solution consiste à indiquer une valeur particulière d'indice de texte (au delà des valeurs courantes de préférence) et de demander à WeiDU de remplacer cette valeur par celle d'un @N. Je ne suis pas sûr que ça fonctionne pour autre chose que du texte (j'ai vu cette technique utilisée pour une action à l'intérieur d'un dialogue, qui est un texte en fait). C'est plutôt déconseillé pour un champ binaire car il se pourrait que la valeur apparaisse ailleurs dans le fichier.
:!: 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 !
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 !
- 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
.
Tu peux aussi utiliser WeiDU. Exemple tiré de l'installation de sorts qui fonctionne aussi pour un objet :
Dans le code, je distingue les effets #139 à durée permanente et à durée différée. Si tu n'as qu'un seul effet #139, alors c'est plus simple :
Code : Tout sélectionner
COPY ~Diamant_Eternel/Sorts/Kits2/GXSerBaL.spl~ ~override/GXSerBaL.spl~ SAY NAME1 @7712015 SAY UNIDENTIFIED_DESC @7712016
SET JS = 3
LPF ALTER_EFFECT INT_VAR match_opcode = 139 match_timing = 1 parameter1 = RESOLVE_STR_REF (@7120051) END // Bonus de %JS% points aux jets de sauvegarde
LPF ALTER_EFFECT INT_VAR match_opcode = 139 match_timing = 4 parameter1 = RESOLVE_STR_REF (@7120058) END // Fin de la protection de la Serre de Bahamut
Code : Tout sélectionner
COPY ~MonMod/Items/MonItem.itm~ ~override/MonItem.itml~ SAY NAME1 @nn SAY UNIDENTIFIED_DESC @nnn
LPF ALTER_EFFECT INT_VAR match_opcode = 139 parameter1 = RESOLVE_STR_REF (@mmm) END // La référence de ton fichier tra.
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Moddeur qui s'arrache les cheveux...
... avec Menace sur le Royaume de Diamant Éternel.
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 0 invité