-
Content Count
54 -
Joined
-
Last visited
Posts posted by AlexChe
-
-
Напомните пожалуйста как проверить существование папки по определенному пути в inno setup?
-
Откопал в тырнете ноябрьское чтиво "О том как чувачки протектор pjorion ломали и чем это закончилось" - тыц. Наслаждайтесь ))))))
честно пытался вникнуть в суть их беседы. Прям старательные парни попались)))
Последний пост 20 Nov 2015 .
В итоге чем у них все закончилось?
Деревья логики красивые получились у них. Заморочились таки, рисовали.
-
руками ))
ща
#define MyAppName "Моя программа" #define MyAppVersion "1.5" #define MyAppPublisher "Моя компания, Inc." #define MyAppURL "http://www.сайт.com/" #define MyAppExeName "MyProg.exe" [Setup] AppId={{ACF6B5AB-9DF3-43EB-B40C-633F075EC471} AppName={#MyAppName} AppVersion={#MyAppVersion} ;AppVerName={#MyAppName} {#MyAppVersion} AppPublisher={#MyAppPublisher} AppPublisherURL={#MyAppURL} AppSupportURL={#MyAppURL} AppUpdatesURL={#MyAppURL} DefaultDirName={pf}\{#MyAppName} DefaultGroupName={#MyAppName} OutputBaseFilename=setup Compression=lzma SolidCompression=yes [Components] Name: comp1; Description: "Установить ..."; Name: comp2; Description: "Удалить ..."; [Code] procedure ComponentsListOnClickCheck(Sender: TObject); begin if (WizardForm.ComponentsList.ItemIndex = 0) and IsComponentSelected('comp1') then if MsgBox('вы действительно хотите поставить этот мод, мы его не рекомендуем ставить потому что ....', mbConfirmation, MB_YESNO) = IDNO then WizardForm.ComponentsList.Checked[0]:= false; end; procedure InitializeWizard; begin WizardForm.ComponentsList.OnClickCheck:=@ComponentsListOnClickCheck; end;
Супер. Спасибо)
-
-
возможно реализовать чтобы при нажатии на чекбокс одного из пунктов выходило подтверждение, мол "вы действительно хотите поставить этот мод, мы его не рекомендуем ставить потому что ...."?
-
Спасибо, схема таже, что и выше. Но есть некоторые дополнительные моменты.
-
Как-то так:
[code] function XVMConfigEdit(XCName, OldXCValue, NewXCValue: String): Boolean; var XVMConfig: TStringList; XVMSetStr: TArrayOfString; XVMConfigDir, FileName, Tmp: String; begin XVMConfigDir:=ExpandConstant('{app}\res_mods\configs\xvm\default\'); FileName:=XVMConfigDir + XCName; If FileExists(FileName) then begin XVMConfig:=TStringList.Create; try XVMConfig.LoadFromFile(XVMConfigDir + XCName); Tmp:=XVMConfig.Text; StringChange(Tmp, OldXCValue, NewXCValue); XVMConfig.Text:=Tmp; XVMConfig.SaveToFile(XVMConfigDir + XCName); // -- Для сохранения в UTF-8 -- // //LoadStringsFromFile(XVMConfigDir + XCName, XVMSetStr); //SaveStringsToUTF8File(XVMConfigDir + XCName, XVMSetStr, False); finally XVMConfig.Free; end; end; end; procedure XVMConfigCheck(); begin If IsComponentSelected('XVM\Spotted') then begin XVMConfigEdit('battle.xc', '"allowSpottedStatus": false,', '"allowSpottedStatus": true,'); end; end; procedure CurStepChanged(CurStep: TSetupStep); begin If CurStep = ssPostInstall then begin XVMConfigCheck(); end; end;
Благодарю!
Схема предельно понятна.
-
Необходимо реализация динамического изменения конфига одного или нескольких модов по параметрам.
Когда задача в изменении всего 1 пункта конфига - тут самое простое создать две копии этого конфига с параметром изменения (к примеру true и false) и устанавливать в зависимости от выбора пользователя.
А когда таких параметров много и количество комбинаций кофига стремится к N степени, как динамически менять содержимое файла конфига при установке?
Где почитать?
-
пожалуй даже на вашу тему, будет интересно в каком году вам все таки предложат моды, которые вас полностью устроят и за которые вы заплатите рыночные цены.
- 1
- 1
-
Вы не предложили близко к слову ничего, кроме своих услуг по поиску модов.
Не ответили ни на один вопрос. Давайте конкретику, в ценах я не ориентируюсь, читайте внимательно шапку.
Да мне 2 ваших ответов стало достаточно, чтобы оставить вас в этой теме наедине с вашими запросами. Конкретику я уже сказал выше. Все. что вы запросили в первом посте - уже существует и реализовано, только если вас в гугле не забанили.
Я отзываю свою помощь. Даже за деньги. Передумал. Удачи в боях.
- 2
- 2
-
Приветствую. Спасибо за Ваше предложение. Надеюсь, вы не хотите предложить мне AAS?
Раз тема создана в разделе "Оплачиваемые заказы", Вам не кажется логичным, что "доступное и бесплатное" меня не в полной мере устраивает? Как вы считаете?
- То есть, если я правильно понял, у Вас пока ничего конкретного, кроме желания заработать нет?
Кто будет делать это?
Если вы не являетесь автором модификации и предлагаете мне свои услуги в качестве человека, готового полазить по интернету за деньги и найти "что-нибудь", то данное предложение мне, спасибо, не интересно. Без обид.
Оплатить посреднические услуги я готов при условии, что вы найдете человека, который сможет выполнить мой заказ и достигните с ним предварительной договоренности на его выполнение, не забыв упомянуть, что являетесь посредником сделки.
З.Ы. Интересует собранный с учетом моих пожеланий прицел с настроенным опять же под меня индивидуальным интерфейсом и цветовой гаммой. В связи с постоянным перекраиванием алгоритмов в каждой обнове поддержка по версиям является обязательной.
И я бы очень попросил Вас по делу пользоваться системой личных сообщений.
Я только что понял, что вы от и до изначально занимались демагогией в стиле "пойди туда - не знаю куда, принеси то - не знаю что". Вам вполне конкретную помощь предложили, моды которые полностью подходят под ваши потребности, а вы цирк устроили. Любой мало мальский разбирающийся в читах уже понимает, что
1. Такие читы уже есть. Причем давно. И без рекламы.
2. Вы и копейки не заплатите. Или до последнего будете оспаривать, что моды сделанные лично под вас и 100 рублей по вашему мнению не стоят.
3. Вы даже ТЗ не составили и сумму не обозначили. Вся ваша тема это - "предлагайте мне, а я буду отвергать и придерусь в любом случае"
Могу поспорить, что с такими запросами вы еще 5 лет будете искать то, что и так уже создано. Удачи в вашем нелегком труде пустого тщеславия.
И да, я вам предлагал комплекс из трех модов, в котором AAS нет.
- 1
- 2
-
все, что вам нужно уже есть и доступно и бесплатно.
сколько готовы заплатить, за то, чтобы я за вас все это нашел?все это умещается в 3 файла мода и в сумме дает нужный вам результат
- 2
-
Вопрос решен. Огромная благодарность за помощь ShadowHunterRUS!
-
ну это ты уже сам выкручивайся...
Того что есть в финальной версии вашего скрипта уже в приципе достаточно. В личку отписал. Сегодня/ завтра утром сведу в скрипт все и обязательно отпишусь.
До завтра отключаюсь.
-
действительно отталкивал.
ну вот смотри:
0)
import os path = 'file.txt' os.path.getmtime(path) #время последнего изменения файла os.path.getctime(path) #время создания файла
1)import json if os.path.exists('script1.cfg'): with open('script1.cfg', 'r') as f: try: script1 = json.load(f) except: script1 = None
2)Содержимое script1.cfg:
{ "dates" : [ [1449846020, 1449844030], [1449846020, 1449844030], [1449846020, 1449844030], [1449846020, 1449844030], ] }
Спасибо, очень ценный совет. Некоторые моменты из скрипта по работе с файлами уже знакомы ранее, а вот в новых моментах нужна помощь.
Может тогда доделаете до финальной версии согласно задачи и заберете приз (через личку спишемся о реквизитах)
произвольные файл для проверки даты создания, произвольный конфиг и собственно сам скрипт.
И да в script1.cfg должно быть две записи. Первая это дата записываемая, если не совпала с датой на комьютере и вторая это дата произвольного файла.
UPD: В личку отписал по контактам. Кстати нужна погрешность без секунд, Секунды с минутами могут давать ошибочную погрешность. Или округлять до минут или просто дата.
-
мне одному показалось название файла config.cfg тавтологией?
можно назвать его script1.cfg, если только этот вопрос отталкивал вас от решения задачи.
-
Добрый день, возникла необходимость следующей задачи:
0. Скрипт смотрит определенный файл в этом же каталоге и получает дату его создания или изменения.
1. Далее читает файл config.cfg, находящийся в той же директории.
2. config.cfg (в xml или text) содержит в первом узле дата1, во втором узле дата2. (или просто две даты подряд в plaintext)
3. Если дата1 совпадает с текущей датой на компьютере, он делает функцию1
4. Если не совпадает, он делает функцию2 и после перезаписывает текущую дату в узел конфига дата1 и записывает дату файла в дата2.
5. Желательно все записывать в xml структуре, т.к. в config.cfg могут быть в будущем и другие данные.в общем задача сводится к трем операциям.
1. Определение даты файла в каталоге.
2. Чтение/запись в конфиг данных.
3. Сравнение данных с временем на комьютере.
С меня в ответ небольшая финансовая благодарность тому, кто поможет с рабочим скриптом.
-
Вероятно в скрипте нужно сделать проверку на срок запуска данного запроса и сохранять в локальном конфиге.
-
Странник, обновы еще не было с поддержкой строки по пакетным функциям?
И еще пожелание сделать "запоминание" папок по последним операциям при обфускации-протекции. А то закрыл программу, открыл и снова папку компиляции заново искать.
-
Много способов. От самого простого - простой мсджБокс с вопросом, до выделения под это отдельной страницы.
В вашем репозитории есть такая возможность? Боюсь просто не осилю все 197 страниц) Поэтому спрашиваю.
Качаю ваш пример.
-
Приветствую уважаемые мододелы и создатели сборок.
Inno Setup использую уже давно. Есть два вопроса:
1. Как скриптом в Inno сделать при установке возможность выбора очистки папки res_mods от сторонних модов?
2. Где подсмотреть пример отображения картинок рядом со опциями выбора в сборке, как в протанках к примеру?3. Какой последний свежий доступный пример Inno setup где показана максимальная возможность Inno Setup, кроме примера в шапке за 2014 год.
Если можно, ссылку на пост в этой теме, где можно почитать или пример.
-
Ну и положите py-файл в папку res_mods, там с ним и работайте, если копировать не хочется.
ЗЫ: Всякие левые логистики - выходят за рамки программы.
да решение очевидное)
-
Еще было бы полезна опция заранее определенной папки в res_mods, куда опционально можно было бы с заменой компилировать файл. Т.е. подправили скрипт - скомпилировали сразу в папку, запустили из оболочки wot, тут же проверили логи, отконектились, и опять скомпилировали с заменой старого скрипта..
Т.е. в процессе работы не переключаться между программами для логистики файлов. -
Обфускация байт-кода - это запутывание кода в процессе компиляции py-файла в pyc-файл.
Протектор же накладывается только на pyc-файлы. К текстовым py-файлам он не применим.
Понял, т..е можно никуда не переносить, а дважды указывать одну и ту же папку. Сам что нужно найдет.
Кстати при добавлении функции командной строки на обфускацию+протекцию файлов, предусмотрите так же такую же функцию и для папок. Будет очень полезно.
Создание инсталляторов для модпаков на базе Inno Setup
in Modding General Discussion
Posted
Да спасибо, на самом деле я уже использовал этот код при бекапе, просто запямятовал, где я еще делал такую проверку ранее )