Jump to content
Korean Random

GPCracker

User
  • Posts

    2,827
  • Joined

  • Last visited

  • Days Won

    62

Everything posted by GPCracker

  1. @MIAPAK, да, ошибка на питоне, не стартует плагин маркеров, точнее не только он. 2017-02-05 16:26:25.403: ERROR: Traceback (most recent call last): 2017-02-05 16:26:25.403: ERROR: File "scripts/client/gui/Scaleform/framework/entities/BaseDAAPIComponent.py", line 67, in registerFlashComponent 2017-02-05 16:26:25.403: ERROR: File "scripts/client/gui/Scaleform/framework/entities/DisposableEntity.py", line 18, in create 2017-02-05 16:26:25.403: ERROR: File "scripts/client/gui/Scaleform/daapi/view/battle/shared/damage_panel.py", line 151, in _populate 2017-02-05 16:26:25.404: ERROR: File "scripts/client/gui/Scaleform/daapi/view/battle/shared/damage_panel.py", line 306, in __onVehicleControlling 2017-02-05 16:26:25.404: ERROR: File "scripts/client/gui/Scaleform/daapi/view/battle/shared/damage_panel.py", line 75, in setup 2017-02-05 16:26:25.404: ERROR: AttributeError: 'NoneType' object has no attribute 'turretMatrix' 2017-02-05 16:26:26.887: ERROR: Traceback (most recent call last): 2017-02-05 16:26:26.887: ERROR: File "scripts/client/gui/Scaleform/framework/entities/BaseDAAPIComponent.py", line 67, in registerFlashComponent 2017-02-05 16:26:26.887: ERROR: File "scripts/client/gui/Scaleform/framework/entities/DisposableEntity.py", line 18, in create 2017-02-05 16:26:26.887: ERROR: File "./res_mods/mods//xfw/python\xfw\events.py", line 69, in <lambda> 2017-02-05 16:26:26.887: ERROR: newm = lambda *a, **k: handler(orig, *a, **k) 2017-02-05 16:26:26.887: ERROR: File "C:\Games\World_of_Tanks\res_mods\mods/packages\xvm_battle\python\minimap.py", line 57, in _MinimapComponent_populate 2017-02-05 16:26:26.888: ERROR: base(self) 2017-02-05 16:26:26.888: ERROR: File "scripts/client/gui/Scaleform/daapi/view/battle/shared/minimap/component.py", line 123, in _populate 2017-02-05 16:26:26.888: ERROR: File "scripts/client/gui/Scaleform/daapi/view/battle/shared/minimap/component.py", line 202, in start 2017-02-05 16:26:26.888: ERROR: File "scripts/client/gui/shared/utils/plugins.py", line 77, in start 2017-02-05 16:26:26.888: ERROR: File "scripts/client/gui/shared/utils/plugins.py", line 89, in _invoke 2017-02-05 16:26:26.889: ERROR: File "scripts/client_common/shared_utils/__init__.py", line 49, in forEach 2017-02-05 16:26:26.889: ERROR: File "MinimapGunMarkers.py", line 528, in start 2017-02-05 16:26:26.889: ERROR: File "scripts/client/gui/battle_control/battle_session.py", line 188, in addArenaCtrl 2017-02-05 16:26:26.889: ERROR: File "scripts/client/gui/battle_control/arena_info/listeners.py", line 741, in addController 2017-02-05 16:26:26.889: ERROR: File "scripts/client/gui/battle_control/arena_info/listeners.py", line 159, in addController 2017-02-05 16:26:26.890: ERROR: File "MinimapGunMarkers.py", line 665, in invalidateArenaInfo 2017-02-05 16:26:26.890: ERROR: File "MinimapGunMarkers.py", line 678, in invalidateVehiclesInfo 2017-02-05 16:26:26.890: ERROR: File "MinimapGunMarkers.py", line 545, in __addEntry 2017-02-05 16:26:26.890: ERROR: File "MinimapGunMarkers.py", line 511, in getGunMatrixProvider 2017-02-05 16:26:26.890: ERROR: AttributeError: 'NoneType' object has no attribute 'gunMatrix'А вот код, который крашится, первая ошибка у картохи, вторая как-бы у меня, но не совсем, почему - написал ниже. @staticmethod def getGunMatrixProvider(vehicleID): vehicle = BigWorld.entity(vehicleID) return XModLib.MathUtils.getCombinedMatrixProvider( vehicle.matrix, XModLib.MathUtils.getMatrixProduct( vehicle.appearance.gunMatrix, XModLib.MathUtils.getMatrixProduct( vehicle.appearance.turretMatrix, vehicle.matrix ) ) ) if vehicle is not None else NoneОтсюда несложно сделать вывод, что vehicle.appearance имеет значение None. Почему - непонятно. Первая ошибка у картохи имеет ту же природу, только там запрашивается turretMatrix.Что стало причиной ошибки - неясно, но походу проблемная техника принадлежит как раз таки игроку. Попробуй отключить XVM, может заведется. Но vehicle.appearance не должен быть None в принципе.
  2. Вот скрин с твоего реплея у меня. У меня стоит только AAS и MGM. Скорее всего, какой-то конфликт с XVM. Возможно, какие-то проблемы со слоями... Или у тебя что-то отвалилось. Однозначно нужны логи.
  3. Немного обновил шапку темы, добавил комментарий под спойлером касательно изменений в одном из последних патчей в связи с переходом на AS3. На рабочий бланк-пример пока не хватает сил и времени.
  4. Немного обновил шапку темы, добавил батники для Windows, в комплекте с необходимыми екзешниками. Система работает по принципу drag&drop нужного файла на соответствующий действию батник.
  5. Хотелось бы увидеть логи в нашей студии... По поводу центровки, я тоже что-то с этим бубном танцевал одно время, походу небольшой косяк с самими картинками... или маркеры техники не отцентрованы, уже не помню, в конфиге есть оффсеты, можешь отцентровать сам, как тебе надо, или вообще картинку запатчить. Upd. Пересмотрел еще раз на реплее. Указанных на скрине багов замечено не было, клиент у меня чистый. На приведенном скрине наблюдается также баг с несоответствием маркера сведения и направления ствола. Возможно, у тебя просто вылетел какой-то важный кольцевой колобок (бесконечный цикл с задержкой между тактами).
  6. Вообще данный тест планировался на прошлый патч, но из-за обновления клиента немного задержался, поскольку выкладывать за пару дней до обновы смысла особого не было. Как раз таки разобрался более-менее с AAS и XModLib, вот добрался и до маркеров. Конечно, это альфа-версия и есть еще чего допилить, но пожалуй можно уже поделиться бинарниками с желающими это потестить. Как уже упоминалось выше, с "оригинальной" версией, что я последний раз выкладывал хотфиксами, есть следующие различия: 1. Изначально все запилено немного по-другому, точнее мод по сути работает как плагин миникарты, типа тех, что использует картоха для отрисовки тех же маркеров танков, с таким подходом удалось избавиться от лишних костылей и таки убрать прямую связь между кодом, обслуживающим миникарту и всем остальным кодом. 2. За счет использования описанного выше подхода, автоматически обрабатываются все события изменения состояния игрока, например вступление в динамический взвод автоматически добавляет новым совзводным маркер, если оный включен в конфиге. Причем опять же, все делается без применения лишних хуков и костылей. 3. За счет использования своей флешки и своих классов маркеров возможен полный контроль над графикой маркеров, т.е. можно поставить любую картинку на любую категорию маркеров, главное только ее правильно отскейлить и транслировать в конфиге, т.е. определить параметры масштабирования и смещения, для позиционирования центра картинки в центре маркера. 4. Как и в прошлом варианте как все маркеры глобально, так и отдельные группы могут управляться хоткеями. Например, можно сделать отображение маркеров пока удерживается какая-то клавиша на клавиатуре. Возможно будет полезно тем, у кого миникарта и так загружена. 5. В силу ограничений конфига на задание функций, определение своих групп маркеров (т.н. фильтров) через конфиг недоступно. Но вполне можно сделать это через незначительные правки исходника, который уже давненько так лежит в на гитхабе. 6. Для каждой из групп графика определяется отдельно, т.е. возможно сделать отображение маркеров совзводных и маркеров противников разными указателями. 6.1. Вся графика располагается на отдельном слое миникарты, так что положение/перекрытие маркеров довольно строго определено. Индекс child'а прописан в коде правда, если будет необходимо - вынесу в конфиг. Это все-таки тест, как-никак :) 7. Графика маркеров больше никак не связана со старым добрым уголком и теперь не требуется его редактирование для изменения маркера, соответственно и маркер камеры остается невредимым, да и лишних указок не появляется. Короче, совместимость с различными миникартами и минус один большой старый костыль, от которого у многих (в частности юзеров альтернативной миникарты) неслабо так подгорало. 8. Ну и в общем-то ответ на вопрос, который тут многие будут спрашивать - а как вернуть старый добрый уголок? Все просто, в конфиге в нужной секции в параметр graphics/source прописать battleAtlas:PersonalGreenDirection (идентификатор стандартного уголка в файлах картохи), скейл и оффсет у него стандартные 0.75 0.75 и -26.0 -58.0 соответственно. 9. Еще один ответ на очевидный вопрос - как поменять картинку - ответ тоже прост - пропатчить атлас. Изначально атлас собирался этим скриптом в процессе сборки проекта, но для его запуска нужны руки и питон. В принципе, единственное отличие от формата, который понимает CCAtlas - это вложенные пути, на процесс чтения в моде это никак не влияет. Чтобы не париться с распаковкой (хотя все решается просто созданием папки markers вручную), исходники можно взять тут. Под какими именами это все упакуется потом - неважно, главное пропишите в конфиг свои имена в атласе правильно. MinimapGunMarkers:markers/ally ни что иное как картинка с идентификатором "markers/ally" в атласе с именем файла "MinimapGunMarkers", локация стандартная, рядом с batleAtlas. А описанный выше battleAtlas:PersonalGreenDirection... ну думаю понятно. Можно хоть по одной картинке в атлас закидывать, только вот лишнее пустое поле в атласе... оно производительности не добавляет. 10. Не хватает наверное только блекджека и ... ну может еще чего по мелочи. В общем, сами файлы. Опять же, это тест, так что убедительная просьба файлы за пределы темы не репостить. Да, и либа нужна для работы мода. Там половина кода от мода будет наверное, не меньше :) XModLib.zip MinimapGunMarkers.zip
  7. @ahwa, наверное, скобки (вызов) пропустил, не?
  8. Достали блин спамеры уже, имейте совесть, уважайте людей.
  9. Интересно, что за "особенности площадки" и что за "инструменты", если я правильно понял смысл, имеются ввиду? А то уж больно неконкретно ты выразился. На андроиде это сделано для того, чтобы определить, что данное приложение было последний раз отредактировано именно автором, а не каким-то Васей, вложившим туда рекламу/вирус/майнер... Можно вообще отключить проверку подписей на девайсе, ЕМНИП, или подписать своим сертификатом. Вообще по этой теме лучше общаться на 4pda, там более грамотный народ сидит (это не реклама).
  10. И так для всех ресурсов... Ну ты понял, к чему я.
  11. В общем, поправил баг с фантомными панелями при перемотке реплеев, впилил фикс маркера в снайперском для арты, добавил диапазон расстояния для корректировки дальномера по данным цели, переместил парсинг хоткеев из обработки в чтение конфига, поправил пару мелких багов. XModLib.zip AdvancedAimingSystem.zip Upd. Немного поправил текст первого поста, а то удаленная картинка как-то не очень хорошо смотрится. Попутно добавил немного комментариев, почистил лишнее. Файлы в шапке не обновлял, еще тест в процессе.
  12. По сути пакеты нужно прописывать в paths.xml между res_mods и основными ресурсами. Тогда все будет ок. Если убирать res_mods - то по сути мододелам нужна папка для пофайлового хранения ресурсов, ибо пересобирать весь пакет из-за одного файла - это бред, особенно для тех, у кого пакет весит по 500 мегабайт и более. Этой папкой сейчас служит res_mods. Возвращаемся в исходную точку. Так что res_mods однозначно нужна, пусть она и не будет основной папкой для модов, но без нее разработка по крайней мере будет весьма проблематична для некоторых категорий мододелов. Опять же остается вопрос - если переходить на пакеты, куда складывать конфиги? Сейчас они у части модов лежат рядом с файлами, у части вынесены в res_mods/configs. Смысл неизменяемости в том, что пакет не должен писать сам в себя и в другие пакеты. При обновлении понятное дело он будет меняться, но менять его будет либо автоматизированная система, либо юзеры вручную.
  13. Это паспортные максимальные вперед и назад. Я бы так не сказал, в свое время я делал подобную вещь, давно правда, еще до того, как ДМ слился из-за скрипта прицела под модпак чей-то. Делалось путем подстановки реальной скорости танка на красный круг. Правда в паблике этот плагин (т.к. он работал через элементы AAS) никогда не светился... Там всего строк 5-7 кода было. При реализации достаточно точного соответствия кругов скорости по времени полета и скорости цели все прицеливание сводится к постановке прицела так, чтобы цель находилась на краю рассчитанного по ней круга с расчетом ее проезда через центр круга плюс поправка на высоту цели (чтобы не заводить за цель), что мод умеет делать уже давно. По сути это уравнение 4й степени по расчету упреждения ты решаешь сам интуитивно подстановкой, ведь определяется время до той точки, куда ты целишься, круг показывает расстояние, которое пройдет цель, двигаясь с текущей скоростью, т.е. по равномерно прямолинейно движущемуся танку упреждение будет весьма и весьма точным. Как по мне арта и так самый простой для освоения класс техники. У нее по сути стрельба по движущейся цели единственное на что требуется скилл, и то очень многое решает рандом. Тут очень не хватает того видоса от артохейтера джова, где конь кидает вообще мимо и делает ваншот топового тяжа в начале раунда. Баланс, ёпт! Давать нубам указатель стрельбы - ну это вообще зачем играть тогда, если мозг вообще не нужен, тупо жамкай одну кнопку и все. Неспроста однако их однокнопочными называют :) Разрабы очень сильно накосячили, дав арте медленное сведение и плохую точность, большое кд и плохую подвижность. Первое у небарабанных (считай почти у всех кроме артобата 10) арт убивает мотивацию переезжать, разве что антитрассерный маневр делать, ибо с их медленностью при переезде падает и без того небольшой эффективный ДПМ - пока переедешь и пересведешься кд уже давно закончится. Второе убивает желание у опытных игроков на них играть, туда же до кучи снижается эффективность противоартиллирийских маневров обычной техники, так как сбитие артиллериста с толку мало что дает - снаряд управляется рандомом, а не прицелом. (Как показывает практика, даже если ты и картонный, но очень сильно ерзаешь взад-вперед и не стоишь на месте, опытный артиллерист поищет цель получше, ну максимум раз-два кинет мимо и успокоится. Снаряды и время боя тоже нерезиновые.) Из-за этого на большинстве арт геймплей это тупое стоялово на базе, даже если ты захочешь приложить мозги и что-то придумать - вряд ли что получится, тем более что непонятно, где твои нубосоюзники сольются раньше. Что касается реализации данного момента, все-таки прихожу к выводу, что если и делать, то добавочным плагином, кому нужно - добавят самостоятельно. Но опять же, если и будет, учитывая что я написал уже выше - КТТС.
  14. Ну можно все, вопрос в том насколько напряжно. В данном случае, если не привязываться к конкретному прицелу ДМ - нужно рисовать флешку. В принципе, код на время полета снаряда у меня уже есть, в панельке сведения используется, скорость танка это тоже в принципе, вопрос в масштабе этих кругов в прицеле, и в их рисовании. КТТС, если найду способы адекватной реализации... И не слишком ли имбоватая фича, кидать тупо на ход по кругу, как думаете?
  15. Попробуй подкорректировать size, он НЯП настраивался мною исходя как раз таки из размеров текста. Подложка ЕМНИП просто растягивается до размеров панели.
  16. Видимо потому, что для чтения этих файлов используется ResMgr, и система работает примерно как подстановка в paths.xml. Ну если я не прав, тут вроде разработчик появлялся, поправит :) Да и при обращении к сжатому архиву это либо лишняя нагрузка на оперативу, для кеширования, либо на хард (кэширование), что по сути то же самое, что и в несжатом виде хранить, либо это дикие потери производительности на рандомное обращение к харду (хард в более-менее современных компах считай наверное самый медленный девайс из активно используемых) + время на декомпрессию. Не у всех же SSD :) Явно неспроста все эти хитрые танцы с упаковкой ресурсов почти в любой тяжелой игре.
  17. Насчет круга сведения в снайперском для арты - нашел откуда ноги растут, по крайней мере на реплее круг появился. Причина простая, картоха его тупо не создает, т.к. не рассчитывает, что кто-то в снайперский на арте зайти сможет. Нужно еще немного потестить и запилить по-нормальному. Upd. Впилил лимиты по расстоянию до цели для автоматической корректировки в режиме сопровождения цели (каламбур немного) для снайперского и аркадного режимов прицеливания, о которых шел разговор пару страниц назад, по части задирания пушки в аркадном режиме. Насколько будет эффективно - покажет тест :) Доработал немного читалку конфига, теперь хоткеи парсятся в процессе чтения конфига при запуске игры, теперь из-за них (неправильно прописанный хоткей в конфиге, ошибки парсинга) не должно больше быть огромного количества мусора в логе и залипаний обработчика клавиатуры в бою. Изменились имена параметров в конфиге - делайте сравнение. Немного переименовал картинку фона панельки сведения, добавил немного комментариев в секцию настройки графических элементов, прописал основные особенности настройки GUI. Обнаружил один небольшой баг - при перемотке реплея назад остаются фантомы панелек, где-то накосячил или вообще пропустил деструктор, надо будет пофиксить. Еще один баг уже пофиксил - в коде ручной корректировки в арт режиме была опечатка. Не знаю, сколько времени она уже висит, но странно, что ее никто не заметил. Народ, заходите хотя бы иногда в логи, делайте Ctrl+F в поле прописывается "Traceback" если что-то находится, смотрите последнюю строку блока со словом File, если видите AAS - кидайте пост на форум или мне в личку. Я уже давно не катаю, и не могу эффективно отлавливать баги подобного типа, особенно те, что можно поймать только в реальном бою или в трене. Нашел кстати чисто случайно, когда фиксил маркер орудия в снайперском у арты.
  18. Корректировка по цели дает +0,5 (или как настроишь) на пустом месте. Особенности векторности поправки уже рассматривал ранее. Корректировка не работает при наведении на танк, дабы не суммироваться с картохиной. При активации ignoreVehicles картохин алгоритм отключается, и его место занимает корректировка из мода. При отключении корректировки по цели наведение будет в землю вне зависимости от наведения на танк, если активировано ignoreVehicles.
  19. @StranikS_Scan, ну у кого что болит, тот о том и говорит :) Народ попросил обновить репо. Я обновил. Соберут сами или нет - особого значения для меня не имеет, ибо большинство юзает бинарники. Необходимость закоммитить изменения и немного прибраться - это вторая причина обновления репо. Так что убил двух зайцев сразу. Если ты не видишь в этом простой причинно-следственной связи - ну я не виноват. Ты только главное это, психиатром себя не объявляй, а то точно приедут заберут. Если админ не пропишет РО за провокацию ср**ей в теме раньше :)
  20. А у меня что кто-то изредка забегает в тему и не шибко читает посты... Народ спросил - я скинул. А соберут сами или нет, и вообще умеет ли тут кто-то пользоваться гитом вообще - меня как-то не особо напрягает... все равно большинство просто качает бинарники. З.Ы. Все равно надо было бы уже закоммиттить изменения. Заодно прибрался немного в репо.
  21. Как доберусь до правок. Пока занимаюсь либой, выкидываю мусор, оптимизирую код. Перед началом чего-то одного нужно закончить что-то другое :) Но вроде немного прибрался, хотя все же осталось немного, чего надо допилить. То, что я выкладывал выше, это по сути промежуточная сборка "по быстрому" с "грязного каталога" на промежуточной стадии где-то. Закинул тестовые коммиты в отдельную ветку testing в репозитории либы по просьбам населения. Немного изменил структуру, заменил ветку update на alpha и beta. Сразу предупреждаю, что содержимое testing может рибейзиться в процессе (форс пуш), ибо название говорит само за себя, так что... Выложил опять же, по просьбам населения. На текущий момент либа в репозитории топовая, т.е. локально пока больше ничего не правил. Аналогично сделал с ветками и для AAS, но есть с чем разобраться в плане коммитов, пуш будет позже. Из того, что ты написал, от себя добавлю, что нужно выносить парсинг хоткеев в чтение конфигов, ибо при ошибках это порождает не очень хорошие вещи в виде кучи мусора в логе. Upd. Пропушил AAS в ветку testing. Те, кто умеет собирать, могут попробовать это сделать, ибо у меня рабочий каталог сейчас чистый, т.е. я все что было пропушил. Опять же, все что писал выше к репо AAS тоже относится. Необходимый wg_battle.swc можно взять из найтликов XFW, XModLib.swc - это как раз тот "ненужный файл из билда XModLib". Только брать его нужно от сборки последнего коммита XModLib, т.е. сначала придется собрать XModLib, взять оттуда файлик для флешки, и уже потом собирать AAS. Если брать питон XModLib своей сборки, нужно отключить VCS либы для мода, иначе будет ругаться мол неправильная либа. В хедере прописать вместо '0.1.2' прописать None. Ну это для тех, кто сам собрать может. Чуть позже скину бинарники. Upd 2. В общем. Собрал из того что было. По идее, должно завестись, но не факт. XModLib.zip AdvancedAimingSystem.zip З.Ы. Папки не обновлял, так что сами там уже переместите куда надо.
  22. Во-первых, сейчас идет тест, соответственно ждать стейбла в мастере смысла особого пока нет, по крайней мере, пока не закончится тест всего того дела, что я впилил за последнее время, во-вторых, там есть ветка update, куда сливается все что есть в наличии, что достаточно проработано и протестировано предварительно, чтобы выкладывать, в-третьих, последний билд сделан по быстрому с "грязного каталога", в-четвертых, картошка как всегда уже достала с частыми патчами, в-пятых, сейчас в процессе переработка некоторых модулей в либе, AAS нормально будет собираться потом, в-шестых, немного занят в другой сфере, так сказать, уже писал в теме про это, чуть выше (разбираюсь с программированием МК, и не только программированием).
  23. Он нестабилен, в этом билде плагин с ним исключен из сборки. Если ты про захват цели в автоприцел через текстуры.
×
×
  • Create New...