Jump to content
Korean Random

GPCracker

User
  • Content Count

    2817
  • Joined

  • Last visited

  • Days Won

    61

Everything posted by GPCracker

  1. То есть, по твоему скромному мнению, в подобной ситуации, когда на обновление модификации у автора нет ни времени, ни технической возможности, вместо того, чтобы хоть как-то попытаться хотя бы временно адаптировать (или помочь окружающим это сделать) модификацию под новый клиент, автору будет целесообразнее просто послать всех лесом и уйти в сиреневый туман? Хорошо, спасибо, буду знать. Специально для тебя, и того, кто ставит минусы под моими сообщениями, поясняю по всей видимости до сих пор не понятую вами вещь - продакшн расположен в репозитории, а то, что выкладывается в теме в настоящее время, это хотфиксы. В переводе на понятный русский - это временная заплатка, призванная скомпенсировать проблему до момента, когда она будет надлежащим образом решена при помощи полноценного обновления модификации. Когда будет это обновление - как только [у меня появится время на модификации], так сразу. Недовольные всегда найдутся, что бы ты не делал, как бы ты это не делал, и делал ли бы ты вообще хоть что-то. Так что я уже мало чему удивляюсь. Открою тебе маленькую тайну - далеко не факт, что авторы документации на пакеты модификаций (в которых этот загрузчик вообще вскользь упоминается, ибо весь документ немного о другом), и авторы непосредственно кода загрузчика одни и те же люди, далеко не факт. Это во-первых. А во-вторых, я ориентируюсь исключительно на то, что именно делается, а не на авторитет того, кто это делает. Если я вижу какую-то фигню, я прямо и конструктивно говорю, что это фигня. И мне абсолютно все равно, кто ее автор. Я бы понял, если бы этот загрузчик был чьей-то модификацией, для начинающего мододела (ну или для чисто пробного проекта, когда надо просто что-то по-быстрому проверить) это приемлемый уровень кода. Но для продакшна достаточно крупной компании, это, извините, ни в какие ворота не лезет. Meld + Text Filters. Там изначально есть фильтр для комментариев. Выставить правильно контрольные точки при необходимости и все должно нормально сравниваться.
  2. И это мне говорит человек, который, по всей видимости, тему вообще не читает. Потому как едва ли не каждый, кто подписан на эту тему, знает причину, по которой я последнее время не выкладываю ничего на GitHub - у меня в данный момент просто банально нет ни времени, ни технической возможности полноценно заниматься разработкой, да и заливать в продакшн не проверенный надлежащим образом и хрен знает как собранный код (как это делают многие мои коллеги) мне совесть не позволяет. Похоже кто-то просто очень плохо знаком с внутренностями CPython, раз утверждает подобное. Читай PEP 302, и обрати особое внимание на ресурс, где это опубликовано. Кстати, если ты не в курсе, именно таким образом, через import hook, картошка грузит свои Python модули. Только этот хук реализован на C и подрублен одним концом к ResMgr, вторым к Python. А ты хочешь сказать что это не так? Там сплошные костыли и косяки. Порядок загрузки модулей хрен пойми какой, у автора модификации он может быть один, у пользователей другой. Пользователи кричат, что у них проблемы с совместимостью с какой-то другой модификацией, автор кричит - не воспроизводится. Потому как порядок импорта определяет порядок установки хуков, а некоторые модификации применяют полную перегрузку метода и тем самым выкидывают на мороз все хуки, сделанные до них. Пакетные модули загрузчик грузить не умеет, подхватывать и автоматически компилировать текстовые модули тоже не умеет (даже при том условии что клиент принципиально понимает только скомпилированные файлы, компиляция без проблем делается в реальном времени, там кода на пару строк всего). В динамические модули загрузчик тоже не может, весь код написан хрен пойми как (даже мододел и то наверное лучше напишет), загрузить что-то вне очереди нереально, досрочно выгрузить тоже. А еще в этих исходниках указана версия клиента игры, под которую они собраны. Никто не мешает просто взять распакованные скрипты клиента той версии, скрипты текущей, сделать directory diff в том же meld, пробежаться по ключевым модулям, которые определены в разделе импортов модификации, посмотреть их diff и определить, что именно и как нужно исправить. И это без учета того факта, что я при возможности выкладываю патчи, которые с помощью git apply можно тупо и незатейливо на репозиторий применить, в крайнем случае воспользоваться мозгами и merge tool и замержить все это дело ручками. Если кто-то не умеет пользоваться элементарными инструментами системы контроля версий, то это его личные проблемы. И да, это я еще забыл про подход индуса - просто залить старую версию в новый клиент и править ошибки по мере их появления. Если ты до сих пор еще не понял, данный мод практически никто не пытается реабилитировать не потому, что я как-то криво исходники выкладываю, или информацию зажимаю, а просто потому, что уровень этой модификации существенно превышает средний по больнице сообществу мододелов, и далеко не каждому мододелу под силу понять лежащие в основе модификации механики. А те, кто в состоянии понять и разобраться, либо как и я страдают от дефицита времени на модификации, либо и вовсе уже давным давно забили на модификации вообще.
  3. Индус в сходных условиях, к твоему сведению, вообще вряд ли что-то сможет написать. Потому как работоспособность индусского кода достигается путем многократных попыток его отладки. Х**к, х**к и в продакшн, а куда же еще. Хорошо хоть картошка пока до критической инфраструктуры не добралась. Это как раз ты немного не понял суть моего недовольства. Если на твоих примерах, то это все равно что если бы ты, заезжая в новую квартиру, решил поменять розетку и с удивлением обнаружил, что в электрическом щитке вместо как минимум разделения питания на группы и отдельного автомата на электроплиту все подключено на один хлам-рубильник (даже не автомат), а то и вовсе на скрутку, до кучи залито монтажной пеной (это к тому, что к коду загрузчика вообще не подлезть), да и сам щиток сходу хрен откроешь, потому что кто-то прихватил его сваркой, чтобы щиток внезапно не открывался по причине сломанного замка (использование костылей). Как-бы вроде все работает и свет-то дома есть, но как-бы что-то тут не так... Донатоприемника нет, и вряд ли когда-то будет. Не хочу делать из хобби работу, да и, как показывает практика, деньги портят взаимоотношения.
  4. А ты попробуй обновить модификацию, не имея возможности ее скомпилировать, запустить и, собственно, протестировать (ну к примеру, сидя с мобильника или планшета). Может быть поймешь, в чем прикол :)
  5. Для выпуска хотя бы хотфикса нужно иметь доступ к основному рабочему компу, где есть установленный клиент игры и весь необходимый для запуска сборщика софт. Для нормального обновления модификации (это когда обновление получает версию и публикуется на GitHub) требуется еще и куча времени на полноценное тестирование и работу с git. Если я сижу за компом, на котором вообще ничего этого нет (ну разве что кроме текстового редактора и браузера, как говорится, и на том спасибо), и накатывать все необходимое у меня нет ни возможности, ни желания, то каким образом ты предлагаешь собирать нормальное обновление? В таких условиях diff это максимум, хотя и он генерируется наполовину вручную. В данном конкретном случае diff будет затрагивать сразу кучу файлов, будет длиннее транссибирской магистрали и как следствие с весьма большой долей вероятности будет иметь проблемы в плане инвариативности мержа. При этом все, что требуется сделать, это тупо выполнить найти и заменить все в текстовом редакторе и запустить сборку модификации. Для меня в данном случае гораздо проще по-быстрому написать дикий костыль из кривых импортов код, который просто создаст зеркало нужного мне модуля в старом месте.
  6. Судя по всему, автор загрузчика скриптов - набранный по объявлению индус, работающий за еду. Работать с кодом загрузчика абсолютно невозможно, не помогают ни прямые руки, ни даже костыли-велосипеды. Проект Advanced Script Loader (Community Edition), заменяющий scripts/client/gui/mods/__init__.pyc, напрашивается сам собой. Неплохо бы еще собрать код для автоматической генерации файла scripts/client/game.pyc для работы с некоторыми особо специфичными вещами. Жаль что на все это пока что совсем нет времени. В общем, моя попытка номер пять два. modname = 'AvatarInputHandler.aih_constants' constmod = __import__('sys').modules.setdefault(modname, __import__('imp').new_module(modname)) constmod.__file__ = __file__; constmod.__package__ = modname.rpartition('.')[0] tuple(__import__('itertools').starmap(constmod.__dict__.setdefault, __import__('aih_constants').__dict__.viewitems())) __import__('gui.mods.mod_advancedaimingsystem') Действия те же. Имя файла mod_AasFixLegacyImports.py (хотя оно может быть [почти] любым, так как используется принцип второй попытки импорта). На ошибки первой попытки импорта можно не обращать особого внимания.
  7. К сожалению, пока нет возможности даже минимальный кусок кода набросать. Хотя кое-какие идеи все же имеются, как появится время - попробую что-нибудь сообразить.
  8. Ну, как говорится, будем посмотреть. Но что-то мне подсказывает, что все будет как всегда... в общем, картошка вряд ли выйдет из своего репертуара.
  9. @HETCEPBEPA gettext + обычный текстовый редактор. Информация про пакеты модификаций имеется здесь. It's all you need.
  10. Как по мне, PyQt в этом плане самый топ. Прикрутить еще Cython и вообще огонь будет. Ну или как вариант можно еще использовать IronPython.
  11. Это все же немного из другой оперы. К тому же данный поисковый механизм с большой долей вероятности интегрирован непосредственно в движок форума, в код которого администратор предпочитает особо не вмешиваться. Хотя я могу и ошибаться, все же лучше спросить у него самого, и желательно в отдельной теме. Тот самый момент, когда хочется отправить задавшего вопрос еще раз прочитать шапку темы. Потому как ответ без проблем находится поиском по текущему разделу, по ключевому слову spoiler (внезапно). Хотя ладно, держи.
  12. Ну значит красиво переобуться в прыжке (создать в рантайме фантом перемещенного модуля) с первого раза не получилось :( К тому же загрузчик у картошки сделан (как и все остальное) через одно место (а я в очередной раз забыл это учесть). Отсутствие в питоне интегрированной функции unique побуждает некоторых не очень грамотных товарищей использовать set, упорядоченность которого зависит исключительно от фазы луны и положения звезд на ночном небе. Выражаясь более понятным языком, модификации (скрипты) загружаются в случайно организованном (но при этом относительно стабильном) порядке, что в некоторых случаях может бодро доставлять веселых проблем некоторым избранным пользователям, у которых эта самая неслучайная случайность организовалась не очень удачным образом. Ничего, мы не сдаемся, что-нибудь придумаем :)
  13. Если мне память не изменяет, данный вопрос уже обсуждался ранее.
  14. Конечно можно. Берете <FreeAd>PJOrion</FreeAd>, Ctrl+C / Ctrl+V приведенный выше фрагмент кода (для тех, кто совсем в танке, скопировать из темы и вставить в поле редактора), сохраняете файл как mod__FixLegacyImports.py (обратите внимание на двойное подчеркивание, это нужно для запуска скрипта в самом начале отсортированной по алфавиту очереди), Run -> Compile Script, забираете появившийся рядом mod__FixLegacyImports.pyс, кидаете по пути res_mods/<версия-клиента>/scripts/client/gui/mods/mod__FixLegacyImports.pyс и надеетесь, что при следующем запуске клиента оно таки взлетит (ибо я не тестировал этот код). Не помню, что там в шапке, но то, что выложено на GitHub (ссылка также имеется в подписи), относительно актуальное. Правда для сборки реально актуальной (рабочей) версии нужно применить к последней версии (там есть теги с номерами версий) несколько выложенных в этой теме патчей, которые у меня все никак не доходят руки нормально проверить (имеется специальный checklist, в частности патчи нужно проверять на coverage, deprecation, и тому подобные вещи), протестировать и отправить в репозиторий.
  15. TL; DR; Проблема гораздо более сложная, чем кажется на первый взгляд. Тем не менее, постараюсь изложить идею максимально кратко, а пояснения оставлю в конце сообщения. В целях повышения уровня осведомленности пользователей о наличии на форуме поиска, о принципах его работы и методике использования, В целях снижения количества флуд-контента в темах, а также для упрощения поиска актуальной информации, В целях улучшения качества, понятности и актуальности даваемых ответов, В целях повышения общей грамотности пользователей Считаю введение на форуме аналога Let Me Google That For You вполне необходимым, оправданным и обоснованным. К тому же необходимая для реализации этой штуки возможность перехода на страницу поиска по ссылке уже реализована на форуме (пример), так что по большому счету не хватает только выполняемого на стороне клиента скрипта, который будет скроллить страницу к нужному элементу, визуально его выделять, вводить в поле поиска необходимый запрос и предлагать пользователю нажать на заветную кнопку. Как и обещал, некоторые пояснения для тех, кому не совсем понятны приведенные выше аргументы. Проблема гораздо более сложная, чем кажется на первый взгляд. С одной стороны, сообщения, в которых пользователя отправляют в поиск, на самом деле являются флудом, поскольку они не содержат полезной информации. С другой, задавать вопросы, ответы на которые уже неоднократно давались и могут быть найдены с помощью относительно простых поисковых запросов, это (с точки зрения всех остальных пользователей) ничуть не меньший флуд, жутко захламляющий тему и генерирующий кучу лишних уведомлений. А генерируется этот самый первичный флуд как раз таки по причине неумения пользователей пользоваться поиском. Но, как показывает практика, чтобы чему-то научиться, нужно как минимум начать пытаться это делать, а среднестатистический пользователь-новичок либо вовсе не знает о существовании поиска на форуме, либо просто не желает напрягать собственные мозги составлением грамотных поисковых запросов (негативная реакция пользователей на частые вопросы как раз и обусловлена неодобрением бесплатного аутсорсинга мыслительной деятельности). При этом для первых обычно достаточно просто показать наличие поиска и методику его использования, вторые же будут продолжать генерировать флуд-контент до тех пор, пока их не начнут безальтернативно отправлять в поиск вместо предоставления прямых ответов. Иными словами, для пресечения дальнейшей генерации флуд-контента в виде часто задаваемых вопросов пользователей нужно отправлять в поиск, что обычно и делают продвинутые пользователи. Кроме того, практически на все часто задаваемые вопросы уже имеются гораздо более развернутые и понятные для задающего вопрос ответы, нежели даст своими словами человек с гораздо более высоким уровнем знаний (по сравнению с задающим вопрос), поэтому отправлять с элементарными вопросами в поиск вполне оправдано и с точки зрения качества даваемого ответа, хоть на первый взгляд это и кажется абсурдным. К тому же, в отличие от статической цитаты из периодически обновляемых FAQ или документации, поиск по ключевым словам (если сортировка выдачи организована по принципу most recent first) всегда выдает актуальный результат, таким образом ответ остается актуальным даже по прошествии времени, а заданный вопрос становится дополнительным транзитным поисковым индексом. Заинтересованные: @Mr 13, @StranikS_Scan, @Polyacov_Yury, @Ekspoint, @Armagomen_dev, @ShuraBB, @Pavel3333, а также все те, кому флуд-контент в виде часто задаваемых вопросов уже порядком поднадоел.
  16. Так точно, из res/scripts/client/AvatarInputHandler/aih_constants.py в res/scripts/client/aih_constants.py. В общем, нужно перетряхивать половину мода, тупо заменяя AvatarInputHandler.aih_constants на aih_constants. При этом изменений в файле практически нет. Зачем картошка это замутила, я, если честно, не совсем понимаю, но, как говорится, видать им там оттуда виднее. Ну или сообразить отдельный скрипт типа (я не тестировал этот код, если что) for key, value in __import__('aih_constants').__dict__.viewitems(): globals().setdefault(key, value) __import__('sys').modules.setdefault('AvatarInputHandler.aih_constants', __import__('sys').modules.pop(__name__)) globals()['__name__'] = 'AvatarInputHandler.aih_constants'; globals()['__package__'] = 'AvatarInputHandler' ... скомпилировать его и разместить в папке с модами, присвоив такое имя, чтобы он запускался раньше, чем другие модификации, использующие старый импорт. А я картошкин вроде как и не использую вообще. Но в любом случае, если кроме переноса aih_constants есть другие проблемы, они вряд ли проявятся до того, как будет исправлена эта.
  17. А что мешает подключить к нему необходимую версию питона в настройках? В общем случае питон компилируется (внезапно) питоном соответствующей версии (скачать можно здесь). PjOrion всего лишь инструмент, немного упрощающий процесс для новичков. AS3 в большинстве случаев компилируется через FlashDevelop (скачать можно здесь). Некоторые проекты (модификации) имеют в комплекте скрипты автоматической сборки и/или дополнительные зависимости для сборки некоторых специфичных вещей. Однако, учитывая твой предыдущий вопрос, настоятельно не советую брать мои модификации с GitHub в качестве стартовых примеров для обучения. Их даже просто собрать-то не каждый сможет, не то что разобраться, как все это работает.
  18. По-быстрому можно разве что обос**ться, ну или огрести 3,14люлей. Все остальное требует вдумчивого подхода.
  19. Координаты элементов интерфейса, создаваемых картошкой, прописаны, как несложно догадаться, в коде у картошки, а не в коде модификации, подменяющей локализацию. Если более конкретно, то с вероятностью 98% подобные параметры жестко прописаны в swf-файлах игры, где конкретно, сказать затрудняюсь, я в ангарном интерфейсе не разбираюсь от слова совсем, к тому же относительно недавно в игру еще и новый фреймворк завезли, а у меня все никак не найдется времени чтобы толком разобраться, что это за зверь, и с чем его едят. Так что конкретики, что и где нужно копать, я подкинуть, увы, не могу. И даже не каждая цитата означает, что автор сообщения обращается к автору цитируемого. Задавать не-личные вопросы, ответы на которые, к тому же, могут быть полезны не только вам, конкретному человеку (особенно делать это через систему личных сообщений), мягко говоря, немного некорректно. Форумы, собственно, для того и существуют, чтобы не отвечать по 100500 раз на один и тот же вопрос.
  20. Он бы потерял необходимость еще со времен ввода пакетов, если бы картошка нормально шевелилась - достаточно добавить в meta.xml секцию supported-client-versions, плюс supported-client-versions-api для html-запроса на сервер мододела (у кого он есть), ответ текстовый - json/xml, категории задаются по версии модификации, клиент выбирает ту, что в meta.xml проставлена, внутри список поддерживаемых версий (клиент ищет свою) - нашел в статичном списке или в api - грузим, не нашел - кидаем уведомление в ангар и в логи, что такой-то мод неплохо бы обновить, ну или пнуть автора, чтобы в репозитории файлик совместимости обновил, если ему ничего реально не поломали. И все ровно будет. Разместить файлик для api можно и на гитхабе, есть еще github.io, правда не разбирался толком, как оно работает.
  21. The GUI currently is an adiitional module for diplaying modification core status and useful information. Disabling it does not affect functionality, however doing that makes feature (or rather, aiming correction and target scanner) status control real hard for low-experienced users (graphical interface helps you understand what is going on inside the mod). All panels relate to graphical interface (it is obvious, though) and are configured through gui.xml you mentioned. Changing this file you can hide specific panels in certain aiming mode using visibility parameter, or just disable whole module if you don't need any interface at all. TLDR: You are asking your question the wrong way because you do not understand the whole stuff happens inside the game and the modification. And this stuff is really complicated to explain it in a few words. However, if it was so simple there would not be any reason for developing such a complicated modification either. The first thing you have to understand before you continue reading this is that "aiming" and "gun marker" are very different things and they are not interconnected directly. Aiming is a thing you do, but gun marker is a computer-calculated stuff. So, when you are aiming at something aiming system emits an invisible scanning ray. Just imagine that you are wearing an aircraft pilot helmet with the aiming marker (crosshair) on its visor and your head is moved by your mouse, like you do it in the game. Then the scanning ray is an infrared (invisible) beam of light emitted by an invisible laser pointer attached to the visor at the center of the aiming marker, with the beam oriented along your look so you see (however, you are actually not seeing anything, all that stuff is invisible to you) it like dot, not like a line. And when this laser beam (the aiming system scanning ray) hits something not transparent (hard objects that could affect the projectile) it creates an invisible laser dot (the aiming point) that could be seen by you (this stuff is still invisible though) as a dot in the middle of the aiming marker. The main problem here is that you can not evaluate the distance to the laser dot (the aiming point) without a second eye (you have no "second eye" in the game), no matter how far or close the target is located to you, there is always a dot in the middle of the aiming marker. In the game language, you can not evaluate how far you are actually aiming without special information panel showing you the aiming distance. The second problem is that the game client can not take invisible vehicles into account, nor fast-moving vehicles at their forecasted positions, so this stuff is successfully ignored and the aiming point will be far beyond the real target being placed on the map border, sky boxes, cliffs or stuff like that and, what is important, you will not even notice this (but you are going to shoot the target, not the sky boxes, so the aiming correction fixes this issue by shifting the aiming point along the scanning ray to the place you need it be). But the projectile trajectory is not a straight line, it is parabolic, so it is required to rise the tank's gun to shoot far targets and lower it for closer targets, and this process, unlike shifting of the aiming point, is not instant, it takes some time. So, at the time the aiming correction is actually activated (or deactivated) the aiming point is instantly moved to a certain distance from the player's tank, ignoring any obstacles or their absence (or is instantly returned to "normal" placement), but, as it was mentioned before, you are not even notice this, because the aiming point still stays in the middle of the aiming marker. But if the aiming distance is changed significantly it will take some time for the tank's gun to adapt to the changes. This is an important thing you should always keep in mind. How all this affects the gun marker? Simple enough. All you need is just to clearly understand that the gun marker is a computer-calculated stuff. It does not affect the aiming in any ways. The gun marker is just a screen-plane projection of an expected hit point of the projectile you are about to fire, calculated by a special ballistic hit test algorithm using current gun orientation, not the place you are aiming at. In other words, the gun marker calculation algorithm tries to calculate the expected parabolic trajectory of the projectile you are about to fire (if you fire it immediately with the current gun state) scanning for material objects (objects that could affect the projectile) or vehicles along that trajectory, aborting the test on any of that stuff and returning a hit point that exactly will be a gun marker position. But remember about invisible and fast-moving vehicles - this stuff is not accounted, so the ballistic hit test continues until the next "hard" object, causing the "gun marker fall down (or lasting dropping)" occurring all along the aiming correction is applied and the aiming point is not on a hard (accountable) object. This "dropping" is being fixed by "aim correction gun marker fix" plug-in (you can find the source code here) by the mean of forced interrupt of the ballistic hit test when it overcomes the distance to the aiming point, like there is an invisible but "hard" (emulated) wall. It is a some kind of a programming crutch though but it works quite fine. The problem with that fix is that there is no "smart" way to deploy it in the game code, so it is done the hard way (by a full override of a method, if it means something to you). This approach causes "stability issues" when the game updates, it means that the fix source code becomes outdated and has to be adapted to the game updates sometimes more often than anything else, so the fix is often has to be disabled due to errors in the game log until it will be fixed by me or somebody else who knows how to do it. I am not happy about this annoying stuff too but there is really no "smart" ways anyway. Returning to "gun marker lasting dropping" problem, it is also worth mentioning that the almost same stuff happens when the player uses the aiming correction on a far target, but there is a hard object covering it just in front of the player - this situation causes "gun marker lasting rising", that stuff is not fixed (and could not be fixed because of reasons obvious enough) by the plug-in mentioned before. A little earlier it was mentioned about the tank's gun adaptation to the aiming distance changes, remember? Now, when it is clear about what the gun marker is, this stuff obtains another important meaning. When the gun marker fix (that is implemented by the plug-in) is not applied, significant changes in the aiming distance just cause smooth vertical shifting of the gun marker. At the same time, while the fix is active, the gun marker stays in the middle of the aiming marker all the time the tank's gun is stable (not moving). But at the moment the aiming distance changes, causing the tank's gun to adapt to the new aiming point, the gun marker forced interrupt distance is also (simultaneously) changed, and the gun marker instantly jumps up (when the aiming distance reduces) or down (when the aiming distance increases) then smoothly returns to the previous position (in the middle of the aiming marker). This stuff is often called "gun marker bouncing" and it could not be fixed, and should not be, because it shows the adaptation of the tank's gun to the aiming distance changes, while you should wait until the gun is stable before making a shot. #gun-marker #reticle #bouncing #jumping #dropping #aiming-correction #distance-correction #aiming-distance #aiming-point #faq P.S. It took more than two hours to type that message and I really hope it is now clear enough what happens in the game and what the modification really does.
  22. В принципе подобный финт ушами можно и самому провернуть. ActionScript это, конечно, не питон, но monkey-patch там тоже вполне осуществимая штука. Создаешь себе флешку (она нужна чисто как оболочка для загрузки кода), пилишь код, который будет в реалтайме заменять "неправильные" текстовые поля на "правильные", ну или текст в них правильно прописывать, если там проблема связана с использованием "неправильного" атрибута. При помощи весьма нетривиальных финтов ушами добавляешь себе козырный метод в DAAPI и пинаешь его из питона в самый подходящий момент. Заинтересованные: @spoter, @Polyacov_Yury
  23. Не приходится, а ПОЛУЧАЕТСЯ. Причины всем и так давным-давно известны, не вижу смысла их тут дублировать. Да все будет на порядок проще - кто-то из мододелов (самый ленивый из всех энтузиастов) психанет и напишет специальный загрузчик, который не будет отламываться новой папкой (папка res или батник-прослойка для запуска exe) и будет перемещать/копировать пакеты из старого микропатча в новый, как следствие весь этот хитрый механизм по отключению модификаций (смена папки) просто помножится на ноль. А в шапках тем вместо конкретных версий будут звездочки указывать, как это многие делали раньше. Особо ответственные товарищи будут использовать условный старт, проверяя совместимость через свой сервер или специальный файл в репозитории.
  24. Подозреваю, что таких каждый второй мододел, если не каждый первый. В таком случае полагаю, что армия мододелов понесет весьма большие потери. Не знаю, как вам, товарищи, а лично я не намерен, извините меня за мой русский, е***ься с чем-то, что не встает на комп путем копипаста папки и не запускается в два клика. Не говоря уже про всякую перманентно висящую в памяти хрень, жрущую трафик и ресурсы системы в дежурном режиме.
  25. Тебе нужно спокойно заниматься курсачом - моды никуда не денутся, а вот из университета за неуспеваемость отчислить могут.
×
×
  • Create New...