Installer un composant suivant la langue d'installation
- deratiseur
- Flagelleur mental
- Messages : 4353
- Enregistré le : mer. 05 déc. 2007, 18:35
- Localisation : Gap, Hautes alpes
- Statut : Hors ligne
Installer un composant suivant la langue d'installation
Est ce que c'est possible ?
Genre :
Installer A si la langue choisie est "Anglais".
installer B si la langue choisie est "Allemand".
Genre :
Installer A si la langue choisie est "Anglais".
installer B si la langue choisie est "Allemand".
Mes mods sont tous sur Mediafire et Github
Et leurs descriptions sont ici.
Vous trouvez que pour votre ensorceleur il n'y a que 2-3 sorts vraiment utiles par niveaux de sorts ? Installez L'Interplan.
Empêtré dans deux mods en même temps (un an minimum) et déjà deux autres mods dans les cartons...
Et leurs descriptions sont ici.
Vous trouvez que pour votre ensorceleur il n'y a que 2-3 sorts vraiment utiles par niveaux de sorts ? Installez L'Interplan.
Empêtré dans deux mods en même temps (un an minimum) et déjà deux autres mods dans les cartons...
-
Selphira
- Adepte de Grondemarteau
- Ours des cavernes
- Messages : 1178
- Enregistré le : dim. 25 juil. 2004, 22:28
- Statut : Hors ligne
A tester
Code : Tout sélectionner
REQUIRE_PREDICATE ("%LANGUAGE%" STRING_EQUAL_CASE ~english~) @9999 // Langue non supportée- deratiseur
- Flagelleur mental
- Messages : 4353
- Enregistré le : mer. 05 déc. 2007, 18:35
- Localisation : Gap, Hautes alpes
- Statut : Hors ligne
En fait je pense que ça va être plus compliqué que ça. La condition de langue n'est pas appliqué au mod en lui même mais à un autre mod.
Précisément :
Copier l'objet X
SI le mod machintruc à été installé en français, ALORS copier l'objet Y.
Peut être est-ce faisable en checkant le nom d'un objet. Par exemple :
SI "Z_ModdIt.itm" a pour nom "Note du maître" (CASE_SENSITIVE) alors copier l’objet Y.
Précisément :
Copier l'objet X
SI le mod machintruc à été installé en français, ALORS copier l'objet Y.
Peut être est-ce faisable en checkant le nom d'un objet. Par exemple :
SI "Z_ModdIt.itm" a pour nom "Note du maître" (CASE_SENSITIVE) alors copier l’objet Y.
Modifié en dernier par deratiseur le lun. 16 déc. 2024, 19:48, modifié 1 fois.
Mes mods sont tous sur Mediafire et Github
Et leurs descriptions sont ici.
Vous trouvez que pour votre ensorceleur il n'y a que 2-3 sorts vraiment utiles par niveaux de sorts ? Installez L'Interplan.
Empêtré dans deux mods en même temps (un an minimum) et déjà deux autres mods dans les cartons...
Et leurs descriptions sont ici.
Vous trouvez que pour votre ensorceleur il n'y a que 2-3 sorts vraiment utiles par niveaux de sorts ? Installez L'Interplan.
Empêtré dans deux mods en même temps (un an minimum) et déjà deux autres mods dans les cartons...
-
JohnBob
- Statut : Hors ligne
Tu as un sujet dans le même genre ici.
J'ai proposé un workaround de débutant dans le deuxième post donc n'y prête pas trop attention mais regarde la réponse d'argent77 juste après, il lit le language directement dans le weidu.log.
C'est encore un peu trop complexe pour moi, à voir si ça te donne une piste.
J'ai proposé un workaround de débutant dans le deuxième post donc n'y prête pas trop attention mais regarde la réponse d'argent77 juste après, il lit le language directement dans le weidu.log.
C'est encore un peu trop complexe pour moi, à voir si ça te donne une piste.
Modifié en dernier par JohnBob le lun. 16 déc. 2024, 20:10, modifié 3 fois.
- deratiseur
- Flagelleur mental
- Messages : 4353
- Enregistré le : mer. 05 déc. 2007, 18:35
- Localisation : Gap, Hautes alpes
- Statut : Hors ligne
Merci pour le lien. J'ai posé mon problème directement dans le sujet, comme ça parle d'un requête similaire peut être que j'aurais une réponse. Parce que j'avoue que si le script d'argent77 lit le langage installé, comment l'utiliser pour "IF "le script confirme que c'est installé en français" ALORS.....", ça me dépasse.
Mes mods sont tous sur Mediafire et Github
Et leurs descriptions sont ici.
Vous trouvez que pour votre ensorceleur il n'y a que 2-3 sorts vraiment utiles par niveaux de sorts ? Installez L'Interplan.
Empêtré dans deux mods en même temps (un an minimum) et déjà deux autres mods dans les cartons...
Et leurs descriptions sont ici.
Vous trouvez que pour votre ensorceleur il n'y a que 2-3 sorts vraiment utiles par niveaux de sorts ? Installez L'Interplan.
Empêtré dans deux mods en même temps (un an minimum) et déjà deux autres mods dans les cartons...
-
Selphira
- Adepte de Grondemarteau
- Ours des cavernes
- Messages : 1178
- Enregistré le : dim. 25 juil. 2004, 22:28
- Statut : Hors ligne
Le plus simple, je pense, est de faire un seul composant quelle que soit la langue.
Et dans le composant, tu effectues ta vérification avec la fonction d'Argent77 pour toutes les langues que tu veux supporter.
Et dans le composant, tu effectues ta vérification avec la fonction d'Argent77 pour toutes les langues que tu veux supporter.
-
JohnBob
- Statut : Hors ligne
Code : Tout sélectionner
REQUIRE_PREDICATE ( MOD_IS_INSTALLED ~LeModEnQuestion.tp2~ ~X~ )Code : Tout sélectionner
// Language folder names listed in the order of LANGUAGE definitions in the mod.
ACTION_DEFINE_ARRAY languages BEGIN
"french"
END
// Fetching language index from the WeiDU.log
OUTER_SET language_number = "-1"
COPY "WeiDU.log" "WeiDU.log"
REPLACE_EVALUATE CASE_INSENSITIVE
"^~.*LeModEnQuestion\.tp2~ #\([0-9]+\) #5\b"
BEGIN
PATCH_IF (IS_AN_INT "MATCH1") BEGIN
SET language_number = MATCH1
END
END
"%MATCH0%"
BUT_ONLY IF_EXISTSCode : Tout sélectionner
ACTION_IF (language_number >= 0) BEGIN
COPY ~TonMod/bam/Dref.bam~ ~override~
END ELSE BEGIN
COPY ~TonMod/bam/Dreg.bam~ ~override~
END
Modifié en dernier par JohnBob le lun. 16 déc. 2024, 21:16, modifié 4 fois.
Il est important que la liste `languages` reflète l'ordre des langues possibles du mod. Sinon ça ne fonctionnera pas.
Elle permet d'associer une langue à un chiffre.
Le premier bloc sert à savoir quel chiffre a été choisi, ce chiffre est stocké dans `language_number`.
Grâce à ce chiffre et la liste `languages` on va pouvoir retrouver la langue.
Le bloc peut être réutilisé tel quel.
Pour la fin, il faut vérifier que la langue choisie est le français :
Mon WeiDU étant approximatif, il y a sans doute des trucs à corriger mais la logique me paraît bonne.
Elle permet d'associer une langue à un chiffre.
Code : Tout sélectionner
ACTION_DEFINE_ARRAY languages BEGIN
"english" "german" "russian" "french" "polish"
END
Grâce à ce chiffre et la liste `languages` on va pouvoir retrouver la langue.
Le bloc peut être réutilisé tel quel.
Pour la fin, il faut vérifier que la langue choisie est le français :
Code : Tout sélectionner
ACTION_IF (language_number >= 0) AND ($languages("%language_number%") STRING_EQUAL "french") BEGIN
COPY ~TonMod/bam/Dref.bam~ ~override~
END ELSE BEGIN
COPY ~TonMod/bam/Dreg.bam~ ~override~
END
Modifié en dernier par rivvers le mar. 17 déc. 2024, 07:42, modifié 2 fois.
Vous êtes à la recherche d'un mod merveilleux ? Trouvez votre bonheur sur la liste.
Vous êtes un artisan moddeur et perfectionniste ? Découvrez une traduction corrigée et à jour de DLTCEP.
Vous êtes un explorateur insatiable des mécaniques de l'InfinityEngine ? Plongez dans les secrets du Codex.
Vous recherchez des scripts de qualité, génériques et réutilisables ? Arpentez les templates de script.
Vous êtes un artisan moddeur et perfectionniste ? Découvrez une traduction corrigée et à jour de DLTCEP.
Vous êtes un explorateur insatiable des mécaniques de l'InfinityEngine ? Plongez dans les secrets du Codex.
Vous recherchez des scripts de qualité, génériques et réutilisables ? Arpentez les templates de script.
- deratiseur
- Flagelleur mental
- Messages : 4353
- Enregistré le : mer. 05 déc. 2007, 18:35
- Localisation : Gap, Hautes alpes
- Statut : Hors ligne
Merci d'essayer de m'aider. Ça refuse de marcher.
Le mod "Moddie the Vixxen" propose un compagnon renarde. Mais comme à part le texte tout correspond à un loup, le texte en français se référence à une louve. Donc pour installer d'autres portrait, j'ai prévu une renarde et une louve, et je tente d'installer les portraits de renards, sauf si c'est installation en français, dans ce cas installation du portait de louve.
le code que j'ai tenté d'après vos remarques :
Mais c'est toujours le renard qui est copié. je ne suis jamais arrivé à faire copier le loup.
Le mod "Moddie the Vixxen" propose un compagnon renarde. Mais comme à part le texte tout correspond à un loup, le texte en français se référence à une louve. Donc pour installer d'autres portrait, j'ai prévu une renarde et une louve, et je tente d'installer les portraits de renards, sauf si c'est installation en français, dans ce cas installation du portait de louve.
le code que j'ai tenté d'après vos remarques :
Code : Tout sélectionner
BEGIN @4 DESIGNATED 4 LABEL Px_MTWK_Moddie1
REQUIRE_COMPONENT ~FoxMonster.tp2~ 0 @5000
ACTION_DEFINE_ARRAY languages BEGIN
"english" "german" "russian" "french"
END
OUTER_SET language_number = "-1"
COPY "WeiDU.log" "WeiDU.log"
REPLACE_EVALUATE CASE_INSENSITIVE
"^~.*FoxMonster.tp2~ #\([0-9]+\) #5\b"
BEGIN
PATCH_IF (IS_AN_INT "MATCH1") BEGIN
SET language_number = MATCH1
END
END
"%MATCH0%"
BUT_ONLY IF_EXISTS
ACTION_IF (language_number >= 0) AND ($languages("%language_number%") STRING_EQUAL "french") BEGIN
ACTION_IF GAME_IS ~BG2 TOB BGT~ THEN BEGIN
COPY ~Derats_Mods_Tweaker/Moddie/BG2/Loup~ ~override~
END
ACTION_IF GAME_IS ~BG2EE EET~ THEN BEGIN
COPY ~Derats_Mods_Tweaker/Moddie/EE/loup~ ~override~
END
END ELSE BEGIN
ACTION_IF GAME_IS ~BG2 TOB BGT~ THEN BEGIN
COPY ~Derats_Mods_Tweaker/Moddie/BG2/Renard~ ~override~
END
ACTION_IF GAME_IS ~BG2EE EET~ THEN BEGIN
COPY ~Derats_Mods_Tweaker/Moddie/EE/Renard~ ~override~
END
ENDMes mods sont tous sur Mediafire et Github
Et leurs descriptions sont ici.
Vous trouvez que pour votre ensorceleur il n'y a que 2-3 sorts vraiment utiles par niveaux de sorts ? Installez L'Interplan.
Empêtré dans deux mods en même temps (un an minimum) et déjà deux autres mods dans les cartons...
Et leurs descriptions sont ici.
Vous trouvez que pour votre ensorceleur il n'y a que 2-3 sorts vraiment utiles par niveaux de sorts ? Installez L'Interplan.
Empêtré dans deux mods en même temps (un an minimum) et déjà deux autres mods dans les cartons...
-
JohnBob
- Statut : Hors ligne
Rien de certain...
Devrait avoir un \ avant .tp2 :
C'est bien possible que le deuxième bloc overwrite tout pour les EE :
Il devrait avoir un ELSE BEGIN supplémentaire :
Code : Tout sélectionner
"^~.*FoxMonster.tp2~ #\([0-9]+\) #5\b"Code : Tout sélectionner
"^~.*LeModEnQuestion\.tp2~ #\([0-9]+\) #5\b"Code : Tout sélectionner
END ELSE BEGIN
ACTION_IF GAME_IS ~BG2 TOB BGT~ THEN BEGIN
COPY ~Derats_Mods_Tweaker/Moddie/BG2/Renard~ ~override~
END
ACTION_IF GAME_IS ~BG2EE EET~ THEN BEGIN
COPY ~Derats_Mods_Tweaker/Moddie/EE/Renard~ ~override~
END
ENDCode : Tout sélectionner
END ELSE BEGIN
ACTION_IF GAME_IS ~BG2 TOB BGT~ THEN BEGIN
COPY ~Derats_Mods_Tweaker/Moddie/BG2/Renard~ ~override~
END ELSE BEGIN
ACTION_IF GAME_IS ~BG2EE EET~ THEN BEGIN
COPY ~Derats_Mods_Tweaker/Moddie/EE/Renard~ ~override~
END
END-
Selphira
- Adepte de Grondemarteau
- Ours des cavernes
- Messages : 1178
- Enregistré le : dim. 25 juil. 2004, 22:28
- Statut : Hors ligne
Tu peux aussi vérifier la valeur de tes variables avec un PRINT, et t'assurer que toutes ont les valeurs attendues.
Par exemple comme ceci
Je te suggère aussi de bien indenter ton code pour une lisibilité plus aisée.
Par exemple comme ceci
Code : Tout sélectionner
OUTER_SPRINT language_name $languages("%language_number%")
PRINT "language_number => %language_number% => %language_name %"Code : Tout sélectionner
ACTION_IF (language_number >= 0) AND ($languages("%language_number%") STRING_EQUAL "french") BEGIN
ACTION_IF GAME_IS ~BG2 TOB BGT~ THEN BEGIN
COPY ~Derats_Mods_Tweaker/Moddie/BG2/Loup~ ~override~
END
ACTION_IF GAME_IS ~BG2EE EET~ THEN BEGIN
COPY ~Derats_Mods_Tweaker/Moddie/EE/loup~ ~override~
END
END ELSE BEGIN
ACTION_IF GAME_IS ~BG2 TOB BGT~ THEN BEGIN
COPY ~Derats_Mods_Tweaker/Moddie/BG2/Renard~ ~override~
END
ACTION_IF GAME_IS ~BG2EE EET~ THEN BEGIN
COPY ~Derats_Mods_Tweaker/Moddie/EE/Renard~ ~override~
END
END- deratiseur
- Flagelleur mental
- Messages : 4353
- Enregistré le : mer. 05 déc. 2007, 18:35
- Localisation : Gap, Hautes alpes
- Statut : Hors ligne
Toujours pas. Même avec ton ELSE en plus 
C'est con, c'est tout ce qui bloque la sortie de mon nouveau mod. Comme en plus mes portaits de renard/loup ne collent pas vraiment au standard de BG2, je me demande si je ne vais pas juste zapper ce composant.
C'est con, c'est tout ce qui bloque la sortie de mon nouveau mod. Comme en plus mes portaits de renard/loup ne collent pas vraiment au standard de BG2, je me demande si je ne vais pas juste zapper ce composant.
Mes mods sont tous sur Mediafire et Github
Et leurs descriptions sont ici.
Vous trouvez que pour votre ensorceleur il n'y a que 2-3 sorts vraiment utiles par niveaux de sorts ? Installez L'Interplan.
Empêtré dans deux mods en même temps (un an minimum) et déjà deux autres mods dans les cartons...
Et leurs descriptions sont ici.
Vous trouvez que pour votre ensorceleur il n'y a que 2-3 sorts vraiment utiles par niveaux de sorts ? Installez L'Interplan.
Empêtré dans deux mods en même temps (un an minimum) et déjà deux autres mods dans les cartons...
- deratiseur
- Flagelleur mental
- Messages : 4353
- Enregistré le : mer. 05 déc. 2007, 18:35
- Localisation : Gap, Hautes alpes
- Statut : Hors ligne
Ok Selphira. Alors ça doit buguer dans le code, parce que voilà ce que rend le PRINT : language_number => -1 => %language_name %
Mes mods sont tous sur Mediafire et Github
Et leurs descriptions sont ici.
Vous trouvez que pour votre ensorceleur il n'y a que 2-3 sorts vraiment utiles par niveaux de sorts ? Installez L'Interplan.
Empêtré dans deux mods en même temps (un an minimum) et déjà deux autres mods dans les cartons...
Et leurs descriptions sont ici.
Vous trouvez que pour votre ensorceleur il n'y a que 2-3 sorts vraiment utiles par niveaux de sorts ? Installez L'Interplan.
Empêtré dans deux mods en même temps (un an minimum) et déjà deux autres mods dans les cartons...
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 5 invités