Affichage des résultats 1 à 8 sur 8

Discussion: [WeiDU] Équivalent du signe "*" pour la commande COPY ?

  1. #1
    Date d'inscription
    December 2007
    Localisation
    GAP, Hautes alpes
    Messages 
    2 032

    [WeiDU] Équivalent du signe "*" pour la commande COPY ?

    Je voudrais juste savoir comment exprimer en code WeiDU la commande dos "copy machintruc/*b.bam override/*c.bam"

    Le but est de copier 45 icônes en b en 45 icônes en c, en une seule ligne et pas en 45 comme je le fait actuellement dans mon tp2.

    J'ai essayé diverses variantes de COPY, je n'y arrive pas :-/
    Dernière modification par Freddy_Gwendo ; 24/03/2016 à 18h20. Motif: Modification du titre de la discussion
    Les mères célibataires au d'avoir flashé sur un gars "beau comme un dieu" elle auraient mieux fait de chercher un gars "qui ferait un bon père".

    Sur Path Of Exil. Plus de modding, ni traduction, etc...

  2. #2
    Date d'inscription
    July 2003
    Localisation
    Plaisir
    Messages 
    6 826

    Re : weidu signe * pour copy

    Il faut des possibilités avancées en "pattern matching" pour faire ça. Les commandes standard DOS et même Unix (sauf peut-être depuis la norme POSIX) n'ont pas ces capacités, pour autant que je sache.
    D'après la documentation WeiDU (chapitre 12), il semble que les capacités soient présentes mais il n'y a aucune mention des commandes pour lesquelles ces capacités sont applicables. Donc il faudra essayer mais il y a de grandes chances.
    Tu peux essayer cette forme, mais sans garantie qu'elle fonctionne dans le contexte de COPY de WeiDU :
    COPY ~machintruc/\(.*\)b.bam~ ~override/\1c.bam~
    Cette expression régulière fonctionne dans des fonctions de recherche/remplacement d'un éditeur de texte "évolué" tel que Notepad++, à un petit détail près car les \ avant les parenthèses ouvrante et fermante sont inutiles en cas de respect de la norme POSIX. De son côté, WeiDU suit la notation d'Emacs (voir Wikipedia) comme indiqué au chapitre 12 et a donc besoin de ces \.
    WeiDU devrait accepter cette forme. Si ça ne marche pas, je ne pense pas qu'il y ait d'autre solution que les 45 lignes.

  3. #3
    Date d'inscription
    April 2003
    Localisation
    Bordeaux
    Messages 
    1 151

    Re : weidu signe * pour copy

    Weidu sait copier les contenus des dossiers.
    Tu peux donc mettre tes fichiers dans un sous dossier de ton mod et faire :
    COPY ~MonMod/MonDossier~ ~override~
    Je l'ai utilisé dans le mod de l'extension de la quête de Jan.
    Dernière modification par Akadis ; 24/09/2009 à 18h19.
    Développeur du mod Akadis version disponible Beta 3.1b : envoyez moi un M. P
    Responsable de la maintenance du mod
    Kim

  4. #4
    Date d'inscription
    December 2007
    Localisation
    GAP, Hautes alpes
    Messages 
    2 032
    De retour 7 ans plus tard pour donner la solution que j'ai trouvé je ne sais plus quand après de multiple essais et demandes.
    pour copier des fichiers finissant par C en les mêmes fichiers finissant par B, il faut tous les mettre dans un répertoire (dans l'exemple si dessous je les ai mises dans le répertoire "Spell icons"), puis copier ce répertoire avec l'instruction suivante :

    ACTION_BASH_FOR ~Derats_kits/Warlord/Bams/Spell icons~ ~.+\c.bam$~ BEGIN
    OUTER_INNER_PATCH_SAVE new "%BASH_FOR_RES%" BEGIN REPLACE_TEXTUALLY ~c$~ ~b~ END
    COPY ~%BASH_FOR_FILESPEC%~ ~override/%new%.bam~
    END
    Les mères célibataires au d'avoir flashé sur un gars "beau comme un dieu" elle auraient mieux fait de chercher un gars "qui ferait un bon père".

    Sur Path Of Exil. Plus de modding, ni traduction, etc...

  5. #5
    Avatar de Haplo74
    Haplo74 est déconnecté Clerc - Entropiste
    Date d'inscription
    April 2012
    Localisation
    Paris
    Messages 
    1 737
    Bonjour,

    Je ne suis pas vraiment calé en programmation Weidu.
    Mais y'a-t-il une contre-indication à utiliser les COPY_EXISTING plutôt que COPY ?
    Dans le mod Unique Artefacts, l'auteur utilisait une syntaxe proche des expressions régulières qui semble répondre au besoin.

    Dans mon script de nettoyage des objets de Secret of Bone Hill, j'ai repris ce type de syntaxe:
    COPY_EXISTING_REGEXP GLOB ~^BH.+\.are$~ ~override~

    Ca n'est pas le type d'opération qui est recherché ?

    Morceau de code:
    Code:
    //définition des objets à supprimer
    
    OUTER_SPRINT ~amulets~ ~AMUL14\|AMUL15\|AMUL16\|AMUL17\|AMUL19\|AMUL20\|AMUL21\|AMUL22\|AMUL23\|AMUL25\|AMUL26\|AMUL27\|AMUL28\|CHALCY3\|IPSION\|MISC5E\|MISC73\|MISC9S\|WA2AMU~
    OUTER_SPRINT ~bracers~ ~BRAC03\|BRAC04\|BRAC06\|BRAC07\|BRAC08\|BRAC09\|BRAC10\|BRAC11\|BRAC13\|BRAC14\|BRAC15\|BRAC16\|BRAC17\|BRAC18\|BRAC19\|BRAC20\|BRAC21\|BRAC22\|BRAC23\|BRAC24\|BRAC25\|BRAC26~
    OUTER_SPRINT ~cloaks~ ~CLCK02\|CLCK03\|CLCK04\|CLCK05\|CLCK06\|CLCK07\|CLCK08\|CLCK20\|CLCK21\|CLCK22\|CLCK23\|CLCK24\|CLCK25\|CLCK26\|CLCK27\|CLCK28\|CLCK30\|CLCK31\|CLCK32\|COMPON16\|DWCLCK01\|MISC9W~
    OUTER_SPRINT ~boots~ ~BOOT01\|BOOT02\|BOOT03\|BOOT04\|BOOT05\|BOOT07\|BOOT08\|BOOT10\|BOOT11\|BOOT12\|BOOTDRIZ\|MISC8J\|MOVE7\|TROLLBOO~
    OUTER_SPRINT ~belts~ ~BELT02\|BELT03\|BELT04\|BELT05\|BELT06\|BELT07\|BELT08\|BELT09\|BELT10\|BELT11~
    OUTER_SPRINT ~rings~ ~ALDETH\|FAMMY\|FIRERING\|FREERING\|IMPINVIS\|JWSUPER\|MAGE01\|MAGE05\|MISC72\|MISC88\|NOCIRC\|RING02\|RING03\|RING05\|RING07\|RING08\|RING09\|RING20\|RING21\|RING22\|RING23\|RING25\|RING26\|RING27\|RING28\|RING29\|RING30\|RING31\|RING33\|RING34\|RING35\|RING36\|RING37\|RING39\|RING40\|RING41\|RING42\|RING46\|RINGPICO\|ROSSLAND\|ROSSRING\|WA2RING~
    OUTER_SPRINT ~wands~ ~WAND12\|WAND13\|WAND15\|WAND18\|WAND19~
    OUTER_SPRINT ~rods~ ~RODS01\|RODS02\|RODS03\|RODS06~
    OUTER_SPRINT ~armors~ ~BRUENPLA\|CHALARM\|CHAN03\|CHAN06\|CHAN07\|CHAN08\|CHAN09\|CHAN10\|CHAN11\|CHAN12\|CHAN13\|CHAN14\|CHAN15\|CHAN16\|CHAN17\|CHAN18\|CHAN19\|CHAN20\|CHAN21\|CLCK15\|CLCK16\|CLCK17\|CLCK19\|CLCK29\|CLOLTH\|DWCHAN01\|DWCHAN02\|DWPLAT01\|HGWRA02\|LEAT03\|LEAT06\|LEAT07\|LEAT08\|LEAT09\|LEAT11\|LEAT12\|LEAT13\|LEAT14\|LEAT15\|LEAT16\|LEAT17\|LEAT18\|LEAT19\|LEAT20\|LEAT21\|LEAT22\|LEAT23\|LEAT24\|PALPLAT\|PLAT05\|PLAT06\|PLAT09\|PLAT11\|PLAT12\|PLAT13\|PLAT14\|PLAT15\|PLAT16\|PLAT17\|PLAT18\|PLAT19\|PLAT20\|PLAT21\|PLAT22\|PLAT23\|SHARARM\|TAMCHAIN\|TTLEAT\|VISCLCK1\|VISCLCK2\|VISCLCK3\|VISCLCK4\|VISCLCK5\|VISPLAT2\|WA2PLAT\|WA2ROBE~
    OUTER_SPRINT ~shields~ ~CHALSHLD\|DWSHLD01\|SHLD07\|SHLD19\|SHLD20\|SHLD21\|SHLD22\|SHLD23\|SHLD24\|SHLD25\|SHLD26\|SHLD27\|SHLD28\|SHLD29\|SHLD30\|SHLD31\|SHLD32\|TTSHLD01\|WA2SHIEL~
    OUTER_SPRINT ~helms~ ~CHALHELM\|COMPON05\|COMPON17\|HELM02\|HELM03\|HELM04\|HELM05\|HELM06\|HELM07\|HELM14\|HELM16\|HELM17\|HELM18\|HELM19\|HELM20\|HELM21\|HELM23\|HELM24\|HELM25\|HELM26\|HELM27\|HELM28\|HELM29\|HELM30\|HELM31\|HELM32\|HELM33\|HELM34\|HELMNOAN\|PALHELM\|WA2HELM~
    
    OUTER_SPRINT ~weapons~ ~AX1H03\|AX1H05\|AX1H06\|AX1H07\|AX1H08\|AX1H09\|AX1H10\|AX1H11\|AX1H12\|AX1H13\|AX1H14\|AX1H15\|AX1H16\|AX1H17\|BRUENAXE\|GIAFIR2\|WAAXE\|BOW07\|BOW08\|BOW09\|BOW10\|BOW11\|BOW12\|BOW13\|BOW14\|BOW15\|BOW16\|BOW17\|BOW18\|BOW19\|BOW20\|BOW21\|BOW22\|BOW23\|BOW24\|BOW25\|BOW26\|BOW99\|CATTIBOW\|GORWOM2\|NPBOW\|DWXBOW01\|XBOW03\|XBOW06\|XBOW07\|XBOW08\|XBOW09\|XBOW10\|XBOW13\|XBOW14\|XBOW15\|XBOW16\|XBOW17\|XBOW18\|DAGG03\|DAGG04\|DAGG06\|DAGG07\|DAGG08\|DAGG09\|DAGG11\|DAGG12\|DAGG13\|DAGG14\|DAGG15\|DAGG17\|DAGG18\|DAGG20\|DAGG21\|DAGG22\|DAGG23\|DAGG24\|MISC75\|NEBDAG\|RAVAG02\|SW1H13\|BLUN13\|BLUN14\|BLUN14D\|BLUN14E\|BLUN14F\|BLUN14G\|BLUN14H\|BLUN14I\|BLUN27\|BLUN30\|BLUN30C\|BLUN30D\|BLUN32\|DWBLUN01\|FLOLTH\|GORWOM4\|SENDAI\|WAFLAIL\|DWHALB01\|HALB03\|HALB04\|HALB05\|HALB06\|HALB07\|HALB08\|HALB09\|HALB10\|HALB11\|HALB12\|HALBSHA\|WA2HALB\|AEGIS\|AEGIS2\|GIAFIR\|HAMM03\|HAMM04\|HAMM05\|HAMM06\|HAMM07\|HAMM08\|HAMM09\|HAMM10\|HAMM11\|HAMM12\|BLUN10\|BLUN12\|BLUN18\|BLUN19\|BLUN20\|BLUN21\|BLUN22\|BLUN23\|BLUN24\|BLUN25\|BLUN26\|BLUN28\|BLUN29\|BLUN31\|BLUN33\|HLOLTH\|RODMACE\|BLUN09\|BLUN15\|BLUN16\|BLUN17\|BLUN34\|BLUN35\|WASTAR\|CHALCY1\|CHALCY2\|CHEVIL10\|FBLADE\|NPSW05\|NPSW06\|SBLADE\|SHAKTI1\|STDEATH\|SW1H09\|SW1H10\|SW1H25\|SW1H26\|SW1H27\|SW1H28\|SW1H29\|SW1H58\|SW1H59\|SW1H66\|SW1H74\|WAWAK\|SLNG03\|SLNG04\|SLNG05\|SLNG06\|SLNG07\|SLNG08\|SLNG09\|SLNG10\|WASLING\|DWSPER01\|SPER03\|SPER05\|SPER06\|SPER07\|SPER08\|SPER09\|SPER10\|SPER11\|SPER12\|WASPEAR\|AURSTAF\|ENSTAFF\|MISC5T\|NPSTAF\|RODS04\|RODS05\|STAF05\|STAF06\|STAF07\|STAF08\|STAF09\|STAF10\|STAF11\|STAF12\|STAF13\|STAF14\|STAF15\|STAF16\|STAF17\|STAF18\|STAF19\|STAF20\|STAF21\|STAF22\|STAF23\|STAF24\|WASTAFF\|BLAKBLAD\|CARSOMYR\|DEMOSUM4\|DEVA\|DEVAEVIL\|DWSW1H01\|DWSW1H02\|GITH\|GORCAMB\|HSWORD\|KILLSW01\|MARILI\|MISCBC\|PLANETAR\|REAVER\|SW1H03\|SW1H06\|SW1H11\|SW1H15\|SW1H16\|SW1H18\|SW1H19\|SW1H23\|SW1H24\|SW1H30\|SW1H31\|SW1H32\|SW1H33\|SW1H33A\|SW1H33C\|SW1H34\|SW1H35\|SW1H36\|SW1H37\|SW1H38\|SW1H39\|SW1H40\|SW1H41\|SW1H42\|SW1H45\|SW1H50\|SW1H51\|SW1H52\|SW1H53\|SW1H54\|SW1H55\|SW1H60\|SW1H61\|SW1H62\|SW1H63\|SW1H64\|SW1H65\|SW1H67\|SW1H68\|SW1H68A\|SW1H68C\|SW1H69\|SW1H69C\|SW1H70\|SW1H71\|SW1H72\|SW1H73\|SW1H75\|SW1H76\|SW1H77\|SW1H99\|SW1HSEEK\|SW2H03\|SW2H06\|SW2H07\|SW2H08\|SW2H09\|SW2H10\|SW2H11\|SW2H12\|SW2H13\|SW2H14\|SW2H15\|SW2H16\|SW2H17\|SW2H18\|SW2H19\|SW2H20\|SW2H21\|SW2H99\|SW2HDEAT\|TELSWD\|WA2DAK\|WA2S1H\|WANINJA\|WAS2H~
    OUTER_SPRINT ~ammos~ ~AROW06\|AROW07\|AROW15\|QUIVER01\|QUIVER03\|BOLT09\|DWBOLT01\|DWBOLT02\|DWBOLT03\|KUOBOLT\|KUOBOLT2\|KUOBOLT3\|QUIVER02\|QUIVER04\|SAHBOLT\|BULL04\|BULL05\|BULL06\|QUIVER05\|QUIVER06\|DART05\|DART08\|DARTMEL\|STARDART~
    
    OUTER_SPRINT ~containers~ ~BAG01\|BAG02\|BAG02B\|BAG02C\|BAG02D\|BAG02E\|BAG02F\|BAG02G\|BAG02H\|BAG02I\|BAG03\|BAG03B\|BAG03C\|BAG03D\|BAG03E\|BAG03F\|BAG03G\|BAG03H\|BAG03I\|BAG04\|BAG05\|BAG06\|BAG06B\|BAG06C\|BAG06D\|BAG19\|BAG19A\|BAG19B\|BAG19C\|BAG19D\|BAG19E\|BAG20\|BAG21\|BAG22\|BAG23\|BAG24\|BAG25\|BAG26\|BAG27\|BAG28\|BAG29\|BAG30\|BAG31\|TBAG01\|TBAG01NA~
    OUTER_SPRINT ~other_items~ ~BOTSMITH\|COMPON06\|DAGG10\|DECK\|FIGURE01\|MISC3A\|MISC3A1\|MISC3A2\|MISC3A3\|MISC3A4\|MISC3A5\|MISC3A6\|MISC3A7\|MISC3A8\|MISC3A9\|MISC3C\|MISC3D\|MISC3E\|MISC3H\|MISC3I\|MISC3J\|MISC3K\|MISC3M\|MISC3N\|MISC3O\|MISC3P\|MISC7T\|PLOT02H\|TOME01\|TOME02\|TOME03\|TOME04\|WA2HARP~
    
    //les combiner en un
    OUTER_SPRINT ~all_items~ ~%amulets%\|%bracers%\|%cloaks%\|%boots%\|%belts%\|%rings%\|%wands%\|%rods%\|%armors%\|%shields%\|%helms%\|%weapons%\|%ammos%\|%containers%\|%other_items%~
    
    PRINT ~Traitement des zones...~
    
    COPY_EXISTING_REGEXP GLOB ~^BH.+\.are$~ ~override~
      SPRINT ~item2delete~ ~%all_items%~
    LAUNCH_PATCH_MACRO ~DELETE_AREA_ITM_ALL~
    BUT_ONLY_IF_IT_CHANGES
    
    PRINT ~Traitement des magasins...~
    
    COPY_EXISTING_REGEXP GLOB ~^BH.+\.sto$~ ~override~
      SPRINT ~item2delete~ ~%all_items%~
    LAUNCH_PATCH_MACRO ~DELETE_STORE_ITM_ALL~
    BUT_ONLY_IF_IT_CHANGES
    
    PRINT ~Traitement des créatures...~
    
    COPY_EXISTING_REGEXP GLOB ~^BH.+\.cre$~ ~override~
      SPRINT ~item2change~ ~%all_items%~
    SET f_add = ~%f_add_nostdr%~ //non volable, non récupérable
    LAUNCH_PATCH_MACRO ~ADD_CRE_ITM_FLAGS_ALL~
    BUT_ONLY_IF_IT_CHANGES
    Script complet dans ce message

    Mais peut-être n'ai-je rien compris à l'énoncé initial ?

    Haplo74
    Modérateur des sections "le bazar de l'aventurier", "la taverne de Château-Suif", "la taverne d'Amkethran" et "le comptoir d'Amn".

  6. #6
    Date d'inscription
    July 2003
    Localisation
    Plaisir
    Messages 
    6 826
    Deratiseur voulait installer des fichiers propres à son mod, en les renommant au moment de la copie pour remplacer la terminaison B du nom par la terminaison C, sans doute pour utiliser la même image pour deux choses différentes. Mais dans le dernier code il a finalement choisi de faire l'inverse.
    COPY_EXISTING nécessite que les fichiers existent dans le jeu, soit dans un fichier BIF, soit dans override. Cela ne peut pas convenir ici.
    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 !

  7. #7
    Avatar de Haplo74
    Haplo74 est déconnecté Clerc - Entropiste
    Date d'inscription
    April 2012
    Localisation
    Paris
    Messages 
    1 737
    Citation Envoyé par Isaya Voir le message
    Deratiseur voulait installer des fichiers propres à son mod, en les renommant au moment de la copie pour remplacer la terminaison B du nom par la terminaison C, sans doute pour utiliser la même image pour deux choses différentes. Mais dans le dernier code il a finalement choisi de faire l'inverse.
    COPY_EXISTING nécessite que les fichiers existent dans le jeu, soit dans un fichier BIF, soit dans override. Cela ne peut pas convenir ici.
    OK pour la différence COPY et COPY_EXISTING.
    Mais n'existe-t-il pas le pendant COPY_REGEXP dans ce cas (pour REGular EXPression) et permettant de tout faire nativement (avec souvent des syntaxes bien alambiquées il faut le reconnaître) ?

    Haplo74
    Modérateur des sections "le bazar de l'aventurier", "la taverne de Château-Suif", "la taverne d'Amkethran" et "le comptoir d'Amn".

  8. #8
    Date d'inscription
    July 2003
    Localisation
    Plaisir
    Messages 
    6 826
    Il n'existe pas de COPY_REGEXP, pour une bonne raison, le principe REGEXP est basé sur le contenu existant du jeu. Il existe une option GLOB de COPY pour indiquer une utilisation d'expression régulière s'appliquant sur les fichiers du disque.
    A COPY command may use globbing to expand filename wildcards with respect to files on the host filesystem. Unlike COPY_EXISTING_REGEXP, glob wildcards do not range over game resources. Instead, they range over physical files actually on the disk.
    Mais il y a une mise en garde :
    Use local filesystem globbing. Globbing is generally architecture specific!
    Elle fonctionne également quasi indispensable avec COPY_EXISTING_REGEXP d'ailleurs, car elle a un impact majeur pour les mods (cf la documentation WeiDU) pour "glob") :
    To put it another way: if you do not specify GLOB with COPY_EXISTING, WeiDU pretends that the override directory contains 0 files that are not in CHITIN.KEY.
    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 !

Discussions similaires

  1. Réponses: 5
    Dernier message: 06/08/2014, 22h10
  2. [WeiDU] Astuces pour utiliser WeiDU en lignes de commande
    Par Thot dans le forum Programmation WeiDU
    Réponses: 24
    Dernier message: 08/11/2012, 22h36
  3. De quel geek signe êtes-vous ?
    Par Ailyn dans le forum Le Comptoir
    Réponses: 46
    Dernier message: 31/07/2011, 18h21
  4. [KIT] Comment utiliser WeiDU pour créer un Kit ?
    Par Rendar'Hearmelis L'ombre dans le forum Kits
    Réponses: 17
    Dernier message: 27/08/2003, 14h09
  5. [PNJ] [OBSOLÈTE] Création de PNJ avec WeiDU
    Par Symbel Myne (Invité) dans le forum Créatures, Monstres et NPC
    Réponses: 4
    Dernier message: 03/07/2003, 11h21

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •  

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250