wasp200486 0 #495384 Posted January 8 40 минут назад, Kotyarko_O сказал: Подразумевается использование готового проекта с таким видом или попытка повторить такое с нуля? Исходник этого скрипта нашел на просторах Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,885 #495385 Posted January 8 1 minute ago, wasp200486 said: Исходник этого скрипта нашел на просторах Или он неполный, или неправильно его собираете Quote Share this post Link to post Short link Share on other sites
zloyfilya 0 #495524 Posted January 11 Помогите скиньте код этой минюшки и что и куда вставить чтобы работало пожалуйста если не сложно: или Quote Share this post Link to post Short link Share on other sites
hacker2021 0 #498165 Posted February 27 а как добавить моды в один пакет установщика например я добавил но когда установил выбрав одного мода из них установились все моды 19.11.2013 в 01:30, EvilAlex сказал: Доброго времени суток ! Видел пару раз темы, где люди искали программу или скрипт которые бы собирали моды в одну прогу и после этого могли их устанавливать на выбор ! Нашел на форумах одну вещицу так скажем! Сам скрипт + пара модов для теста: ScriptModPack.rar 54,3 МБ Программа с помощью которой собирается инсталлятор: InnoUltra.exe 54 МБ Скриншоты: Показать содержимое Что нового: Показать содержимое Ver. 2.4.124 - Упростил скрипт. - добавил определения папки установки если игра была установлена, если же скопирована инсталятор предлагает свой путь. - обновил Сообщения в инстоляторе. - внешний вид не менял. - добавил Лицензию и ФАК. Ver. 2.3 - Добавил в скрипт небольшое описание. - Добавил скрипт с Сообщениями иснтоллятора и выбор языка. - Вынес в отдельный скрипт компоненты - моды. - Внутри есть 2psd - Вместо ссылки на группу Кран'а теперь логотип нашего форума с сыллкой на негоже) Русская справка к версии 5.5.1, автор перевода BagIra, bugron ISetup.rar 1 MB · 1 565 скачиваний "Дополнительные скрипты " Показать содержимое Проверка папки установки: function NextButtonClick(CurPageID: Integer): Boolean; begin Result := True; case CurPageID of wpSelectDir: if not FileExists(ExpandConstant('{app}\WorldOfTanks.exe')) then begin MsgBox('Не верно указана папка World of Tanks!', mbError, MB_OK); Result := False; end; end; end; Набор скриптов, библиотек с их использованием (Автор: Kotyarko_O): Набор скриптов, библиот…нием.rar - 31,12 МБ Quote Share this post Link to post Short link Share on other sites
asterix93 9 #498184 Posted February 28 @hacker2021 Тык это чтобы научиться Либо от Kotyarko_OKMP Source Code MODER_MP Source Code 2 Quote Share this post Link to post Short link Share on other sites
Hacker_2021 0 #498240 Posted March 1 @asterix93 там просто популярные мододелы и всё а что за файлы ? 28.02.2021 в 15:35, asterix93 сказал: MODER_MP Source Code 28.02.2021 в 15:35, asterix93 сказал: KMP Source Code есть кто нибудь из вас из 2021? который может отвечать на мои вопросы ? мой вопрос в том, что я использовал эту программу < JMPACK > и собрал все моды в один пакет но они все устанавливаются сразу мне нужно чтобы они устанавливались отдельно от выбора фото доказательство, показанное выше https://koreanrandom.com/forum/uploads/monthly_2021_02/1138695088_(41).png.9e0c7b5c461ad1c6ab92350e7f47b152.png , обмен сообщениями по почте или в любой социальной сети, если это возможно ( на форуме неудобно совсем добавить ответ создать тему и так далее ).) Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,885 #498243 Posted March 1 @Hacker_2021 , вам нужно искать профильную тему инструмента, который вы используете. Там и задавать вопросы. Quote Share this post Link to post Short link Share on other sites
Hacker_2021 0 #498244 Posted March 1 @Kotyarko_O типа справку ? если вы имели ввиду ее вот она JMPACK.chm Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,885 #498245 Posted March 1 Just now, Hacker_2021 said: типа справку ? Типа тему. 1 Quote Share this post Link to post Short link Share on other sites
Hacker_2021 0 #498248 Posted March 1 его давно не было в сети посмотрю отписал напишет ли это уже неизвестно Quote Share this post Link to post Short link Share on other sites
hacker2021 0 #498254 Posted March 1 сделайте видеоурок я для вас оставлю ссылку как это работает в 2021 году под патч 1.12 вот исходники ( моды) backup_data (26.02.2021, 09-27-28).zip Quote Share this post Link to post Short link Share on other sites
DraugDM 17 #499367 Posted March 17 Можно ли сделать отображение на компах где нет русского языка читаемый шрифт? может шрифт какой прописать? ) Quote Share this post Link to post Short link Share on other sites
night_dragon_on 5,376 #499368 Posted March 17 (edited) 27 минут назад, DraugDM сказал: Можно ли сделать отображение Название этих элементов нужно прописать в CustomMessages [Languages] Name: "rus"; MessagesFile: "compiler:Languages\Russian.isl" Name: "eng"; MessagesFile: "compiler:Languages\English.isl" [CustomMessages] ; Russian rus.delete=Удалить установленные моды (рекомендуется) ; English eng.delete=Remove installed mods (recommended) В секции Code ExpandConstant('{cm:delete}') Edited March 17 by night_dragon_on Обновление ... 2 Quote Share this post Link to post Short link Share on other sites
DraugDM 17 #499370 Posted March 17 Только что, night_dragon_on сказал: Название этих элементов нужно прописать в CustomMessages [Languages] Name: "rus"; MessagesFile: "compiler:Languages\Russian.isl" Name: "eng"; MessagesFile: "compiler:Languages\English.isl" [CustomMessages] ; Russian rus.delete=Удалить установленные моды (рекомендуется) ; English eng.delete=Remove installed mods (recommended) В секции Code ExpandConstant('{cm:delete}') что то у меня с этой секцией код какие то траблы при компелировании(( Quote Share this post Link to post Short link Share on other sites
night_dragon_on 5,376 #499372 Posted March 17 @DraugDM строку: ExpandConstant('{cm:delete}') Нужно было не просто в секцию Code скопировать, а в то место где прописано наименование компонента который требуется перевести. Вписать взамен этого наименования. 1 Quote Share this post Link to post Short link Share on other sites
DraugDM 17 #499375 Posted March 17 Только что, night_dragon_on сказал: @DraugDM строку: ExpandConstant('{cm:delete}') Нужно было не просто в секцию Code скопировать, а в то место где прописано наименование компонента который требуется перевести. Вписать взамен этого наименования. Спасибо дружище! Заработало)) Quote Share this post Link to post Short link Share on other sites
ferrat 3 #499396 Posted March 18 приветствую гуру кодописания )) Кто то может подсобить с изменением кода. Вот есть код резервного копирования, может кто то изменить так что бы , если встречается еще один файл с таким же именем, то он бекапился на цифру больше, к примеру mmm_back, mmm_back_01, mmm_back_02 и тд и что бы они так же при деинсталляции восстанавливались. По логике первый бекап и есть оригинал, так что достаточно его и восстановить при деинсталяции остальное просто удалить или что бы не мудрить восстанавливать от последнего к первому. Ну или может у кого готовый рабочий есть под такую задачу, вдруг...:beer: procedure CreateBackup; var srcFile, destFile: string; begin srcFile:= ExpandConstant(CurrentFileName); destFile:= srcFile + '.gom_bak'; /// тут по умолчанию расширение ' .bak DeleteFile(destFile); RenameFile(srcFile, destFile); end; procedure RestoreBackup(backupDir: string); var srcFile, destFile: string; FSR, DSR: TFindRec; FindResult: Boolean; APath: string; begin APath := AddBackslash(backupDir); FindResult := FindFirst(APath + '*.gom_bak', FSR); /// тут по умолчанию расширение '*.bak try while FindResult do begin if FSR.Attributes and FILE_ATTRIBUTE_DIRECTORY = 0 then begin srcFile:= APath + FSR.Name; destFile:= Copy(srcFile, 0, Length(srcFile)-8); ///тут указано количество символов удаляемых с названия при восстановлении оригинального файла. По умолчанию -4 DeleteFile(destFile); RenameFile(srcFile, destFile); end; FindResult := FindNext(FSR); end; FindResult := FindFirst(APath + '*.*', DSR); while FindResult do begin if ((DSR.Attributes and FILE_ATTRIBUTE_DIRECTORY) = FILE_ATTRIBUTE_DIRECTORY) and not ((DSR.Name = '.') or (DSR.Name = '..')) then {Recursion} RestoreBackup(APath + DSR.Name); FindResult := FindNext(DSR); end; finally FindClose(FSR); FindClose(DSR); end; end; procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); begin if CurUninstallStep = usPostUninstall then begin RestoreBackup(ExpandConstant('{app}')) end; end; Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,885 #499399 Posted March 18 27 minutes ago, ferrat said: Вот есть код резервного копирования, может кто то изменить так что бы , если встречается еще один файл с таким же именем, то он бекапился на цифру больше, к примеру mmm_back, mmm_back_01, mmm_back_02 и тд и что бы они так же при деинсталляции восстанавливались. По логике первый бекап и есть оригинал, так что достаточно его и восстановить при деинсталяции остальное просто удалить или что бы не мудрить восстанавливать от последнего к первому. А если пользователь не знает о существовании деинсталлятора и постоянно накатывает поверх того, что у него есть? Тогда индекс может достигнуть и 50, и 100, и больше. Нужна ли такая куча бекапов пользователю, пусть он и не знает о ней? В таком случае лучше хранить всегда один экземпляр бекапа - последний. Описанное вами реализовать не сложно. Вопрос в том, действительно ли такая реализация вам нужна) 1 Quote Share this post Link to post Short link Share on other sites
ferrat 3 #499401 Posted March 18 (edited) Цитата А если пользователь не знает о существовании деинсталлятора и постоянно накатывает поверх того, что у него есть? Тогда индекс может достигнуть и 50, и 100, и больше. Нужна ли такая куча бекапов пользователю, пусть он и не знает о ней? В таком случае лучше хранить всегда один экземпляр бекапа - последний. Описанное вами реализовать не сложно. Вопрос в том, действительно ли такая реализация вам нужна) Тогда его проблемы, если читать не умеет предостережения и инструкции при установке каких либо пакетов. Хотя даже при таком варианте это меня не спасает от остатка лишних файлов после деинсталляции. По сути нужно было такое: 1) есть игра 2) есть мод , который ставится на чистую игру. И так: Дабы не заниматься тратой времени и не сравнивать кучу файлов, инстал собирается с папок, выборочная установка. А значит, что в каждом выбранном пункте для установки может содержаться одинаковые но модифицированные файлы. И получается , что если бекапить при установке, то файлы которых нет в оригинальной игре но в нескольких копиях содержится в инсталляторе, будет добавлен, забекаплен раз или два к примеру, но при деинсталяции первая его копия останется в игре в виде лишних файлов, что не есть хорошо. И тут ситуация вопроса , как все сделать что бы игра после удаления мода приобрела свое перевальное состояние файлов и папок. Это либо делать полный лист перед установкой папки игры и копируя встречающиеся файлы игры раз бекапить а второй раз перезаписывать, но дополнительные файлы не входящие в созданный лист игры копировать но не бекапить и перезаписывать, тогда при удалении мода мы , если все верно, получим первоначальное состояние папки игры . Может немного сумбурно, но попробовал описать проблему ))) И теперь , если этот набор слов, был хоть как то понят, есть ли вариант это реализовать кодом ? И сложно ли это? Если нет, то возможно ли такое в вашем исполнении маэстро ? Edited March 18 by ferrat Quote Share this post Link to post Short link Share on other sites