Bonjour,
Je souhaiterai appliquer un fichier script à une AREA n'ayant pas de fichier .BCS.
Je pourrais simplement modifier le fichier AREA et l'appliquer au jeu, mais pour prévenir d'un problème de compatibilité avec d'autres mods qui modifieraient l'AREA j'aurais aimé savoir s'il existait une commande weidu permettant de lier un fichier BCS à une AREA? Je connais déjà la commande permettant d'étendre un script, mais je ne sais pas s'il est possible d'en lier un.
L'AREA concernée est AR1203. Je tourne sous BG2 Vanilla.
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] Ajouter un fichier script à une AREA n'ayant pas de fichier BCS
- Faust
- Adepte de Grondemarteau
- Loup noir
- Messages : 291
- Enregistré le : mer. 15 avr. 2009, 12:04
- Localisation : Wherever I may roam
- Statut : Hors ligne
[WEIDU] Ajouter un fichier script à une AREA n'ayant pas de fichier BCS
.
[h=6]"Wrath is the burden of those who haven't faith in humanity but there's no mean to avoid it. I guess it's my choice, just try to stand it."[/h]Wherever I May Roam.
- 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
.
Ouaip !
Je n'ai pas testé (écrit au vol), mais ceci devrait fonctionner :
Je n'ai pas testé (écrit au vol), mais ceci devrait fonctionner :
Code : Tout sélectionner
COPY_EXISTING ~AR1203.are~ ~override~
READ_ASCII 0x94 old_script (8)
PATCH_IF ("%oldscript%" STRING_EQUAL "") OR ("%old%_script"~ STRING_COMPARE_CASE "none" = 0) BEGIN // Si la carte n'a pas de script
WRITE_ASCII 0x94 AR1203 #8 // On assigne le script AR1203 à la carte
INNER_ACTION BEGIN
COMPILE ~%MOD_FOLDER%/Tonrépertoire/tonscript.baf~ ~override/AR1203.bcs~ // On compile ton script sous le nom AR1203
END
END ELSE BEGIN // Si la carte possède un script
INNER_ACTION BEGIN
EXTEND_TOP ou EXTEND_BOTTOM ~%old_script%.bcs~ ~%MOD_FOLDER%/Tonrépertoire/tonscript.baf~ // On ajoute ton bout de script à l'existant
END
END
BUT_ONLY
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.
- Faust
- Adepte de Grondemarteau
- Loup noir
- Messages : 291
- Enregistré le : mer. 15 avr. 2009, 12:04
- Localisation : Wherever I may roam
- Statut : Hors ligne
.
Hello Freddy,Freddy_Gwendo a écrit :Ouaip !
Je n'ai pas testé (écrit au vol), mais ceci devrait fonctionner :
Code : Tout sélectionner
COPY_EXISTING ~AR1203.are~ ~override~ READ_ASCII 0x94 old_script (8) PATCH_IF ("%oldscript%" STRING_EQUAL "") OR ("%old%_script"~ STRING_COMPARE_CASE "none" = 0) BEGIN // Si la carte n'a pas de script WRITE_ASCII 0x94 AR1203 #8 // On assigne le script AR1203 à la carte INNER_ACTION BEGIN COMPILE ~%MOD_FOLDER%/Tonrépertoire/tonscript.baf~ ~override/AR1203.bcs~ // On compile ton script sous le nom AR1203 END END ELSE BEGIN // Si la carte possède un script INNER_ACTION BEGIN EXTEND_TOP ou EXTEND_BOTTOM ~%old_script%.bcs~ ~%MOD_FOLDER%/Tonrépertoire/tonscript.baf~ // On ajoute ton bout de script à l'existant END END BUT_ONLY
après quelques ajustement, et installation avec ce code, il semblerait que le script ne se rattache pas au fichier AR1203.are. Aucune idée si le blocage se fait à la lecture de l'ancien script ou au moment de patcher le fichier, le "%old%_script%"~ me faisait un message d'erreur à cause du "~"
COPY_EXISTING ~AR1203.are~ ~override~
READ_ASCII 0x0094 old_script (8)
PATCH_IF ("%oldscript%" STRING_EQUAL "") OR ("%old%_script%" STRING_COMPARE_CASE "None" = 0) BEGIN
// Si la carte n'a pas de script
WRITE_ASCII 0x0094 ~AR1203~
// On assigne le script AR1203 à la carte
INNER_ACTION BEGIN
COMPILE ~El[r]in_Dragosh/Scripts/[EL]1203.BAF~ ~override/AR1203.bcs~
// On compile ton script sous le nom AR1203
END
END ELSE BEGIN
// Si la carte possède un script
INNER_ACTION BEGIN
EXTEND_BOTTOM ~AR1203.bcs~ ~El[r]in_Dragosh/Scripts/[EL]1203.BAF~
// On ajoute ton bout de script à l'existant
END
END
BUT_ONLY
Cela dit l'expression suivante fonctionne bien:
EXTEND_BOTTOM ~AR1203.bcs~ ~El[r]in_Dragosh/Scripts/[EL]1203.BAF~
COPY_EXISTING ~AR1203.are~ ~override~
WRITE_ASCII 0x0094 ~AR1203~
BUT_ONLY
Simplement pour des raisons de compatibilité je ne voudrais pas écraser le fichier ou altérer de manière inadéquate ces deux fichiers
EDIT 1: Il semblerait qu'en modifiant de cette manière cela fonctionne:
COPY_EXISTING ~AR1203.are~ ~override~
READ_ASCII 0x0094 old_script (8)
PATCH_IF ("%oldscript%" STRING_EQUAL "") OR ("%old%_script%" STRING_COMPARE_CASE "none" = 0) BEGIN // Si la carte n'a pas de script
WRITE_ASCII 0x0094 ~AR1203~ // On assigne le script AR1203 à la carte
INNER_ACTION BEGIN
COMPILE ~El[r]in_Dragosh/Scripts/[EL]1203.BAF~ ~override/AR1203.bcs~ // On compile ton script sous le nom AR1203
END
END ELSE BEGIN // Si la carte possède un script
WRITE_ASCII 0x0094 ~AR1203~
INNER_ACTION BEGIN
EXTEND_BOTTOM ~AR1203.bcs~ ~El[r]in_Dragosh/Scripts/[EL]1203.BAF~ // On ajoute ton bout de script à l'existant
END
END
BUT_ONLY
Mais on revient au problème de modifier le script attaché à la carte s'il elle en possédait déjà un, comme si dans la première partie de l'expression le nom du script n'était pas vérifié.
EDIT 2 : Cela semble fonctionner en modifiant les éléments suivants
COPY_EXISTING ~AR1203.are~ ~override~
READ_ASCII 0x0094 old_script (8)
PATCH_IF ("%oldscript%" STRING_EQUAL "") OR ("%old%_script%" STRING_COMPARE_CASE "none" = 0) BEGIN // Si la carte n'a pas de script
WRITE_ASCII 0x0094 ~AR1203~ // On assigne le script AR1203 à la carte
INNER_ACTION BEGIN
COMPILE ~El[r]in_Dragosh/Scripts/AR1203.BAF~ ~override/AR1203.bcs~ // On compile ton script sous le nom AR1203
END
END ELSE BEGIN // Si la carte possède un script
WRITE_ASCII 0x0094 ~AR1203~
INNER_ACTION BEGIN
EXTEND_BOTTOM ~AR1203.bcs~ ~El[r]in_Dragosh/Scripts/[EL]1203.BAF~ // On ajoute ton bout de script à l'existant
END
END
BUT_ONLY
Ce qui est étrange c'est que Weidu transformait bien mon fichier [EL]1203.BAF en AR1203.bcs dans le dossier override mais ne le fait plus après cette modification.
EDIT 3: J'ai remplacé la ligne suivante
COPY_EXISTING ~AR1203.are~ ~override~
READ_ASCII 0x0094 old_script (8)
PATCH_IF ("%oldscript%" STRING_EQUAL "") OR ("%old%_script%" STRING_COMPARE_CASE "none" = 0) BEGIN // Si la carte n'a pas de script
WRITE_ASCII 0x0094 ~AR1203~ // On assigne le script AR1203 à la carte
INNER_ACTION BEGIN
COMPILE ~El[r]in_Dragosh/Scripts/AR1203.BAF~ ~override/AR1203.bcs~ // On compile ton script sous le nom AR1203
EXTEND_BOTTOM ~AR1203.bcs~ ~El[r]in_Dragosh/Scripts/[EL]1203.BAF~ // On ajoute ton bout de script à l'existant/ créé le fichier s'il n'existe pas
END
END ELSE BEGIN // Si la carte possède un script
INNER_ACTION BEGIN
EXTEND_BOTTOM ~AR1203.bcs~ ~El[r]in_Dragosh/Scripts/[EL]1203.BAF~ // On ajoute ton bout de script à l'existant/ créé le fichier s'il n'existe pas
END
END
BUT_ONLY
[h=6]"Wrath is the burden of those who haven't faith in humanity but there's no mean to avoid it. I guess it's my choice, just try to stand it."[/h]Wherever I May Roam.
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 3 invités