Вопрос Распаковка файлов из Одного архива в зависимости от выбора комп.

makst

Новичок
Добрый день всем. Допустим имеем архив, в нём есть файлы a и b. Хотел бы узнать что и как сдлеать чтобы в зависимости от выбора инного компонента распаковался либо a либо b?
 

Mickey1s

Ветеран
Модератор
if not ISArcExtract ( 1, 0, ExpandConstant('{src}\setup-1.bin'), ExpandConstant('{app}\'), 'folder1', false, 'пароль', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;

при выборе компонента 1 распакуется папка 1, аналогично сделать со второй. с файлами насколько я знаю так сделать невозможно, но нужный файл можно положить в одну из папок.
 

makst

Новичок
Попробовал, поставил в архив две папки, + еще нескольно файлов рядом. Распаковывается всё, и в зависимости от выбора компонентов файл либо из 1 либо из 2 папки копируются по определенному пути...и оригинал тоже остается..

Я хотел реализовать вот такое: имеешь ты файлы отвечающие за язык игры, русский и английский, но они мало весит и не стоит сделать отдельно для каждого языка по архиву, а ставишь их в один архив с другими файлами из игры и при выборе компонентов распаковывается либо русский либо английский...или такое невозможно, а иначе как же делают нынче репакеры....?
 

Mickey1s

Ветеран
Модератор
делаешь 3 папки, например RUS, ENG, GAMEFILES, в рус кладешь файлы рус локализации, в англ английскую локализацию, в GAMEFILES файлы игры.

вот так получится:
if not ISArcExtract ( 1, 0, ExpandConstant('{src}\setup-1.bin'), ExpandConstant('{app}\'), 'RUS', false, 'пароль', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;
if not ISArcExtract ( 2, 0, ExpandConstant('{src}\setup-1.bin'), ExpandConstant('{app}\'), 'ENG', false, 'пароль', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\setup-1.bin'), ExpandConstant('{app}\'), 'GAMEFILES', false, 'пароль', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;
 

Adil

Старожил
kkels, сперва он распакует все, потом создаст рекордс.инф, только после его включения он распакует нужную папку
 

makst

Новичок
Adil, про это я знаю, я тестировал несколько раз.

Mickey, попробую и отпишусь!
 
Сверху