Jump to content
Korean Random

akey

User
  • Posts

    144
  • Joined

  • Last visited

Posts posted by akey

  1. UPD:

    Короче, доработал свою идею. Проверил на средней системе - вроде, не фризит.

    attachicon.gifNEW IDEA.rar

    А возможно сделать следующее....

    Например в модпаке появились новинки, или то что обновлено, по принципу чейдж лога, и всё это что обновлено будет, например, в отдельной странице, где можно выбрать нужные компоненты. И в последствии при переходе в основной установщик они уже были выбраны. Для постоянных пользователей того или иного пака думаю актуально.

    Значок "NEW" это хорошо, но было бы интересно чтобы пользователь сразу на старте видел обновления. К примеру начинка то в основном одна и неизменна и чтоб не шустрить по всему паку в поисках мода из чейджлога, пользователь на начальной странице обновил что ему надо без переустановки всех модификаций.  Как Вам идейка?

  2. имел ввиду указанные вами моды, которые вызывают звуковые события

    да всё бы ни чего, и так модами пользоваться же можно, но в логе "кака" что не есть хорошо.

     

    Выявил ещё одну пропажу, а именно по пути World_of_Tanks\res\scripts\client\gui\shared\utils\requesters\deprecated, и именно "deprecated", сея папка используется для мода AutoEquip

    питон лог:

    INFO: Executing: AutoEquip
    INFO: No module named deprecated
    
  3. Нашел косяк, спс.

    А что там с экспортом в XML, который я описывал, или же это невозможно?

    Всем привет, ребят первый раз пробовал декомпелировать файлы мода и непонял почему одни декомпелируются другие нет.... # Source Generated with Gray Magic

     

    pass

     

    помогите новичку

    Какие моды под протектором, какие под обфускацией, и третьи на которых и то и другое, вскрыть нельзя! Пару страниц назад активно раз этак 10-ый это обсуждалось :)

  4. Там ошибка в импорте, а не функции. Импорты обычно проводятся в начале скрипта.

    А что про модуль "sound", так его скорее всего переместили просто, и импортировать его теперь нужно по-другому (по другому пути).

     

    Вот вот, и я к тому же...

    import FMOD
    import SoundGroups
    

    сверил что 0.9.10 что в 0.10.0////   FMOD без изменений, а в SoundGroups только добавки, убранного ни чего нет...

    СТ крашиться сам и без модов

    а моды то работают только озвучка из них нет .т.к. добавили новые функции с добавлением движка WWISE .... или не добавили ?

    Миникарта Локостана померла в 0.10.0

  5. Заметил некий баг....

    Берём engine_config.xml из res и переносим на ярлык 1.3.0 и он без проблем открывается. Берём этот же файл и переносим на ярлык 1.3.1 результат:

    <engine_config.xm<
    

    и всё на этом

  6. Нужно смотреть сами скрипты. Но если они зашифрованы, то придётся ждать адаптацию от их авторов.

    вот часть кода

    def new_showSixthSenseIndicator(self, isShow):
        global backupVolume
        old_showSixthSenseIndicator(self, isShow)
        startGuiCountDown()
        sound = SoundGroups.g_instance.getSound2D(myConf['AudioPath'])
        i = myConf['AudioRange'] / myConf['AudioTick']
        backupVolume = SoundGroups.g_instance.getVolume(myConf['VolumeType'])
        SoundGroups.g_instance.setVolume(myConf['VolumeType'], myConf['Volume'])
        playSound(sound, i)
    

    Как видите SOUND указан, но в логе пишет отстутствие...

  7. Приветствую форумчане.

    Скачал СТ и полились первые проблемы. Проблемы, ровно как и с прошлым патчем из-за appLoader. Следствие забитый лог, но работоспособные модификации...

    Так вот в чём суть вот :

    INFO: Executing: RTAN
    INFO: Error in module 'mods.RTAN': No module named sound
    INFO: Executing: sixthsenseduration
    INFO: No module named sound
    
    

    Идеи? Заранее спасибо!

  8. Это как не так?

    В cm пиши

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

    Подскажите пожалуйста... В компанентах русские буквы не корректно отображаются, такое ощущение что с кодировкой что то не то, или это так задуманно? Спасибо!

  10. Чуть подробней опиши как должно выглядеть.

     

    Я к тому что в Орионе же нельзя два одновременно скрипта открыть. Вот и вывести экспорт (возможно какой то модуль потребуется, в идеале попап окно )в XML который автоматом откроет нотепад. Во втором Орионе открываем второй скрипт и так же экспортируем ( который так же попадет в уже открытое папап окно. Конечно если б при этом автоматом запускался бы компаре вообще бы была фантастика) нотепад же много вкладка. Самый затык это чтобы изменения внесенные в нотепаде, при сохранении, попадали в скрипт. Вот это и есть на мой взгляд автомат. Тогда просто упрощается погоня за оптимизацией клиента, то есть переделка под патчи.
  11. Дык автодетект давно включен и робит. У тебя разве не детектит файл на диске, когда он открыт в Орионе?

    А возможно реализовать некий експорт открытого скрипта в нотепад+ То есть довести до автомата, а потом уже компарой лицезреть изменения с возможностью редактирования и сохранения изменений в открытый скрипт?
  12. Изменяется ARENA_PERIOD или что-то вроде того. Покопайся в скриптах картохи, файлик ClientArena.pyc, ЕМНИП.

    З.Ы. Вообще, для вопросов по коду есть отдельный раздел.

    Спасибо Вам большое! Направьте в нужную тему.

    Второе по Ориону... Функция поиск замена реализована? Если да то как? Заранее спасибо!

  13. Вариант плохой.

    Что помешает установить пак и распространять затем из него моды в архивах или перепаковать в иной пак?

     

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

    Да... это помоему слишком замудренно... Учитывая вечные перепады... И самоe главное, ты должен быть мододелом, для того чтобы мог завязывать моды к файлу...

    А если сделать по логину и паролю того или иного ресурса? Допустим это клан ресурс, соответственно только проходящие по статусу могут начать установку самого МодПака, соответственно слив если и будет, то только соклановцем. Вот это было бы круто, вопрос как это реализовать?

    ПМОД устроен так, что без конфига там идет сразу дефолтное значение всего... активация компонента происходит добавлением нужного конфига...

    Я ставлю сперва дефолт по причине того, что потом автор пытается помочь пользователю...а он хлопает глазками и говорит: "А там такого файла нету!"

    Выбор за вами.

    Про дефолт значение мне известно, вопрос как правильно реализовать, чтоб деффолт папка с новой галкой в выборе не копировалась?

  14. Это уже мое, а ты просто прицепи это к главному компоненту пмода

    Вот так будет работать?

    [Components]
    Name: MODS\PM\ST; Description: а. Послебоевая статистика за сессию.;
    
    [Files]
    Source: "MODS\PMOD\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs;
    Source: "MODS\PMOD\STAT\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: CPFS\PM\ST;
    
  15. если поймешь 

    [Files]
    Source: "моды\PMOD\DEFOLT_PMOD\*"; DestDir: "{app}\res_mods\{#Patch}"; Flags: ignoreversion recursesubdirs createallsubdirs; Check: PMOD(1); BeforeInstall:UpdateFile; AfterInstall: AddToMemo
    
    Source: "моды\PMOD\loginWindow\Show\*"; DestDir: "{app}\res_mods\{#Patch}"; Flags: ignoreversion recursesubdirs createallsubdirs; Check: PMOD(2); BeforeInstall:UpdateFile; AfterInstall: AddToMemo
    Source: "моды\PMOD\loginWindow\AutoLogin\*"; DestDir: "{app}\res_mods\{#Patch}"; Flags: ignoreversion recursesubdirs createallsubdirs; Check: PMOD(3); BeforeInstall:UpdateFile; AfterInstall: AddToMemo
    Source: "моды\PMOD\loginWindow\SaveServer\*"; DestDir: "{app}\res_mods\{#Patch}"; Flags: ignoreversion recursesubdirs createallsubdirs; Check: PMOD(4); BeforeInstall:UpdateFile; AfterInstall: AddToMemo
    Source: "моды\PMOD\loginWindow\SkipVideo\*"; DestDir: "{app}\res_mods\{#Patch}"; Flags: ignoreversion recursesubdirs createallsubdirs; Check: PMOD(5); BeforeInstall:UpdateFile; AfterInstall: AddToMemo
    Source: "моды\PMOD\loginWindow\SkipRSS\*"; DestDir: "{app}\res_mods\{#Patch}"; Flags: ignoreversion recursesubdirs createallsubdirs; Check: PMOD(6); BeforeInstall:UpdateFile; AfterInstall: AddToMemo
    
    .............................
    .............................

    То есть как я понял 

    Source: "моды\PMOD\DEFOLT_PMOD\*"; DestDir: "{app}\res_mods\{#Patch}"; Flags: ignoreversion recursesubdirs createallsubdirs; Check: PMOD(1); BeforeInstall:UpdateFile; AfterInstall: AddToMemo
    

    Это и есть копирование полной папки? 

    Интересно вот это:

    Check: PMOD(1); BeforeInstall:UpdateFile; AfterInstall: AddToMemo
    

    Каким образом меняются параметры?

  16. Всем привет!
    Подскажите пожалуйста, как правильно организовать PMOD в мод паке? Понятно, что сначала делаем установку дефолта, а потом просто заменяем отредактированными файлами. Непонятно, как сделать чтоб залилась как раз таки дефолтная папка? Заранее спасибо!

    P.S. Я так понимаю и с XVM таким же образом реализуется? Или же существует некий парсинг по файлам дефолт папки? Еще раз спасибо!

  17. я ждал этого :)

    procedure CreateLogModsChanged(CurStep: TSetupStep);
    begin
       If CurStep=ssInstall then
    begin
      CreateDir(ExpandConstant('{app}\{#MyAppName}'));
      DeleteFile(ExpandConstant('{app}\{#MyAppName}\{#LogMods}'));
      CreateLogMods;
    end;
    end;
    procedure CurStepChanged(CurStep: TSetupStep);
    begin
    CreateLogModsChanged(CurStep);
    end;
    

    суть понял?

    Вот код... что не так, потому как ошибка та же...

    function CreateLogMods: Boolean;
    var
      I: Integer;
      FileName, DateTime: String;
    begin
      Result:=True;
      DateTime:=GetDateTimeString('dd/mm/yyyy  hh:nn', '-', '-');
      FileName:=ExpandConstant('{app}\{#PACK}\{#LogMods}');
    //----------------------------------------------------------------------------------------------\\
        For I:=0 to WizardForm.ComponentsList.Items.Count - 1 do
             If WizardForm.ComponentsList.Checked[I] then
        begin
             SaveStringToFile(FileName, '{#LogMods} ' + WizardForm.ComponentsList.ItemCaption[I] + #13#10, True);
          end;
    end;
    procedure CreateLogModsChanged(CurStep: TSetupStep);
    begin
       If CurStep=ssInstall then
    begin
      CreateDir(ExpandConstant('{app}\{#PACK}'));
      DeleteFile(ExpandConstant('{app}\{#PACK}\{#LogMods}'));
      CreateLogMods;
    end;
    end;
    procedure CurStepChanged(CurStep: TSetupStep);
    begin
    CreateLogModsChanged(CurStep);
    end;
    
  18. Да, возможно.

    Я знаю что нужен сервер. Получается принцип как в обычных программах, вводим ключ, он активируется на сервере, или сверяется с наличием на сервере ключа в файле, это теоретически конечно... Но все же есть примеры? Спасибо!

    
    

    Как быть с этим?

    у меня в препроцессоре такая процедура есть...

    post-26543-0-80717700-1437258466.png

×
×
  • Create New...