Kradar Posted October 7, 2014 Share Posted October 7, 2014 Товарищи, а что не так с 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 Кто нибудь с таким сталкивался? Как решали? @ Quote Link to comment Short link Share on other sites More sharing options...
coJlHe4Hblu_noH4uk Posted October 7, 2014 Share Posted October 7, 2014 Кто нибудь с таким сталкивался? Как решали? from gui.WindowsManager import g_windowsManager Ошибка точно не тут. А что вообще импортируете? @ Quote Link to comment Short link Share on other sites More sharing options...
Kradar Posted October 7, 2014 Author Share Posted October 7, 2014 (edited) Ошибка точно не тут. А вот не знаю. Провел эксперимент: Удалил все моды. Создал файл res_mods\0.9.3\scripts\client\gui\Scaleform\locale\__init__.py с единственной строчкой: from gui.WindowsManager import g_windowsManager Скомпилировал этот файл и запустил WoT. Картина та же. Сами попробуйте. Edited October 7, 2014 by Kradar @ Quote Link to comment Short link Share on other sites More sharing options...
coJlHe4Hblu_noH4uk Posted October 7, 2014 Share Posted October 7, 2014 __init__.py А в чем особая надобность именно в __init__.py это делать? @ Quote Link to comment Short link Share on other sites More sharing options...
Kradar Posted October 7, 2014 Author Share Posted October 7, 2014 А в чем особая надобность именно в __init__.py это делать? Это я ради эксперимента упростил мод до одного файла, содержащего одну строчку. А изначально эта проблема была обнаружена вовсе не в__init__.py. А вообще - почему нет? Результат-то везде одинаков. @ Quote Link to comment Short link Share on other sites More sharing options...
coJlHe4Hblu_noH4uk Posted October 7, 2014 Share Posted October 7, 2014 @Kradar, кинул в \World_of_Tanks\res_mods\0.9.3\scripts\client\mods\SampleMod.pyc import BigWorld from gui.WindowsManager import g_windowsManager Запустил WoT, всё гуд. Лог норм: /------------------------------------------------------------------------------------------------------------------------\ BigWorld Release Client (compiled at 15:29:52 Sep 3 2014) starting on Tue Oct 07 22:54:40 2014 Content Type: content Checking ./res_mods/0.9.3: mods found Load mods: SampleMod [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. [SPACE] Loading space: spaces/hangar_premium_v2 PostProcessing.Phases.fini() \------------------------------------------------------------------------------------------------------------------------/ @ Quote Link to comment Short link Share on other sites More sharing options...
MakcT40 Posted October 7, 2014 Share Posted October 7, 2014 Запустил WoT, всё гуд.В данном случае строка import BigWorld даже и не обязательна. :) @ Quote Link to comment Short link Share on other sites More sharing options...
coJlHe4Hblu_noH4uk Posted October 7, 2014 Share Posted October 7, 2014 @MakcT40, шаблон. Ну не ругается же. @ Quote Link to comment Short link Share on other sites More sharing options...
Kradar Posted October 7, 2014 Author Share Posted October 7, 2014 Запустил WoT, всё гуд. А мой вариант у вас какой результат давал? Лог норм: Ваш вариант у меня выдал такое: /------------------------------------------------------------------------------------------------------------------------\ 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() \------------------------------------------------------------------------------------------------------------------------/ Т.е. нету строчки: Load mods: SampleMod Почему? @ Quote Link to comment Short link Share on other sites More sharing options...
AtotIK Posted October 9, 2014 Share Posted October 9, 2014 Загрузчик модов не закинул на своё место скорее всего. @ Quote Link to comment Short link Share on other sites More sharing options...
Kradar Posted October 9, 2014 Author Share Posted October 9, 2014 Загрузчик модов не закинул на своё место скорее всего. Э... Какой загрузчик? Кроме файла res_mods\0.9.3\scripts\client\mods\SampleMod.pyc должно быть еще что-то? @ Quote Link to comment Short link Share on other sites More sharing options...
AtotIK Posted October 9, 2014 Share Posted October 9, 2014 В "res_mods\0.9.3\scripts\client" должен быть CameraNode.pyc с содержимым: import BigWorld class CameraNode(BigWorld.UserDataObject): def __init__(self): BigWorld.UserDataObject.__init__(self) def load_mods(): import ResMgr, os, glob print 'WoT Mod Loader Started...' sec = ResMgr.openSection('../paths.xml') subsec = sec['Paths'] vals = subsec.values()[0:2] for val in vals: mp = val.asString + '/scripts/client/mods/*.pyc' for fp in glob.iglob(mp): _, fn = os.path.split(fp) sn, _ = fn.split('.') if sn != '__init__': print 'Executing: ' + sn try: exec 'import mods.' + sn except Exception as e: print e load_mods() В "res_mods\0.9.3\scripts\client\mods"должен быть __init__.pyc с содержимым: pass В любом моде на Python есть эти файлы, возможно с немного другим содержимым CameraNode.pyc, но суди это не меняет. 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Kradar Posted October 9, 2014 Author Share Posted October 9, 2014 ../paths.xml А что это за файл? Он тоже нужен? Зачем такие огороды нагорожены? @ Quote Link to comment Short link Share on other sites More sharing options...
Azbuka Posted October 9, 2014 Share Posted October 9, 2014 А что это за файл? Он содержит информацию о папках с ресурсами игры. Он тоже нужен? Обязательно. Без него игра не может понять, откуда загружать ресурсы. Зачем такие огороды нагорожены? Для универсальности. Патчи проходят, a CameraNode остаётся. @ Quote Link to comment Short link Share on other sites More sharing options...
Kradar Posted October 9, 2014 Author Share Posted October 9, 2014 Обязательно. Без него игра не может понять, откуда загружать ресурсы. Хм... И где его брать? @ Quote Link to comment Short link Share on other sites More sharing options...
coJlHe4Hblu_noH4uk Posted October 9, 2014 Share Posted October 9, 2014 @Kradar, любой модпак типа жопвмодпак. @ Quote Link to comment Short link Share on other sites More sharing options...
AtotIK Posted October 9, 2014 Share Posted October 9, 2014 Kradar, содержимое привёл же. Скомпилируй только. @ Quote Link to comment Short link Share on other sites More sharing options...
Azbuka Posted October 10, 2014 Share Posted October 10, 2014 Хм... И где его брать? Он есть в корневой папке клиента игры. Копировать ничего не нужно. Вам нужен только загрузчик, код которого выше. @ Quote Link to comment Short link Share on other sites More sharing options...
Kradar Posted October 14, 2014 Author Share Posted October 14, 2014 В итоге, я заменил простенький загрузчик - res_mods\0.9.3\scripts\client\gui\Scaleform\locale\__init__.py на тот, что тут советовали - res_mods\0.9.3\scripts\client\CameraNode.py. Теперь g_windowsManager импортируется без проблем. Всем огромное спасибо! Однако, было бы здорово, если бы кто-то смог логично объяснить, в чем была причина всего этого безобразия. @ 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.