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é...

[WeiDU] Comment renseigner la valeur d'un effet Display string (#139) dans un objet ?

Regroupe tous les sujets sur les commandes, les fonctions, les routines, les modifications des fichiers systèmes (ids, 2da...)...
Répondre
Avatar du membre
Akadis
Adepte de Grondemarteau
Araignée éclipsante
Messages : 1224
Enregistré le : lun. 28 avr. 2003, 10:58
Localisation : Bordeaux
Contact :
Statut : Hors ligne

[WeiDU] Comment renseigner la valeur d'un effet Display string (#139) dans un objet ?

.

Message par Akadis »

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.
Développeur du mod Akadis version disponible Beta 3.1b : envoyez moi un M. P
Responsable de la maintenance du mod
Kim
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 »

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 :

Code : Tout sélectionner

COPY ~tonmod/items/objet.itm~ ~override/objet.itm~
  SAY NAME2 @N1
  SAY DESC @N2
  SAY 0xAAAA @N3
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.
:!: 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 »

Tu peux aussi utiliser WeiDU. Exemple tiré de l'installation de sorts qui fonctionne aussi pour un objet :

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
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 ~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...
Répondre

Retourner vers « Programmation WeiDU »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité