Page 1 sur 1

Weidu: Ajouter une animation dans un fichier are

Posté : jeu. 11 avr. 2024, 22:25
par Faust
Hello,

J'ai réussi à grapiller un peu de code sur un sujet ouvert par Freddy, mais je ne parviens pas trouver un code complet, voici ce que j'ai:

LPF fj_are_structure
INT_VAR
fj_loc_x = 2560
fj_loc_y = 2592
fj_flags = 0b00000000000000000001000001000101 // variable recopiée dans NI et correspondant aux "flags"
STR_VAR
fj_structure_type = animation
fj_name e[y]efr = // Nom de l'animation
fj_bam_resref e[y]efr = // Fichier bam utilisé
END

Dans le contexte suivant:


COPY_EXISTING ~ARD013.are~ ~override/ARD013.are~
READ_ASCII 0x0094 old_script (8)
PATCH_IF ("%oldscript%" STRING_EQUAL "") OR ("%old%_script%" STRING_COMPARE_CASE "none") BEGIN // Si la carte n'a pas de script
WRITE_ASCII 0x0094 ~ARD013~
INNER_ACTION BEGIN
EXTEND_BOTTOM ~ARD013.bcs~ ~El[r]in_Dragosh/Scripts/[EL]D013.BAF~
END
LPF fj_are_structure INT_VAR fj_loc_x = 2482 fj_loc_y = 595 fj_orientation = 0 STR_VAR fj_structure_type ="actor" fj_name ="Crane" fj_cre_resref ="C[R]ANE2" fj_dlg_resref ="C[R]ANE2"
END // Si la carte possède un script
INNER_ACTION BEGIN
EXTEND_BOTTOM ~ARD013.bcs~ ~El[r]in_Dragosh/Scripts/[EL]D013.BAF~ // On ajoute ton bout de script à l'existant
END

LPF fj_are_structure
INT_VAR
ab_RT_Type = 1 // Type of trigger -- 0=proximity ; 1=info ; 2=travel
ab_RT_BbLX = 2630 // Bounding Box - low x value - LEFT
ab_RT_BbLY = 385 // Bounding Box - low y value - TOP
ab_RT_BbHX = 2946 // Bounding Box - High x value - RIGHT
ab_RT_BbHY = 740 // Bounding Box - High y value - BOTTOM
ab_RT_VxPr = 4 // Number of Vertex
ab_RT_CuId = 22 // Cursor
ab_RT_Vx_X_0 = 2630 // Position X
ab_RT_LPoY = 385 // Position Y
ab_RT_TSet = 1 // Trigger Value
ab_RT_Vx_Y_0 =740
ab_RT_Vx_X_1 =2946
ab_RT_Vx_Y_1 =740
ab_RT_Vx_X_2 =2946
ab_RT_Vx_Y_2 =385
ab_RT_Vx_X_3 =2630
ab_RT_Vx_Y_3 =385
STR_VAR
ab_RT_Name = ~c[R]ane2~ // Name of trigger
ab_RT_Rbcs =~c[R]ane2~ // Script file
END

LPF fj_are_structure
INT_VAR
fj_loc_x = 2560
fj_loc_y = 2592
fj_flags = 0b00000000000000000001000001000101 // variable recopiée dans NI et correspondant aux "flags"
STR_VAR
fj_structure_type = animation
fj_name e[y]efr = // Nom de l'animation
fj_bam_resref e[y]efr = // Fichier bam utilisé
END

END
BUT_ONLY

Bien sûr la seconde partie ne fonctionne pas et weidu arrête l'installation du module.

Merci pour votre aide.

Edit: J'ai peut-être trouvé viewtopic.php?p=298083&hilit=fj_are_structure#p298083

Edit2: Hélas non

Re: Weidu: Ajouter une animation dans un fichier are

Posté : jeu. 11 avr. 2024, 23:01
par JohnBob
Faust a écrit : jeu. 11 avr. 2024, 22:25LPF fj_are_structure
INT_VAR
fj_loc_x = 2560
fj_loc_y = 2592
fj_flags = 0b00000000000000000001000001000101 // variable recopiée dans NI et correspondant aux "flags"
STR_VAR
fj_structure_type = animation
fj_name e[y]efr = // Nom de l'animation
fj_bam_resref e[y]efr = // Fichier bam utilisé
END

JohnBob a écrit :LPF fj_are_structure
INT_VAR
fj_loc_x = 2560
fj_loc_y = 2592
fj_flags = 0b00000000000000000001000001000101 // variable recopiée dans NI et correspondant aux "flags"
STR_VAR
fj_structure_type = animation
fj_name = e[y]efr // Nom de l'animation
fj_bam_resref = e[y]efr // Fichier bam utilisé
END

Est-ce bien ce block qui pose problème ? Le nom du trigger et la référence du bam sont du mauvais côté.


- 0b00000000000000000001000001000101 À quels flags cela correspond t'il ?



Pour le block précédent, il semble qu'il manque au moins fj_loc_x

Je débute sur l’édition d'Area donc désolé si je fait erreur ou si mes connaissances sont incomplète...

Donc voici tes valeurs intégrées dans un format plus conventionnel (pour m'aider à visualiser plus clairement)

Code : Tout sélectionner

LPF fj_are_structure
INT_VAR
  	fj_type			= 1    // Info point
  	fj_box_left		= 2630 
  	fj_box_top		= 385 
  	fj_box_right		= 2946 
  	fj_box_bottom		= 740 
	ab_RT_VxPr 		= 4 // Number of Vertex ///// PAS SÛR QU'IL SOIT NÉCESSAIRE DE METTRE CETTE LIGNE.
  	fj_cursor_idx		= 22   // curseur ?
      //fj_info_point_strref 	 = RESOLVE_STR_REF (@xxx) ///// SI TU VEUX AJOUTER UNE LIGNE DE TEXTE QUAND ON CLIQUE SUR LE TRIGGER.
  	fj_loc_x		= xxxx ///// QUELLE VALEUR CORRESPOND A X ?... IL SEMBLE QUE LE VERTEX VX_X_0 SOIT À LA MAUVAISE PLACE ET DU COUP PAS DE POSITION X.
  	fj_loc_y		= 385 
	ab_RT_TSet 		= 1 // Trigger Value  ///// CETTE PARTIE JE NE SAIS PAS TROP À QUOI ELLE SERT DÉSOLÉ... ET ELLE SEMBLE TOUJOURS A ZÉRO D'HABITUDE.
  	fj_vertex_0		= 2630  + (740 << 16)
  	fj_vertex_1		= 2946 + (740 << 16)
  	fj_vertex_2		= 2946 + (385 << 16)
  	fj_vertex_3		= 2630 + (385 << 16)
STR_VAR
  	fj_structure_type	= region // CECI SEMBLE MANQUER DANS TON BLOCK
  	fj_name			= c[R]ane2
  	fj_reg_script 		= "c[R]ane2" // ~c[R]ane2~
END



Pour la toute première partie cela me semble bien compliqué pour ajouter le script, ceci devrait suffire, mais peut-être qu'un truc m'échappe...

Code : Tout sélectionner

COPY_EXISTING ~ARD013.ARE~ ~override/ARD013.are~
  WRITE_ASCII 0x94 ~ARD013~ #8  // SUPPLANTERA TOUT AUTRE NOM DE SCRIPT HYPOTHÉTIQUEMENT PRÉSENT.
  BUT_ONLY

  EXTEND_TOP ~ARD013.bcs~ ~El[r]in_Dragosh/Scripts/[EL]D013.BAF~ // CRÉERA UN NOUVEAU BCS S'IL N'Y EN A PAS DÉJÀ UN ET SINON AJOUTERA TON SCRIPT EN HAUT DE CELUI EXISTANT. 
  //(OU EN BAS AVEC EXTEND_BOTTOM SI TU PRÉFÈRES).
  

LPF 
fj_are_structure 
INT_VAR 
fj_loc_x = 2482 
fj_loc_y = 595 
fj_orientation = 0 
STR_VAR 
fj_structure_type = actor
fj_name ="Crane" 
fj_cre_resref ="C[R]ANE2" 
fj_dlg_resref ="C[R]ANE2"
END

Re: Weidu: Ajouter une animation dans un fichier are

Posté : dim. 14 avr. 2024, 15:43
par Faust
JohnBob a écrit : jeu. 11 avr. 2024, 23:01
Faust a écrit : jeu. 11 avr. 2024, 22:25LPF fj_are_structure
INT_VAR
fj_loc_x = 2560
fj_loc_y = 2592
fj_flags = 0b00000000000000000001000001000101 // variable recopiée dans NI et correspondant aux "flags"
STR_VAR
fj_structure_type = animation
fj_name e[y]efr = // Nom de l'animation
fj_bam_resref e[y]efr = // Fichier bam utilisé
END

JohnBob a écrit :LPF fj_are_structure
INT_VAR
fj_loc_x = 2560
fj_loc_y = 2592
fj_flags = 0b00000000000000000001000001000101 // variable recopiée dans NI et correspondant aux "flags"
STR_VAR
fj_structure_type = animation
fj_name = e[y]efr // Nom de l'animation
fj_bam_resref = e[y]efr // Fichier bam utilisé
END

Est-ce bien ce block qui pose problème ? Le nom du trigger et la référence du bam sont du mauvais côté.


- 0b00000000000000000001000001000101 À quels flags cela correspond t'il ?



Pour le block précédent, il semble qu'il manque au moins fj_loc_x

Je débute sur l’édition d'Area donc désolé si je fait erreur ou si mes connaissances sont incomplète...

Donc voici tes valeurs intégrées dans un format plus conventionnel (pour m'aider à visualiser plus clairement)

Code : Tout sélectionner

LPF fj_are_structure
INT_VAR
  	fj_type			= 1    // Info point
  	fj_box_left		= 2630 
  	fj_box_top		= 385 
  	fj_box_right		= 2946 
  	fj_box_bottom		= 740 
	ab_RT_VxPr 		= 4 // Number of Vertex ///// PAS SÛR QU'IL SOIT NÉCESSAIRE DE METTRE CETTE LIGNE.
  	fj_cursor_idx		= 22   // curseur ?
      //fj_info_point_strref 	 = RESOLVE_STR_REF (@xxx) ///// SI TU VEUX AJOUTER UNE LIGNE DE TEXTE QUAND ON CLIQUE SUR LE TRIGGER.
  	fj_loc_x		= xxxx ///// QUELLE VALEUR CORRESPOND A X ?... IL SEMBLE QUE LE VERTEX VX_X_0 SOIT À LA MAUVAISE PLACE ET DU COUP PAS DE POSITION X.
  	fj_loc_y		= 385 
	ab_RT_TSet 		= 1 // Trigger Value  ///// CETTE PARTIE JE NE SAIS PAS TROP À QUOI ELLE SERT DÉSOLÉ... ET ELLE SEMBLE TOUJOURS A ZÉRO D'HABITUDE.
  	fj_vertex_0		= 2630  + (740 << 16)
  	fj_vertex_1		= 2946 + (740 << 16)
  	fj_vertex_2		= 2946 + (385 << 16)
  	fj_vertex_3		= 2630 + (385 << 16)
STR_VAR
  	fj_structure_type	= region // CECI SEMBLE MANQUER DANS TON BLOCK
  	fj_name			= c[R]ane2
  	fj_reg_script 		= "c[R]ane2" // ~c[R]ane2~
END



Pour la toute première partie cela me semble bien compliqué pour ajouter le script, ceci devrait suffire, mais peut-être qu'un truc m'échappe...

Code : Tout sélectionner

COPY_EXISTING ~ARD013.ARE~ ~override/ARD013.are~
  WRITE_ASCII 0x94 ~ARD013~ #8  // SUPPLANTERA TOUT AUTRE NOM DE SCRIPT HYPOTHÉTIQUEMENT PRÉSENT.
  BUT_ONLY

  EXTEND_TOP ~ARD013.bcs~ ~El[r]in_Dragosh/Scripts/[EL]D013.BAF~ // CRÉERA UN NOUVEAU BCS S'IL N'Y EN A PAS DÉJÀ UN ET SINON AJOUTERA TON SCRIPT EN HAUT DE CELUI EXISTANT. 
  //(OU EN BAS AVEC EXTEND_BOTTOM SI TU PRÉFÈRES).
  

LPF 
fj_are_structure 
INT_VAR 
fj_loc_x = 2482 
fj_loc_y = 595 
fj_orientation = 0 
STR_VAR 
fj_structure_type = actor
fj_name ="Crane" 
fj_cre_resref ="C[R]ANE2" 
fj_dlg_resref ="C[R]ANE2"
END
Bonjour JohnBob,

Merci pour ton message, en plus des erreurs que tu as pointé, il manquait ~~ au niveau des resref.

la ligne flag correspond aux flags que tu souhaites activer // Visible, blend colours, not covered by wall, don't remove in combat.

Re: Weidu: Ajouter une animation dans un fichier are

Posté : dim. 14 avr. 2024, 16:36
par JohnBob
Faust a écrit : dim. 14 avr. 2024, 15:43 la ligne flag correspond aux flags que tu souhaites activer // Visible, blend colours, not covered by wall, don't remove in combat.
Ok, il y a aussi cette méthode pour ajouter les flags pour une animation.

fj_flags = BIT6 | BIT8 | BIT12 | BIT13 // (Au pif dans ce cas, chaque flag est associé à un numéro, les valeurs sont affichées dans NI quand tu accèdes aux flags de l'animation dans le fichier ARE)
Faust a écrit : dim. 14 avr. 2024, 15:43 Merci pour ton message, en plus des erreurs que tu as pointé, il manquait ~~ au niveau des resref.
Bien vu, j’espère que cela a permis l'installation du block.

Re: Weidu: Ajouter une animation dans un fichier are

Posté : dim. 14 avr. 2024, 18:21
par Faust
Oui ça m'a permis de l'installer.

Merci pour ta réponse, je cherchais justement le code pour les flags.