SkepticalFox Posted July 24, 2016 Share Posted July 24, 2016 (edited) Нужно маркеры отдебажить, остальное потом.Стрелки у противников отображаются) Edited July 24, 2016 by ShadowHunterRUS @ Quote Link to comment Short link Share on other sites More sharing options...
GPCracker Posted July 24, 2016 Author Share Posted July 24, 2016 (edited) Стрелки у противников отображаются)Скрин в студию можно? Ооо, уже годно) Ща будем копать как указки отключить. Не, точнее я знаю, что нужно вызвать, теперь нужно понять как. Edited July 24, 2016 by GPCracker @ Quote Link to comment Short link Share on other sites More sharing options...
SkepticalFox Posted July 24, 2016 Share Posted July 24, 2016 (edited) Ооо, уже годно)да Edited July 24, 2016 by ShadowHunterRUS @ Quote Link to comment Short link Share on other sites More sharing options...
GPCracker Posted July 24, 2016 Author Share Posted July 24, 2016 (edited) А с союзниками что?Всмысле? Показывается только для арты, совзводных и противников. Первых двух на скрине нет. Ну точнее показывает для кого настроишь... Если ты про "будет ли работать для..." - будет для кого сделаешь. Там пофигу вообще. Матрих провайдер правильный покажи и работать будет :) Как убрать маркеры под иконки - нужно создавать свой контейнер скорее всего, тут уже не для хотфикса дело. Edited July 24, 2016 by GPCracker @ Quote Link to comment Short link Share on other sites More sharing options...
SkepticalFox Posted July 24, 2016 Share Posted July 24, 2016 (edited) Всмысле? Показывается только для арты, совзводных и противников. Первых двух на скрине нет. Ну точнее показывает для кого настроишь... Да я просто увидел tag ally и подумал, что союзники, а там ally + SPG оказывается) на выходе из реплея клиент крашится. Exception AttributeError: "'NoneType' object has no attribute 'containerManager'" in <bound method MinimapEntry.__del__ of <gui.mods.mod_MinimapGunMarkers.MinimapEntry object at 0x32B8E910>> ignoredНадо проверять g_appLoader.getDefBattleApp() на None Edited July 24, 2016 by ShadowHunterRUS @ Quote Link to comment Short link Share on other sites More sharing options...
Polar Fox Posted July 24, 2016 Share Posted July 24, 2016 Ща будем копать как указки отключить. Не, точнее я знаю, что нужно вызвать, теперь нужно понять как. Так убрать её с символа камеры и всё. self.__minimapEntryManager.addEntry(vehicleID, settings.ENTRY_SYMBOL_NAME.ARCADE_CAMERA, settings.CONTAINER_NAME.PERSONAL, combinedMP, True) self.__minimapEntryManager.getEntry(vehicleID).invoke('hideDirectionLine') И startVisual для союзников в начале боя вызывается раньше, чем создается компонент миникарты, поэтому не взлетит, а для противников уже работать будет. @ Quote Link to comment Short link Share on other sites More sharing options...
GPCracker Posted July 24, 2016 Author Share Posted July 24, 2016 (edited) на выходе из реплея клиент крашится.На выходе из реплея он и так выходит... А то что исключение в __del__ - они игнорятся, и это прям написано. Забей, главное чтобы реальных вылетов не было. Короч, поправил вроде указки, сейчас их быть не должно. Эта тестовая версия, и работает некорректно, нужна рабочая - ищите ниже. MinimapGunMarkers_0.9.15.1CT_alpha_#3.zip self.__minimapEntryManager.getEntry(vehicleID).invoke('hideDirectionLine')Уже вкурил :) @Polar Fox, вы там наверное уже этот мод вдоль и поперек выучили :) И startVisual для союзников в начале боя вызывается раньше, чем создается компонент миникартыТам по-нормальному фиксить надо, и переделывать половину (давно уже собираюсь, только руки не доходят), пока пытаемся пофиксить как-нибудь. Edited July 24, 2016 by GPCracker @ Quote Link to comment Short link Share on other sites More sharing options...
Polar Fox Posted July 24, 2016 Share Posted July 24, 2016 Polar Fox, вы там наверное уже этот мод вдоль и поперек выучили :) Скорее - наступал на те же грабли) @ Quote Link to comment Short link Share on other sites More sharing options...
AtotIK Posted July 24, 2016 Share Posted July 24, 2016 (edited) В бой не пустило: 2016-07-24 16:23:13.243: ERROR: Traceback (most recent call last): 2016-07-24 16:23:13.244: ERROR: File "scripts/client/gui/battle_control/arena_info/listeners.py", line 479, in __loadSpaceCallback 2016-07-24 16:23:13.244: ERROR: File "scripts/client/gui/battle_control/arena_info/listeners.py", line 514, in __onSpaceLoadCompleted 2016-07-24 16:23:13.244: ERROR: File "scripts/client/gui/battle_control/arena_info/listeners.py", line 102, in _invokeListenersMethod 2016-07-24 16:23:13.244: ERROR: File "scripts/client/gui/battle_control/controllers/arena_load_ctrl.py", line 28, in spaceLoadCompleted 2016-07-24 16:23:13.244: ERROR: File "scripts/client/Avatar.py", line 684, in onSpaceLoaded 2016-07-24 16:23:13.244: ERROR: File "scripts/client/Avatar.py", line 2751, in __onInitStepCompleted 2016-07-24 16:23:13.244: ERROR: File "scripts/client/Avatar.py", line 1251, in __startVehicleVisual 2016-07-24 16:23:13.244: ERROR: File "MinimapGunMarkers.py", line 751, in new_Vehicle_startVisual 2016-07-24 16:23:13.244: ERROR: File "MinimapGunMarkers.py", line 654, in onVehicleStart 2016-07-24 16:23:13.244: ERROR: File "MinimapGunMarkers.py", line 703, in __updateMarkers 2016-07-24 16:23:13.244: ERROR: File "MinimapGunMarkers.py", line 689, in __addVehicleGunMarker 2016-07-24 16:23:13.244: ERROR: File "MinimapGunMarkers.py", line 481, in addEntry 2016-07-24 16:23:13.244: ERROR: File "MinimapGunMarkers.py", line 459, in __init__ 2016-07-24 16:23:13.244: ERROR: File "MinimapGunMarkers.py", line 456, in getMinimapComponent 2016-07-24 16:23:13.244: ERROR: AttributeError: 'NoneType' object has no attribute 'getContainer' 2016-07-24 16:23:13.244: ERROR: Exception AttributeError: "'NoneType' object has no attribute 'getContainer'" in <bound method MinimapEntry.__del__ of <gui.mods.mod_MinimapGunMarkers.MinimapEntry object at 0x3B09E050>> ignored Странно, но меня ни в бой, ни в реплеи не пускает. Сразу краш с такой ошибкой. Версия #3. Клиент 0.9.15.1CT. Стрелки у противников отображаются)У тебя, судя по никам над танками, не CT. Edited July 24, 2016 by AtotIK @ Quote Link to comment Short link Share on other sites More sharing options...
GPCracker Posted July 24, 2016 Author Share Posted July 24, 2016 В бой не пустило:Ну понятно И startVisual для союзников в начале боя вызывается раньше, чем создается компонент миникарты, поэтому не взлетит, а для противников уже работать будет.Как вариант можно мягко пропустить, а потом просто релоад сделать. Как вариант можно мягко пропустить, а потом просто релоад сделать.Или просто отключить для союзников, тогда проблема как-бы решается. Вобщем, тут как ни городи, получается костыль. Чтобы запилить по-нормальному - нужно переделывать логику. Тогда уже проще сделать это при нормальном обновлении. Пока предлагаю просто реально не использовать маркеры для союзников, либо включать их после прогрузки миникарты хоткеем. @ Quote Link to comment Short link Share on other sites More sharing options...
SkepticalFox Posted July 24, 2016 Share Posted July 24, 2016 подписаться на событие регистрации миникарты и после этого делать релоад норм же) @ Quote Link to comment Short link Share on other sites More sharing options...
Polar Fox Posted July 24, 2016 Share Posted July 24, 2016 (edited) Или просто отключить для союзников, тогда проблема как-бы решается. Или засунуть на время до переделки костыль типа такого. В теории должно работать для всех. mod_MinimapGunMarkers.rar Edited July 24, 2016 by Polar Fox @ Quote Link to comment Short link Share on other sites More sharing options...
SkepticalFox Posted July 24, 2016 Share Posted July 24, 2016 У тебя, судя по никам над танками, не CT.реплей не с CT... @ Quote Link to comment Short link Share on other sites More sharing options...
AtotIK Posted July 24, 2016 Share Posted July 24, 2016 Или засунуть на время до переделки костыль типа такого. В теории должно работать для всех. 2016-07-24 17:21:21.653: ERROR: NameError: global name 'g_appLoader' is not defined @ Quote Link to comment Short link Share on other sites More sharing options...
GPCracker Posted July 24, 2016 Author Share Posted July 24, 2016 (edited) подписаться на событие регистрации миникарты Или засунуть на время до переделки костыль типа такого.Ну тоже вариант. Только там утечка будет. Нада пофиксить. Ща запилю :) Надеюсь, на этот раз взлетит нормально, а то я чет уже устал это фиксить. Эта тестовая версия, и работает некорректно, нужна рабочая - ищите ниже. MinimapGunMarkers_0.9.15.1CT_alpha_#4.zip Заюзал немного подсказок от @Polar Fox Edited July 24, 2016 by GPCracker @ Quote Link to comment Short link Share on other sites More sharing options...
Polar Fox Posted July 24, 2016 Share Posted July 24, 2016 (edited) 2016-07-24 17:21:21.653: ERROR: NameError: global name 'g_appLoader' is not defined Поправил в сообщении выше (не заметил что эти импорты только внутри функций). Edited July 24, 2016 by Polar Fox @ Quote Link to comment Short link Share on other sites More sharing options...
AtotIK Posted July 24, 2016 Share Posted July 24, 2016 (edited) #4 работает уже. Это радует. Однако в лог сыпет тонной: 2016-07-24 17:59:08.469: ERROR: Exception AttributeError: "'NoneType' object has no attribute 'getContainer'" in <bound method MinimapEntry.__del__ of <gui.mods.mod_MinimapGunMarkers.MinimapEntry object at 0x16452090>> ignored Цифры в object at всегда разные. И вот это: 2016-07-24 18:01:22.765: ERROR: Traceback (most recent call last): 2016-07-24 18:01:22.765: ERROR: File "scripts/client/gui/Scaleform/framework/entities/BaseDAAPIComponent.py", line 56, in registerFlashComponent 2016-07-24 18:01:22.765: ERROR: File "scripts/client/gui/Scaleform/framework/entities/BaseDAAPIComponent.py", line 112, in __fireRegisteringEvent 2016-07-24 18:01:22.765: ERROR: File "scripts/client/gui/shared/event_bus.py", line 42, in handleEvent 2016-07-24 18:01:22.765: ERROR: File "MinimapGunMarkers.py", line 650, in __onComponentRegistered 2016-07-24 18:01:22.766: ERROR: ReferenceError: weakly-referenced object no longer exists Edited July 24, 2016 by AtotIK @ Quote Link to comment Short link Share on other sites More sharing options...
SkepticalFox Posted July 24, 2016 Share Posted July 24, 2016 (edited) ReferenceError: weakly-referenced object no longer existsВ __del__ нужно было добавить g_eventBus.removeListener(events.ComponentEvent.COMPONENT_REGISTERED, self.__onComponentRegistered) Edited July 24, 2016 by ShadowHunterRUS @ Quote Link to comment Short link Share on other sites More sharing options...
GPCracker Posted July 24, 2016 Author Share Posted July 24, 2016 (edited) Однако в лог сыпет тоннойЭто потому что поменяли порядок деструкции. Могу впилить try/except, если тебе от этого станет легче. Это исключение все равно игнорится, там же написано. И вот это:А вот это называется защита от утечки памяти. Я заюзал слабую ссылку, чтобы объект нормально уничтожался при выходе из боя. И он уничтожается. Потому (я так полагаю, ты поймал это во втором бою) и вылетает такая ошибка. Если его оттуда не прибрать - будет двойная обработка и утечка памяти. Надо будет добавить удаление колобка из ивента. В принципе проксю можно и у класса сохранить. В __del__ нужно было добавить g_eventBus.removeListener(events.ComponentEvent.COMPONENT_REGISTERED, self.__onComponentRegistered)Потому что ивент будет удерживать жексткую ссылку на объект, а __del__ (почитай доки) срабатывает когда ссылок на объект не осталось, т.е. объект просто никогда не будет уничтожен, каждый бой будет создаваться новый, будет утечка памяти и возможно умножение нагрузки. Но начет удаления колобка - я уже написал (точнее писал пока ты свой пост писал). Нужно больше костылей, посоны! Edited July 24, 2016 by GPCracker @ Quote Link to comment Short link Share on other sites More sharing options...
AtotIK Posted July 24, 2016 Share Posted July 24, 2016 (edited) @GPCracker, а просто убрать из лога это можно? Что бы не какало тоннами. Вроде бы стрелки рисовались раньше под иконкой класса техники? В принципе всё равно. Edited July 24, 2016 by AtotIK @ Quote Link to comment Short link Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.