Programista fachowiec dla mnie haker nie wiem nawet w jakim to języku można napisac

0

Zlecę pracę za zł.
Prosty program z jednego pliku tekstowego wyszukuje się nazwy z końcówką .3ds na podstawie tych nazw pliki z końcówką .mrm następnie edytuje mrm i szuka tan nazwy z końcówką.tga techniczne musiałbym to pokazać na rozmowie

0

Piszmy tu bo jak ja nie zrobię to inni będą mieli wytyczne
1.A to w przyszłości trzeba będzie program rozwijać czy wystarczy raz napisać.
2Ten tekst szukany z końcówką 3ds skąd wiedzieć gdzie się zaczyna. Bo wiemy że się kończy na .3ds.
3. Co to znaczy że edytuje pliki .mrm. Co tam edytuje.

1

Zacznijmy od tego, co to są te pliki MRM, bo pierwszy raz słyszę o takim rozszerzeniu…

Jak to tylko dziwne rozszerzenie na prosty plik, to żaden problem; a jak tam siedzi niewiadomoco, albo nawet zaszyfrowane niewiadomoco, to ten projekt przestaje być łatwy, a cena leci w górę o kilka rzędów wielkości…

A biorąc pod uwagę tytuł tematu, obróbka zaszyfrowanych/podpisanych danych nie wydaje się niemożliwa…

3

Obawiam się że to niekoniecznie będzie takie proste. mrm i 3ds sugeruje że to jakieś modele 3d a tga sugeruje że chcesz podmienić tekstury. Myk polega na tym, że mówimy tu o plikach binarnych i z reguły takich plików nie da się tak prosto edytować i niczego nie zepsuć. W najlepszym wypadku można podmienić jeden string na drugi o identycznej długości i jeśli nie ma tam nigdzie zadnej checksumy to taki zabieg może się udać i coś takiego to kilka linijek kodu w pythonie.

4

MRM to pliki modeli gier Gothic i Gothic 2. Silnik gry (ZenGin) tworzy je z plików .3ds

Nie chcę zniechęcać, ale sprawdzałeś, czy taka podmiana zadziała? Bo ja sprawdziłem i podmieniając tylko nazwę tekstury w pliku uzyskujemy takie coś:

Przed:
screenshot-20220423112735.png

Po:
screenshot-20220423112846.png

log z zSpy:

-3-	00:17 Warn:  0 D:         OBJ: SetObjectName() on shared object class 'zCMaterial' failed: object with that name already exists! OBJ_CITY_MARKETSTALLS_02 .... <zObject.cpp,#299>
-3-	00:17 Warn:  0 C:         zCOBBox3D::LoadBIN(): really many child bboxes found. probable data corruption. try to delete all _compiled data instead converting on the fly! .... <zBVolume.cpp,#2376>
-3-	00:17 Warn:  0 B:         MOBCONTAINER: Item-Instance not found: ItWr_Map_NewWorld .... <oMobInter.cpp,#2983>
-3-	00:39 Warn:  0 C:         zCOBBox3D::LoadBIN(): really many child bboxes found. probable data corruption. try to delete all _compiled data instead converting on the fly! .... <zBVolume.cpp,#2376>
-3-	00:39 Warn:  0 B:         VFILE: Seek -2087026660 on file NW_CITY_MARKETSTALL_ALCHEMY_01.MRM failed. Current position is 10720. Filesize is 11087 .... <zDisk_Vdfs.cpp,#255>
-3-	00:39 Warn:  0 B:         VFILE: Seek -12605836 on file NW_CITY_MARKETSTALL_ALCHEMY_01.MRM failed. Current position is 10726. Filesize is 11087 .... <zDisk_Vdfs.cpp,#255>
-3-	00:39 Warn:  0 B:         VFILE: Seek -219540310 on file NW_CITY_MARKETSTALL_ALCHEMY_01.MRM failed. Current position is 10732. Filesize is 11087 .... <zDisk_Vdfs.cpp,#255>
-3-	00:39 Warn:  0 B:         VFILE: Seek -708951513 on file NW_CITY_MARKETSTALL_ALCHEMY_01.MRM failed. Current position is 10738. Filesize is 11087 .... <zDisk_Vdfs.cpp,#255>
-3-	00:39 Warn:  0 B:         VFILE: Seek -1264830793 on file NW_CITY_MARKETSTALL_ALCHEMY_01.MRM failed. Current position is 10744. Filesize is 11087 .... <zDisk_Vdfs.cpp,#255>
-3-	00:39 Warn:  0 B:         VFILE: Seek -985481961 on file NW_CITY_MARKETSTALL_ALCHEMY_01.MRM failed. Current position is 10750. Filesize is 11087 .... <zDisk_Vdfs.cpp,#255>

Tak jak pisze @Shalom, plik najpewniej robi się niespójny

1

@avetz666: Jaki masz budżet?

2

Dobra, chyba mam coś, co działa

Dla jasności, przykładowy plik .MRM wygląda tak:

 ±H+  	0'  „ zC“AŹÂˇ‚śÂ|˙yäÍW@ľúvB„ zC¤ÍW@ľúvB|˙yĂ“AŹÂˇ‚śÂúţšÂ’AŹÂvő…Aúţ¤Â’AŐÂşúvBôýeÂ’AŐÂ~őŐA›B’AŹÂ~ő…AĄB’AŐÂľúvBfB’AŐÂ~őŐA›B“AŹÂ
şÁĄB“AŐ¡‚ÂfB“AŐÂA„€hC“AŹÂ
şÁ„€mC“AŐ¡‚„€TC“AŐÂAÂ|hĂ’AŹÂrő…A|mĂ’AŐÂşúvB|TĂ’AŐÂrőŐAúţšÂ“AŹÂ
şÁúţ¤Â“AŐ¡‚Âôýe“AŐÂAÂ|hĂ“AŹÂ‚
şÁ|mĂ“AŐ¡‚Â|TĂ“AŐÂA„ zC“AŹÂ_}ŹB|˙yĂ“AŹÂ_}ŹB„€YC’AŹÂ†ő…A„€hC’AŹÂĂúNB„€TC’AŐ†őŐA„€mC’AŐÂÂúvBĄB“AŐÂAÂúţ¤Â“AŐÂAÂ|mĂ’AŐÂrőŐA|mĂ“AŐÂAÂĄB’AŐÂ~őŐA„€mC’AŐ†őŐA„€mC“AŐÂBÂúţ¤Â’AŐÂvőŐA„€TC’AŐÂÂúvBfB’AŐÂľúvBzB’AŹÂżúNBfB“AŐ¡‚ÂzB“AŹÂAi„€TC“AŐ¡‚„€YC“AŹÂAiÂôýe“AŐ¡‚Âôýy“AŹÂAiÂ|TĂ“AŐ¡‚Â|YĂ“AŹÂAiÂ|TĂ’AŐÂşúvB|YĂ’AŹÂ·úNBôýeÂ’AŐÂľúvBôýyÂ’AŹÂ»úNB|˙yĂ&:¡‚śÂ„ zC&:¡‚śÂzB“AŹÂ
şÁôýy“AŹÂ‚
şÁzB’AŹÂ~ő…A„€hC’AŹÂ†ő…A„€YC“AŹÂ‚
şÁ|YĂ’AŹÂrő…A|YĂ“AŹÂ‚
şÁôýyÂ’AŹÂző…A›B’AŹÂżúNB›B“AŹÂAi„€hC“AŹÂAiÂúţšÂ“AŹÂAiÂ|hĂ“AŹÂAiÂúţšÂ’AŹÂ»úNB|hĂ’AŹÂ·úNB„€YC’AŹÂÁúNB|˙oĂ™ęÁ…!]B|˙oĂÎ6ľo­OB„ pC™ęÁ‡!]B„ pCÎ6ľq­OB|˙oĂ{RSÂÎĂÂ|˙oç-ÂŮ}ŠÂ„ pC{RSÂËĂ„ pC§-ÂÖ}ŠÂ| . k k  | š m Ý É Ü l ‘ Ó o Ą n Ň … q Ď « Î p — s × ± Ö r ‹ u Ů Ă Ř t  Ń w · v Đ Ž Ű y ˝ x Ú 0 { + 
 , z z ~ 
 Ę  } ” D  ě € E Ő „ C € ě ť ¨ 9 ‡ < † = ´ Š    ‰ Ŕ  Ť   Ś ! ş     Ź ˘ “ G J K ’ ź – ? „ Ő • ® 2 ™ 5  6 Ć $ ś ' › ( – ź @ ž B A “ ˘ H K J Ţ n Ą   F ß I ‡ : ¨ = ŕ < p ¦ « 8 ; á ™ 3 ® 6 â 5 r ¬ ± 1 4 ă Š ´    ä v · ˛  ĺ   ş    ć x ˝ ¸  ç  Ť  Ŕ ! ę   t ľ Ă   ë ś % Ć ( č ' l Ä É # & é Í Ë   }  Ę   / Í + Ě 0 Ď > … Ń   Ó ‘ L D ” Ô × 7 — Ů " ‹ Ű Ž  Ý ) š ß F Ł á © 8 ă Ż 1 ĺ  µ ç  » é Ç # ë Á  B ž í  ň 
 *  ó ú ń  ý  đ ó ř *  - ů ÷   ô ú 
 	  	  ˙ đ ţ ý ů    	˙            €żYyżÇŁ= Đ?  €ż        Ô5żD> “ż  €ż        JŃń˝DO>J   D”€2N4¬ľ˙qżPµzżŕ^=H     €?        Ž¨ůľ ™G=H   fŢ@łL4¬>˙q?Â^¨ż@L   ˝0ąđq?k)¬ľ°övż`‚=7   ˝0ąđq?k)¬ľć»ż Ú=7   Ţ
°8ßq?–¬ľt+§˝`‚=6   Ţ
°8ßq?–¬ľ‘’\ľ 9©<6       íU>Á}?yO¸ľ€°ń=     €ż   €    ĺąľVĆD?   X,098q?;>¬ľ¬C‘˝ ˝ë<   X,098q?;>¬ľ~sżŔé^<       C¨Ś>n&vż‰´™?đ˝v>0         €ż    p<‡˝ 'ŐĽ         €ż    –ć˝Ŕţq˝       C¨Ś>n&vż‰´™?ü^”>   Tm}żÂĐ>    Ľ"ľ¬ľ¤>   Tm}żÂĐ>    z9˝´c> i|    ?¨Śľo&v?aăľB> i|    C¨Ś>n&vż‰´™?`}˝. i|      €ż    p<‡˝„A7> f|      €ż    –ć˝°f> i|    C¨Ś>n&vż´™?€!TĽ i|Tm}żÂĐ>    Ľ"ľÓŽ> i|Tm}żÂĐ>    {9˝8đV> i|łG´>¨Śľo&v?
ÂľB> i|    I¨Ś>n&v?aĎľBU>2 i|      €ż    Ä"Z< 'ŐĽ i|      €ż    át=Ŕţq˝      €I¨Ś>n&v?ačľBU>   Tm}żÂĐ>    ĆĂ=¬ľ¤>   Tm}żÂĐ>    hü;´c>       ?¨Śľo&vżŠt˘?ü^Ź>   =‰ť´D¨Ś>n&v?„Ń˝BU>4 i|   €  €ż    ä"Z<„A7> i|      €ż    át=°f> i|=‰µ?¨Ś>o&v?
ÂľBU> i|Tm}żĂĐ>    ĆĂ=ÓŽ> i|Tm}żĂĐ>    $hü;4đV> i|łG5A¨Śľo&vżt˘?€şĽ i|¬w°¸rq?/H¬ľ*¤|żĐŢ!= i|  €?        {(ż¤l3? g|    íU>Á}?yO¸ľÄz#? i|¬w°¸rq?/H¬ľ°
`ż€íë< i|      €ż    łq…>D˛?  i|          €ż”¦‰˝ÇŁ=  g|  €?        ]ňŘľoe>  i|    C¨Ś>n&vż´™?€Đż, i|      €ż    p<‡˝Đ8	? g|      €ż    –潯?       C¨Ś>n&vż´™?€P#ż   Tm}?ĂĐ>    %ľ(%‹ľ   Tm}?ĂĐ>    :˝`”Oľ
   ˛G´E¨Śľn&v?úží>B>
       C¨Ś>n&vż‰´™?ˇ’ľ*         €ż    p<‡˝p~©>         €ż    –ć˝Řkş>       C¨Ś>n&vż‰´™? ˇ«ľ   Tm}?ÂĐ>    $ľsjľ   Tm}?ÂĐ>    :˝(˝#ľ
 i|łG4=¨Śľo&v?ó=%>B>
 i|      €ż    ü"Z<Đ8	? i|      €ż    ét=Ż? i|    <¨Ś>o&v?úžň>BU> i|˛G´@¨Ś>o&v?úží>B> g|Tm}?ĂĐ>    »ůÎ=`”Oľ i|    ?¨Śľo&vż‰t˘?€Pż i|Tm}żĂĐ>    ¤hü;đ> i|    <¨Ś>o&v?é{ú=BU>( f|      €ż    ä"Z<p~©>	 g|      €ż    ét=Řkş> i|    <¨Ś>o&v?ó=/>BU> i|Tm}?ŐĐ>k´g4¸ůö=sjľ i|Tm}?ŐĐ>k´g4qó=(˝#ľ f|    ?¨Śľo&vżŠt˘?ˇ¦ľ f|fŢ@łL4¬>˙q?بżśZ(@7   €ż        đUľ¬Ĺ>7 g|  €?        Śň<ż@,č<6 i|D”€2N4¬ľ˙qżĽ÷˝€k= f|Tm}żĂĐ>    †Ć›=đ> g|Tm}?ĂĐ>   €oó= Hř˝ i|Tm}?ĂĐ>    ‹:˝Ŕ™ ˝ i|Tm}?ĂĐ>   €ió=Ŕ™ ˝ i|Tm}żĂĐ>    z9˝đ>
 i|Tm}?ĂĐ>    wó=`”Oľ e|Tm}żĂĐ>    dhü; W/> e|Tm}?ĂĐ>    Ť:˝0Hř˝ i|Tm}żĂĐ>    z9˝ W/>
 i|Tm}?ĂĐ>    ¶ůÎ= Hř˝ i|Tm}?ÂĐ>    łůÎ=Ŕ™ ˝ i|Tm}?ÂĐ>    Eé˝Ŕ™ ˝ i|Tm}?ÂĐ>    Fé˝0Hř˝ e|Tm}żÂĐ>    ˝ľđ> e|Tm}żÂĐ>    ˝ľ W/> g|Tm}żĂĐ>    „Ć›= W/> i|xh5B¨Śľo&vż´™?€!TĽ i|XR2B¨Śľo&v?úžň>BU> g|    ?¨Śľo&vż‰´™?ˇ«ľ i|    ?¨Śľo&v?ačľBU> i|    ?¨Śľo&vż‰´™?ü^”> i|łGł>¨Śľo&v?
ÂľBU> g|łG4?¨Śľo&v?ó=/>BU> i|    ?¨Śľo&vż´™?€P#ż e|      €ż    ó®ä>ú> i|      €ż    ó®ä>D˛? i|      €ż    łq…>ú> î?Tm}?ĂĐ>    sóU= ÚBľ i|<‰5D¨Śľn&vż‰´™?`}˝ i|Tm}żĂĐ>    ß<
v>	 i|    ?¨Śľo&vż‰´™?ˇ’ľ	 i|Tm}żÂĐ>    |9¸˝
v>       A¨Śľo&v?ç{ú=BU>   Tm}żÂĐ>    |9¸˝Ü5J>   =‰4@¨Śľo&v?úžŮ>BU>   Tm}?ÂĐ>    ióU=Đľ i|   €?¨Śľo&vż‰´™?đ˝v> i|Tm}?ÂĐ>    F…˝ ÚBľ i|    ?¨Śľo&v?„Ń˝BU> g|Tm}?ÂĐ>    E…˝Đľ       ?¨Śľo&v?aĎľBU>       íU>Á}?]żÂz#?     €?        öúĎľÚ˝9?         €ż    ó®ä>D˛?     €ż        ü‰ ż]0D?      €íU>Á}?]ż€°ń=         €ż    ó®ä>ú> Ş@Tm}żĂĐ>    *ß<Ü5J> i|    ?¨Śľo&vż´™?€Đż i|    ?¨Śľo&vż´™?€P#ż i|Tm}żĂĐ>    ‡ĆĂ=Ü5J> i|Tm}?ĂĐ>    şůö=(%‹ľ g|łG4?¨Śľo&v?ó=/>BU>   Tm}?ÂĐ>    G…˝sjľ         €ż    p<‡˝Řkş>   łGł>¨Śľo&v?
ÂľBU>  f|Tm}żÂĐ>    |9¸˝ÓŽ>  i|      €ż    p<‡˝°f>  i|    ?¨Śľo&vż‰´™?ü^”>!   Tm}żÂĐ>    ß<¬ľ¤>! i|      €ż    Ä"Z<Ŕţq˝! f|    ?¨Śľo&v?ačľBU>"   Tm}żÂĐ>    |9¸˝¬ľ¤>"         €ż    p<‡˝Ŕţq˝"       ?¨Śľo&vż‰´™?ˇ«ľ# i|Sm}?çĐ>k´ç4qóU=sjľ# f|      €ż    ä"Z<Řkş># i|    ?¨Śľo&vż´™?€P#ż$ i|Tm}?ĂĐ>    wóU=(%‹ľ$ i|      €ż    ü"Z<Ż?$ f|XR2B¨Śľo&v?úžň>BU>%   Tm}?ĂĐ>    J…˝(%‹ľ%         €ż    q<‡˝Ż?%   xh5B¨Śľo&vż´™?€!TĽ& f|Tm}żĂĐ>    
ß<ÓŽ>& i|      €ż    Đ"Z<°f>& i|Tm}żĂĐ>    ‡ĆĂ=Ü5J>' i|˛G´@¨Ś>o&v?úžŮ>BU>' f|      €ż    ét=Đ8	?' i|Tm}żĂĐ>    ĆĂ=
v>( i|Tm}?ĂĐ>    ąůÎ=(˝#ľ( i|      €ż    ét=p~©>( i|    <¨Ś>o&v?ô=>B>) i|Tm}?ĂĐ>    ąůÎ=(˝#ľ) f|Tm}żĂĐ>    „Ć›= W/>) i|Tm}żÂĐ>    Ľ"ľ
v>*   Tm}?ĂĐ>   €Gé˝(˝#ľ* e|      €ż    –ć˝p~©>*       C¨Ś>n&vżt˘?ˇ—ľ+ f|Tm}?ĂĐ>   €Gé˝(˝#ľ+ i|Tm}żÂĐ>    ˝ľ W/>+ f|Tm}żÂĐ>    Ľ"ľÜ5J>, i|Tm}?ĂĐ>   €Ié˝`”Oľ, e|      €ż    –ć˝Đ8	?, g|    C¨Ś>n&vż‰t˘?€Pż-   Tm}?ĂĐ>   €Ié˝`”Oľ- i|Tm}żÂĐ>    ˝ľđ>-   Tm}?ÂĐ>    $ľ ÚBľ. i|Tm}żĂĐ>    ˝ľ8đV>. i|      €ż    –潄A7>. i|    C¨Ś>n&vżt˘?`U˝/ i|Tm}żĂĐ>    ˝ľ8đV>/ i|Tm}?ÂĐ>    Fé˝0Hř˝/ i|Tm}?ÂĐ>    #ľĐľ0   Tm}żĂĐ>    ˝ľ´c>0 i|      €ż    –ć˝ 'ŐĽ0       C¨Ś>n&vż‰t˘?ř^€>1 i|Tm}żĂĐ>    ˝ľ´c>1 f|Tm}?ÂĐ>    Eé˝Ŕ™ ˝1 i|Tm}?ÂĐ>    ¶ůö=Đľ2 i|Tm}żĂĐ>    |Ć›=´c>2 i|      €ż    át= 'ŐĽ2 d|    I¨Ś>n&v?aÔľB>3   Tm}żĂĐ>    |Ć›=´c>3 i|Tm}?ÂĐ>    łůÎ=Ŕ™ ˝3   Tm}?ĂĐ>    ąůö= ÚBľ4 i|Tm}żĂĐ>    €Ć›=4đV>4 i|      €ż    ét=„A7>4 ť    I¨Ś>n&v?„ĺ˝B>5 i|Tm}żĂĐ>    €Ć›=4đV>5 i|Tm}?ĂĐ>    ¶ůÎ= Hř˝5 g|  €ż        Ć·Öľ4Ă>6             €żYyż W$<6     €?       €ÜŢż8lh>7             €ż”¦‰˝ W$<7   Tm}żĂĐ>    z9˝ W/>8 i|łG4?¨Śľo&v?ó=>B>8 i|Tm}?ĂĐ>    Ť:˝0Hř˝9 f|łGł>¨Śľo&v?„ĺ˝B>9 i|Tm}żĂĐ>    dhü; W/>: i|    ?¨Śľo&vż‰t˘?ˇ—ľ: g|    ?¨Śľo&vżt˘?‚Đ ż; i|Tm}?ĂĐ>    wó=`”Oľ; f|Tm}żĂĐ>    z9˝đ><   XR2B¨Śľo&v?úžŢ>B><   Tm}?ĂĐ>   €ió=Ŕ™ ˝=       ?¨Śľo&vż‰t˘?ř^€>=   Tm}?ĂĐ>    ‹:˝Ŕ™ ˝> i|    ?¨Śľo&v?aÔľB>> i|Tm}?ĂĐ>   €oó= Hř˝? g|xh5B¨Śľo&vżt˘?`U˝? g|Tm}?ĂĐ>    ąůÎ=(˝#ľ@ i|    <¨Ś>o&v?ó=%>B>@ f|Tm}?ĂĐ>   €Gé˝(˝#ľA e|    C¨Ś>n&vż‰t˘?ˇ¦ľA   Tm}?ĂĐ>   €Ié˝`”OľB       C¨Ś>n&vżt˘?‚Đ żB   Tm}żĂĐ>    ˝ľ8đV>C g|    C¨Ś>n&vżt˘?€şĽC f|Tm}żĂĐ>    ˝ľ´c>D i|    C¨Ś>n&vżŠt˘?ü^Ź>D i|Tm}żĂĐ>    €Ć›=4đV>E i|=‰ť´D¨Ś>n&v?
ÂľB>E f|Tm}żĂĐ>    |Ć›=´c>F       I¨Ś>n&v?aăľB>F   Tm}żĂĐ>    †Ć›=đ>G f|˛GµE¨Ś>n&v?úžŢ>B>G i|§N°8rq?/H¬ľW¶˝đ7J=H f|§N°8rq?/H¬ľI°řľ0Ç=H f|  €?        AxúľČŞ‹=I i|D”€2N4¬ľ˙qżŕ zż°Ď•=I i|§N°8rq?/H¬ľI°řľ0Ç=I e|§N°8rq?/H¬ľW¶˝đ7J=I i|D”€2N4¬ľ˙qżLĂ÷˝ŕ=J   C0ą8q?<>¬ľ®·ZżŔč3<J ÂC0ą8q?<>¬ľ}ĺwżput=J i|  €ż   €    _ŕľč˛>K g|C0ą8q?<>¬ľ}ĺwżput=K i|C0ą8q?<>¬ľ®·ZżŔč3<K e|D”€2N4¬ľ˙qżĽ÷˝€k=K g|Č-09ďq?s)¬ľWË˝ ďc<L ÂČ-09ďq?s)¬ľ"pľŔĆ=L e|  €?        Śň<ż@,č<L     €?       €hZ=żŇC=M i|fŢ@łL4¬>˙q?2l¤żŢ@M i|Č-09ďq?s)¬ľ"pľŔĆ=M g|Č-09ďq?s)¬ľWË˝ ďc<M g|ü•°¸ßq?–¬ľ0qrż€íc<N f|ü•°¸ßq?–¬ľ$hżŔó‹<N f|  €ż        qĽę˝ÖßÄ>N i|fŢ@łL4¬>˙q?بżśZ(@N i|  €ż        đUľ¬Ĺ>O i|fŢ@łL4¬>˙q?}夿v[(@O i|ü•°¸ßq?–¬ľ$hżŔó‹<O i|ü•°¸ßq?–¬ľ0qrż€íc<O f|˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙. i R ) W L Y > U 7 T " X  S  , + j  
 i E D h Q C g < : f   e    d   c J H ‚ „ @ b 5 3 a ' %  A @ ` J H F ˇ   _ < : 8 § ¦ ^ 5 3 1 ­ ¬ ]    ł ˛ \    ą ¸ [     ż ľ Z ' % # Ĺ Ä    0 / Y > X  W L D V U 7 T " S  R ) ¤ Ł Ş © ° Ż ¶ µ Ľ » Č Ç Â Á Q B  
   ď î P - *  ö ő ô  	 O ý  ü ű   N M   j   j   j  k  l  l  l  n  n  n  p  p  p  r  r  r 
 t 
 t 
 t  v  v  v  x  x  x  z  }  €  €  €  ‚  …    ‹  Ž   ‘ " ” $ — & š ( ť *   , Ł . ¦ 0 © 2 ¬ 4 Ż 6 ˛ 8 µ : ¸ < » > ľ @ Á B Ä D Ç F Ę H Ě J Î K Đ L Ň M Ô N Ö O Ř P Ú Q Ü R Ţ S ŕ T â U ä V ć W č X ę Y ě Z î \ đ ^ ô ` ÷ b ű d ţ f h j 
                     	   
     
        
  
  
            
    
            
    	                                   “AŹB      €ż    żďd@<‰5D¨Śľn&vżĚ˙ŹÂTm}?ĂĐ>   €ÓÂTm}żĂĐ>    öŻ+Ŕ    A¨Śľo&v?raĂTm}żĂĐ>    qaĂTm}?ĂĐ>   €„ zC  €?        tvB    íU>Á}?|˙yC  €ż   €    	\CTm}?ĂĐ>    “AŐB      €ż    Č/…BTm}?ÂĐ>    Á-…BTm}żÂĐ>    \CTm}żÂĐ>    śđA    <¨Ś>o&v?XB    C¨Ś>o&vżˇ‚śB          €ż¤<ŤÁE:„9˙q?H4¬ľócCÂD”€2N4¬ľ˙qż|˙oĂ  €?        „ pĂ  €ż   €    K źÂfŢ@łL4¬>˙q? 	     =Ż·1˙q?I4¬ľő~ż 4I» f|oÉ2˙q?K4¬ľŠX˛;hĺx>  i|>Ż72˙q?J4¬ľ
[˛; 4I» g|>Ż72˙q?J4¬ľő~żhĺx> i|>Ż72˙q?J4¬ľő~żhĺx>6 i|oÉ2˙q?K4¬ľŠX˛;hĺx>7 g|=Ż·1˙q?I4¬ľő~ż 4I»H   >Ż72˙q?J4¬ľ
[˛; 4I»J   >Ż72˙q?J4¬ľő~żhĺx>L   oÉ2˙q?K4¬ľŠX˛;hĺx>N i|˙˙˙˙                                                                                                                                                                        	  	  
  
     ­ŔÜÁoÉ2˙q?K4¬ľ    P   Ŕ      Ŕ  j   <  
  @!      „"  j   X#     ,  
  @!  Q   Č$      Č$      Č$      Č$     Ô$  
   Ř%      '      '     Ä%  
   Ř%  Q   0'      0'      0'      ZenGin Archive
ver 1
zCArchiverGeneric
BINARY
saveGame 0
END
objects 2        
END

OBJ_CITY_GALLOW_01 }   ś    % zCMaterial OBJ_CITY_GALLOW_01 &-˙  pBOBJ_CITY_GALLOW_01.TGA 512 512      0 0       €?    €?   đA  ČB   @  @OBJ_CITY_MARKETSTALLS_02 ‰   ś   % zCMaterial OBJ_CITY_MARKETSTALLS_02 !%˙  pBOBJ_CITY_MARKETSTALLS_02.TGA 512 512      0 0       €?    €?   đA  ČB   @  @ |˙yĂ“AŐ¡‚śÂ„ zC ÍW@_}ŹB  ;&N TPŔ  €?              €?              €?  zC  \B  –B ?|ÓÂ5ŹÂr.Ŕ­[?{5‹=›fˇ<Vš˝˛Ž|?˙ăľęéň<T5ľŐ
}żś´C9“BĹ˙˘B #Ä0Â[<zÂiSŔOż?ľµ=?áË<í˝}J[>Ęěy?›úĽ*ây?˝I\ľö”CÓ¦Bp_cB  'ŞgĂb5ŹÂ8_‰Ŕ8?ĽKł)>~s|?›8y?śh>ĂôĽ˙îi>ßłużú"'>hf›BD ˇAl˝‚B  N~ÓB5ŹÂW$˝ŔôR?Rő‰˝…HŢ<Âř‘˝¤ĆzżËo@>!dĽłčA>ÉW{?˛9łCÉŽB\&«B /«gCb5ŹÂ_‰Ŕ?ĽBł)ľ~s|ż›8y?śhľĂô<˙îi>ßłu?ń"'ľef›BD ˇAm˝‚B  ?Č0B[<zÂe éŔ›ş?TĹ˝‰aě<Ú,˝"Qwż—t‚>ů‘™Ľ!đ‚>Âpw?@”C]inBM0˛B    €?            ˙±    

Ten akurat składa się z 2 tekstur. Jeśli chcemy zmienić tylko wygląd towaru na stoisku (OBJ_CITY_MARKETSTALLS_02.TGA), interesuje nas ten fragment:

@OBJ_CITY_MARKETSTALLS_02 ‰   ś   % zCMaterial OBJ_CITY_MARKETSTALLS_02 !%˙  pBOBJ_CITY_MARKETSTALLS_02.TGA 512 512

Nowa nazwa tekstury, tak jak pisał @Shalom, musi mieć tą samą liczbę znaków, np. AAA_NTEX_MARKETSTALLS_00.TGA

Nie potrzebujemy tekstury w formacie TEX. Wygeneruje się podczas uruchamiania gry.

Musimy podmienić to na:

@AAA_NTEX_MARKETSTALLS_00 ‰   ś   % zCMaterial OBJ_CITY_MARKETSTALLS_02 !%˙  pBAAA_NTEX_MARKETSTALLS_00.TGA 512 512

screenshot-20220423140511.png

Jak ktoś dobrze ogarnia regexy, to pewnie do zrobienia.

Ale osobiście myślę, że i tak lepiej generować modele z .3ds

0


Przykład co jest mi potrzebne
Opis po odnalezniu nazwy w pliku.d w innym folderze mam plik mrm. Na podstawie nazw przykład. Item_1h_bleble.3ds w folderze _compiled pliki mrm które program ma odnaleźć jak i skopiować do innego folderu. Następnie po edytowaniu pliku mrm w notatniku jest ciąg znakow w którym jest mnie interesującą linijka z nazwą tekstury zawsze zaczyna się od pbnazawatekstury.tga następnie po skopiowaniu nazwy program musiałby wyciąć przedrostek pB i odszukać pliku w folderze _compiled gdzie są tekstury i przekopiować je do innego folderu

0

Nie interesuje mnie podmienianie tekstur ale szubciekie wyciągnięcie dwóch typów plików do osobnych folderów

1 użytkowników online, w tym zalogowanych: 0, gości: 1