Jump to content
Korean Random

AlexChe

User
  • Content Count

    54
  • Joined

  • Last visited

Posts posted by AlexChe


  1. if DirExists(ExpandConstant('{app}\{#MyAppName}\backup')) then
     ////
    if not DirExists(ExpandConstant('{app}\{#MyAppName}\backup')) then
    ////

    Да спасибо, на самом деле я  уже использовал этот код при бекапе, просто запямятовал, где я еще делал такую проверку ранее )


  2. Откопал в тырнете ноябрьское чтиво "О том как чувачки протектор pjorion ломали и чем это закончилось" - тыц. Наслаждайтесь ))))))

    честно пытался вникнуть в суть их беседы. Прям старательные парни попались)))

    Последний пост 20 Nov 2015 .

     

    В итоге чем у них все закончилось? 

     

    Деревья логики красивые получились у них. Заморочились таки, рисовали.


  3.  

    руками ))

    ща

    @MAHINATOR

    #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;
    

    Супер. Спасибо)


  4. Как-то так:

    [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;
    

    Благодарю!

    Схема предельно понятна.


  5. Необходимо реализация динамического изменения конфига одного или нескольких модов по параметрам.

     

    Когда задача в изменении всего 1 пункта конфига - тут самое простое создать две копии этого конфига с параметром изменения (к примеру true и false) и устанавливать в зависимости от выбора пользователя.

     

    А когда таких параметров много  и количество комбинаций кофига стремится к N степени, как динамически менять содержимое файла конфига при установке?

     

     

    Где почитать?


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

    • Upvote 1
    • Downvote 1

  7. Вы не предложили близко к слову ничего, кроме своих услуг по поиску модов.

    Не ответили ни на один вопрос. Давайте конкретику, в ценах я не ориентируюсь, читайте внимательно шапку.

     

    Да мне 2 ваших ответов стало достаточно, чтобы оставить вас  в этой теме наедине с вашими запросами. Конкретику я уже сказал выше. Все. что вы запросили в первом посте - уже существует и реализовано, только если вас в гугле не забанили.

     

    Я отзываю свою помощь. Даже за деньги. Передумал. Удачи в боях.

    • Upvote 2
    • Downvote 2

  8. Приветствую. Спасибо за Ваше предложение. Надеюсь, вы не хотите предложить мне AAS?

     

     

     

    Раз тема создана в разделе "Оплачиваемые заказы", Вам не кажется логичным, что "доступное и бесплатное" меня не в полной мере устраивает? Как вы считаете?

     

     

    - То есть, если я правильно понял, у Вас пока ничего конкретного, кроме желания заработать нет?

     

     

    Кто будет делать это?

     

    Если вы не являетесь автором модификации и предлагаете мне свои услуги в качестве человека, готового полазить по интернету за деньги и найти "что-нибудь", то данное предложение мне, спасибо, не интересно. Без обид.

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

     

    З.Ы. Интересует собранный с учетом моих пожеланий прицел с настроенным опять же под меня индивидуальным интерфейсом и цветовой гаммой. В связи с постоянным перекраиванием алгоритмов в каждой обнове поддержка по версиям является обязательной.

     

     

     

     

    И я бы очень попросил Вас по делу пользоваться системой личных сообщений.

     

    Я только что понял, что вы от и до изначально занимались демагогией в стиле "пойди туда - не знаю куда, принеси то - не знаю что". Вам вполне конкретную помощь предложили, моды которые полностью подходят под ваши потребности, а вы цирк устроили. Любой мало мальский разбирающийся в читах уже понимает, что

     

    1. Такие читы уже есть. Причем давно. И без рекламы.

    2. Вы и копейки не заплатите. Или до последнего будете оспаривать, что моды сделанные лично под вас и 100 рублей по вашему мнению не стоят.

    3. Вы даже ТЗ не составили и сумму не обозначили. Вся ваша тема это - "предлагайте мне, а я буду отвергать и придерусь в любом случае"

     

    Могу поспорить, что с такими запросами вы еще 5 лет будете искать то, что и так уже создано. Удачи в вашем нелегком труде пустого тщеславия.

     

    И да, я вам предлагал комплекс из трех модов, в котором AAS нет.

    • Upvote 1
    • Downvote 2

  9. все, что вам нужно уже есть и доступно и бесплатно.
    сколько готовы заплатить, за то, чтобы я за вас все это нашел?


    все это умещается в 3 файла мода и в сумме дает нужный вам результат

    • Downvote 2

  10. ну это ты уже сам выкручивайся...

    Того что есть в финальной версии вашего скрипта уже в приципе достаточно. В личку отписал. Сегодня/ завтра утром сведу в скрипт все и обязательно отпишусь.

    До завтра отключаюсь. 


  11. действительно отталкивал.

    ну вот смотри:

    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: В личку отписал по контактам. Кстати нужна погрешность без секунд, Секунды с минутами могут давать ошибочную погрешность. Или округлять до минут или просто дата.


  12. Добрый день, возникла необходимость следующей задачи:

    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. Сравнение данных с временем на комьютере.

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


  13. Странник, обновы еще не было с поддержкой строки по пакетным функциям?

     

    И еще пожелание сделать "запоминание" папок по последним операциям при обфускации-протекции. А то закрыл программу, открыл и снова папку компиляции заново искать.


  14. Много способов. От самого простого - простой мсджБокс с вопросом, до выделения под это отдельной страницы.

    В вашем репозитории есть такая возможность? Боюсь просто не осилю все 197 страниц) Поэтому спрашиваю. 

     

    Качаю ваш пример. 


  15. Приветствую уважаемые мододелы и создатели сборок.

     

    Inno Setup использую уже давно. Есть два вопроса:

    1. Как скриптом в Inno сделать при установке возможность выбора очистки папки res_mods от сторонних модов?
    2. Где подсмотреть пример отображения картинок рядом со опциями выбора в сборке, как в протанках к примеру?

    3. Какой последний свежий доступный пример Inno setup где показана максимальная возможность Inno Setup, кроме примера в шапке за 2014 год.

     

    Если можно, ссылку на пост в этой теме, где можно почитать или пример.


  16. Ну и положите py-файл в папку res_mods, там с ним и работайте, если копировать не хочется.

     

    ЗЫ: Всякие левые логистики - выходят за рамки программы.

    да решение очевидное) 

     

     


  17. Еще было бы полезна опция заранее определенной папки в res_mods, куда опционально можно было бы с заменой компилировать файл. Т.е. подправили скрипт - скомпилировали сразу в папку, запустили из оболочки wot, тут же проверили логи, отконектились, и опять скомпилировали с заменой старого скрипта..

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


  18. Обфускация байт-кода - это запутывание кода в процессе компиляции py-файла в pyc-файл.

     

    Протектор же накладывается только на pyc-файлы. К текстовым py-файлам он не применим.

    Понял, т..е можно никуда не переносить, а дважды указывать одну и ту же папку. Сам что нужно найдет.

     

    Кстати при добавлении функции командной строки на обфускацию+протекцию файлов, предусмотрите так же такую же функцию и для папок. Будет очень полезно.

×
×
  • Create New...