Kradar
User-
Posts
30 -
Joined
-
Last visited
Everything posted by Kradar
-
Как правильно импортировать g_windowsManager?
Kradar replied to Kradar's topic in ActionScript & Python
В итоге, я заменил простенький загрузчик - res_mods\0.9.3\scripts\client\gui\Scaleform\locale\__init__.py на тот, что тут советовали - res_mods\0.9.3\scripts\client\CameraNode.py. Теперь g_windowsManager импортируется без проблем. Всем огромное спасибо! Однако, было бы здорово, если бы кто-то смог логично объяснить, в чем была причина всего этого безобразия. -
Как правильно импортировать g_windowsManager?
Kradar replied to Kradar's topic in ActionScript & Python
Хм... И где его брать? -
Как правильно импортировать g_windowsManager?
Kradar replied to Kradar's topic in ActionScript & Python
А что это за файл? Он тоже нужен? Зачем такие огороды нагорожены? -
Как правильно импортировать g_windowsManager?
Kradar replied to Kradar's topic in ActionScript & Python
Э... Какой загрузчик? Кроме файла res_mods\0.9.3\scripts\client\mods\SampleMod.pyc должно быть еще что-то? -
Как правильно импортировать g_windowsManager?
Kradar replied to Kradar's topic in ActionScript & Python
А мой вариант у вас какой результат давал? Ваш вариант у меня выдал такое: /------------------------------------------------------------------------------------------------------------------------\ BigWorld Release Client (compiled at 15:29:52 Sep 3 2014) starting on Wed Oct 08 00:58:05 2014 Content Type: content Checking ./res_mods/0.9.3: mods found [NOTE] (scripts/common/fortified_regions.py, 188): fortified_regions.init() [WARNING] (scripts/common/DestructiblesCache.py, 478): Failed to read fractureEffect name in content/Environment/env414_Pole/normal/lod0/env414_Pole.model [WARNING] (scripts/common/DestructiblesCache.py, 478): Failed to read touchdownEffect name in content/Environment/env414_Pole/normal/lod0/env414_Pole.model [WARNING] (scripts/common/DestructiblesCache.py, 478): Failed to read fractureEffect name in content/Environment/env414_Pole/normal/lod0/env414_Pole10.model [WARNING] (scripts/common/DestructiblesCache.py, 478): Failed to read touchdownEffect name in content/Environment/env414_Pole/normal/lod0/env414_Pole10.model [NOTE] (scripts/client/post_processing/__init__.py, 267): The quality = 2 was selected. [NOTE] (scripts/client/post_processing/__init__.py, 267): The quality = 3 was selected. PostProcessing.Phases.fini() \------------------------------------------------------------------------------------------------------------------------/ Т.е. нету строчки: Почему? -
Как правильно импортировать g_windowsManager?
Kradar replied to Kradar's topic in ActionScript & Python
Это я ради эксперимента упростил мод до одного файла, содержащего одну строчку. А изначально эта проблема была обнаружена вовсе не в__init__.py. А вообще - почему нет? Результат-то везде одинаков. -
Как правильно импортировать g_windowsManager?
Kradar replied to Kradar's topic in ActionScript & Python
А вот не знаю. Провел эксперимент: Удалил все моды. Создал файл res_mods\0.9.3\scripts\client\gui\Scaleform\locale\__init__.py с единственной строчкой: from gui.WindowsManager import g_windowsManager Скомпилировал этот файл и запустил WoT. Картина та же. Сами попробуйте. -
Товарищи, а что не так с g_windowsManager? Как его правильно импортировать? Я пытаюсь так: from gui.WindowsManager import g_windowsManager Но мне говорят: Traceback (most recent call last): File "scripts/client/Account.py", line 10, in <module> File "scripts/client/ConnectionManager.py", line 9, in <module> File "scripts/client/predefined_hosts.py", line 13, in <module> File "scripts/client/gui/shared/__init__.py", line 3, in <module> File "scripts/client/gui/shared/server_events/EventsCache.py", line 17, in <module> File "scripts/client/gui/shared/server_events/modifiers.py", line 15, in <module> File "scripts/client/gui/shared/server_events/formatters.py", line 14, in <module> File "C:\Path\To\Project\Core\src\Scaleform\locale\__init__.py", line 6, in <module> import gui.qwerty File "C:\Path\To\Project\Core\src\qwerty\__init__.py", line 7, in <module> from gui.WindowsManager import g_windowsManager File "scripts/client/gui/WindowsManager.py", line 5, in <module> File "scripts/client/BattleReplay.py", line 21, in <module> ImportError: cannot import name connectionManager Кто нибудь с таким сталкивался? Как решали?
-
Товарищи, я тут уже писал, что если мод открывает сокеты, но не закрывает их, то при попытке пользователя закрыть клиент (в бою или в ангаре, через меню или по Alt-F4 - не важно) он повиснет в процессах. Вопрос: по какому событию можно отследить попытку пользователя закрыть клиент, чтобы вовремя закрыть сокет?
-
Дублирующиеся вызовы, вылеты и зависание в процессах.
Kradar replied to Kradar's topic in Modding General Discussion
Ничего там трудного, кроме вашей жажды добраться до исходников. По порядку: Это вызвано тем, что мод не закрывал сокет. При попытке закрыть игру, клиент какое-то время ждет закрытия всех соединений. В Python-коде было много неиспользуемых импортов т.е. код, который их использовал, давно закомментирован или удален, а импорты остались. Импорты в Python -штука опасная тем, что в импортируемых файлах может быть код прямого исполнения. Забудете почистить импорты - будете долго гадать о причинах всяких странностей. Эта странность пропала сама и я не нашел ей объяснения. -
Дублирующиеся вызовы, вылеты и зависание в процессах.
Kradar replied to Kradar's topic in Modding General Discussion
Да я понял уже. Он сегодня доступ к исходникам у меня выпытывал. :) У меня, скорее всего, открытый сокет мешается. Позже расскажу. -
Дублирующиеся вызовы, вылеты и зависание в процессах.
Kradar replied to Kradar's topic in Modding General Discussion
Кстати... Если в этот момент посмотреть на процесс игры через анализ цепочки ожидания в мониторе ресурсов, то там можно увидеть, что... А через какое-то время в логе появится строчка: ...и процесс завершит работу. Что бы это могло значить? -
Дублирующиеся вызовы, вылеты и зависание в процессах.
Kradar replied to Kradar's topic in Modding General Discussion
Это ваш логгер или есть что-то стандартное? А, эти... Этим просто лень снисходить и кому-то что-то объяснять. -
Дублирующиеся вызовы, вылеты и зависание в процессах.
Kradar replied to Kradar's topic in Modding General Discussion
Пробовал. Не ловится туда ничего. Да и по логам было бы видно, если бы были какие-то необработанные исключения. А тут по логам видно только то, что... И вот это волнует меня больше всего. Я решительно не понимаю как и почему это происходит. Думаю, дело в том, что мало у кого она есть. Чем делиться, когда сам толком нифига не понимаешь? Нет, это вполне логичное предположение. Но как его проверить? -
Товарищи, мне на доработку дали один препаршиво написанный мод. Мод весьма сложен - GUI в ангаре и в бою, Python, взаимодействие с серверной частью... т.е. переписать с нуля - не вариант. Нужно было просто пофиксить болячки. Часть я пофиксил, но я решительно не понимаю, что делать с основной проблемой - общей нестабильностью мода. Проявляется она в следующем: После выхода из игры WoT частенько подвисает в процессах, не оставляя в логе ничего подозрительного. Иногда, WoT падает, опять же не оставляя в логе ничего подозрительного. Обычно, это происходит при выходе из боя в ангар. Временами, когда Python вызывает какую-то Flash-функцию в GUI ангара, эта функция вызывается дважды. По крайней мере, я делаю такой вывод из лога, в котором вижу повторяющиеся записи. Как правило, это приводит к вылету из WoT, но иногда игра может выдержать 2-3 таких дублирующихся вызова. Вы стакивались с подобным? Как решали? Известны ли какие-то типовые причины возникновения таких ситуаций или типовые решения?
-
У-у-у... ептить! Сколько там всего интересного открывается. Спасибо! Только "тотал коммандером" - не айс. Рекомендую IntelliJ IDEA.
-
Т.е. вы хотите сказать, что при разработке XVM не используются других методов отладки - только логи, только хардкор? Что используют раздаботчики WG - никто не знает и не интересуется? Ребят, кто-то из вас занимался проф. разработкой приложений на базе Flash/Flex/AIR или Python? Вас не напрягает такой скудный инструментарий отладки?
-
Почему? Все именно так плохо. Можно что-то принтить в лог. И все. Как узнать, например, что у тебя необработанный эксепшен в AS3? Никак.
-
М-да... Грустно. Как-то даже не верится, что с таким инструментарием можно отлаживать что-то серьезное, наподобие XVM.
-
Товарищи, подскажите наиболее эффективные методы отладки модов. Разработку модов для WoT я изучаю совсем недавно и для меня ситуация с отладкой выглядит совсем печально. Сами судите: Python: Как подключить к нему отладчик, я не знаю. Это возможно? Эксепшенов нигде не видно. Можно принтить что-то в python.log. AS3/2: Как подключить к нему отладчик, я не знаю. Сомневаюсь, что есть способ, но таки спрошу. Это возможно? Эксепшенов нигде не видно. Трейсы не работают. Или работают? Я их не нашел. Где они? Можно связаться с питоном, чтобы он напринтил что-то в python.log. Ко всему этому, еще и после каждой правки нужно перезапускать клиент WoT. Финиш! Что, все и правда так печально? Или есть возможность организовать процесс отладки более удобным образом?
-
Выход из боя в ангар и текущие результаты боя
Kradar replied to Kradar's topic in Modding General Discussion
Это я уже смотрел. Там доступность результата боя проверяется отдельным потоком в бесконечном цикле. Это несколько расходится с моими представлениями о хорошем программировании. Т.ч. я теперь сомневаюсь - автор сделал это по некомпетентности или по-другому это сделать просто невозможно. Этим и вызван мой вопрос. -
Выход из боя в ангар и текущие результаты боя
Kradar replied to Kradar's topic in Modding General Discussion
А вот если вышел из боя (или даже ушел в другой бой), из какого события достать его результаты? -
Выход из боя в ангар и текущие результаты боя
Kradar replied to Kradar's topic in Modding General Discussion
Я видел код, но не понял до конца и не думал, что оно тупо с маркеров. М-да... :) Ну, ладно. А по этому вопросу... ...что-то сказать можете? Просто хочется получить достоверный исходящий урон для каждого участника боя (или хотя бы свой), не заставляя игрока сидеть в бою до его окончания. Это вообще возможно?