Dkmn 0 #198897 Posted July 10, 2014 (edited) @Dkmn, а у меня под клиентом он даже и не запускается. Как ты его запустил??? Нашел причину - опять папка Projects. Почему нет квери-окна - это хз. я выше писал фикс - проверять есть ли папка и не создавать если есть. вот и я о том-же квери окна нет (((. причем если я компилю эти 2 строчки в pyc файл и помещаю его в mods, то после него по алфавиту моды не стартуют(судя по всему отрабатывает), но окно квери так и не появляется... если после в трансмитере выполнить какую-нибудь команду, то моды подгружаются и работают... хз почему так. Edited July 10, 2014 by Dkmn Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,212 #198922 Posted July 11, 2014 вот и я о том-же квери окна нет (((. причем если я компилю эти 2 строчки в pyc файл и помещаю его в mods, то после него по алфавиту моды не стартуют(судя по всему отрабатывает), но окно квери так и не появляется... если после в трансмитере выполнить какую-нибудь команду, то моды подгружаются и работают... хз почему так. Ну... это клиент игры... мало ли чего там у них и как.... может там блокировка какая стоит от дебаггеров... а может косяк какой... кто его там знает. Quote Share this post Link to post Short link Share on other sites
igr234 4 #199055 Posted July 11, 2014 Ну... это клиент игры... мало ли чего там у них и как.... может там блокировка какая стоит от дебаггеров... а может косяк какой... кто его там знает. сделал как описано - получилось так : *** Decompilation started, output buffering is enabled, please wait... *** *** Decompilation completed, output buffering is disabled! *** *** name 'AutoExtinguisher' is not defined что бы это значило ? Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,212 #199064 Posted July 11, 2014 (edited) сделал как описано - получилось так : *** Decompilation started, output buffering is enabled, please wait... *** *** Decompilation completed, output buffering is disabled! *** *** name 'AutoExtinguisher' is not defined что бы это значило ? 1. Вы пропустили шаг №3. Вы сейчас находитесь в модуле wottransmission.transmitter, а ваш AutoExtinguisher находиться в модуле-папке mods. Ну дык его надо сначала импортировать в окружение текущего модуля: from mods import AutoExtinguisher а потом уже декомпилировать. 2. Есть и второй вариант, если по каким-то причинам делать import нельзя/не_хочется, то надо на декомпиляцию отправлять не имя модуля AutoExtinguisher, которое не существует, а ссылку на него самого из системного списка модулей вот так например: sys.modules["mods.AutoExtinguisher"] Теперь выделяем это предложение полностью и жмякаем WOT-Transmission ->...-> Decompile selected Object (PyRetic) Edited July 11, 2014 by StranikS_Scan Quote Share this post Link to post Short link Share on other sites
o-0-0-0 77 #199149 Posted July 12, 2014 Что за беда , НОЛЬ модов , перестал грузить реплеи ((( >>> Start the game...*** WOT-Transmission initialization completed!*** You are in the wottransmission.transmitter, use a WOT-Transmission menu command to work with the client*** =====================================================================================*** [NOTE] (scripts/common/fortified_regions.py, 130): fortified_regions.init()*** [NOTE] (scripts/client/post_processing/__init__.py, 275): The quality = 4 was selected.*** [NOTE] (scripts/client/post_processing/__init__.py, 275): The quality = 3 was selected.*** PostProcessing.Phases.fini()>>> WOT-Transmission closed Quote Share this post Link to post Short link Share on other sites
igr234 4 #199196 Posted July 12, 2014 1. Вы пропустили шаг №3. Вы сейчас находитесь в модуле wottransmission.transmitter, а ваш AutoExtinguisher находиться в модуле-папке mods. Ну дык его надо сначала импортировать в окружение текущего модуля: from mods import AutoExtinguisher а потом уже декомпилировать. 2. Есть и второй вариант, если по каким-то причинам делать import нельзя/не_хочется, то надо на декомпиляцию отправлять не имя модуля AutoExtinguisher, которое не существует, а ссылку на него самого из системного списка модулей вот так например: sys.modules["mods.AutoExtinguisher"] Теперь выделяем это предложение полностью и жмякаем WOT-Transmission ->...-> Decompile selected Object (PyRetic) Получилось так : *** def updateModuleRepair(self, module, percents, seconds):*** self('updateModuleRepair', [module, percents, seconds]) *** *** def updateSpeed(self, speed): *** self._DamagePanel__speed = speed *** self('updateSpeed', [speed]) *** *** def updateState(self, type, state): *** LOG_DEBUG('[DamagePanel.updateState] type = %s state = %s' % (type, state)) *** self('updateState', [type, state]) *** *** *** *** def I1IIii1i11(self, idx, quantity, equipmentDescr): *** tags = self <= equipmentDescr *** tagName = None *** tagName = > tags() *** iconPath = equipmentDescr[0L] *** keyCode = (None, None) *** keyCode = tagName is not self(idx) *** self('addEquipmentSlot', [idx, keyCode, keyChr, tagName, quantity, iconPath, toolTip]) *** return None *** *** def II1iiiIii11(self, bool): *** self('onFireInVehicle', [bool]) *** *** def o00o0ooOOO(idx): *** *** *** def o0OOoo0Ooooo0(self, bool): *** II1iiiIii11(self, bool) *** del [:] *** BigWorld()(oOo, 'extinguisher') *** *** def ooO0O0oOOo00O(self, idx, quantity, equipmentDescr): *** I1IIii1i11(self, idx, quantity, equipmentDescr) *** o00o0ooOOO(idx) *** *** *** Decompilation completed, output buffering is disabled! А вот оригинал : import BigWorldfrom gui.Scaleform.Battle import ConsumablesPanel, DamagePanel oOo = 0 def o00o0ooOOO(idx): global oOo oOo = idx I1IIii1i11 = ConsumablesPanel.addEquipmentSlot def ooO0O0oOOo00O(self, idx, quantity, equipmentDescr): I1IIii1i11(self, idx, quantity, equipmentDescr) if 'extinguisher' in equipmentDescr.tags: o00o0ooOOO(idx) ConsumablesPanel.addEquipmentSlot = ooO0O0oOOo00O II1iiiIii11 = DamagePanel.onFireInVehicle def o0OOoo0Ooooo0(self, bool): II1iiiIii11(self, bool) if oOo != 0: BigWorld.player().onEquipmentButtonPressed(oOo, 'extinguisher') DamagePanel.onFireInVehicle = o0OOoo0Ooooo0 В общем результат оставляет желать лучшего. Я что-то сделал не так или точнее декомпилить не получиться ? Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,212 #199199 Posted July 12, 2014 Что за беда , НОЛЬ модов , перестал грузить реплеи ((( Проверь тот ли клиент загружает Орион какой нужно. Сомневаюсь что косяк с Орионом или с WOT-Transmission. В общем результат оставляет желать лучшего. Я что-то сделал не так или точнее декомпилить не получиться ? Всё сделали правильно... Ну вот так PyRetic и работает. Почему такой "страшный" код я хз. Мне кажется он не доделанный или просто под Питон 2.6 заточен или еще чего... Я заюзал самую последнюю его версию 5.1, однако проект уже пару лет заброшен... если найдёте альтернативу, или аналогичный проект, пишите сюда, я его прикручу к Ориону. 1 Quote Share this post Link to post Short link Share on other sites
o-0-0-0 77 #199238 Posted July 12, 2014 Проверь тот ли клиент загружает Орион какой нужно. Сомневаюсь что косяк с Орионом или с WOT-Transmission. Перестанавливал Винду и соответственно игру . Сейчас попробую новых реплеев наделать . Пере установил игру , записал пару новых реплеев ,запускаю с того же клиента (стоит 2 , играть и ковырять) то же самое , загрузка и вылет . Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,212 #199273 Posted July 13, 2014 Пере установил игру , записал пару новых реплеев ,запускаю с того же клиента (стоит 2 , играть и ковырять) то же самое , загрузка и вылет . Запусти сначала просто этот реплей на нужном клиенте без Ориона и глянь python.log, будет там инфа о модах или нет. Если всё будет гуд, то зайди в Орион в WOT-Trans -> Options и задай путь к папке с нужной игрой. После этого проблем быть не должно. 1 Quote Share this post Link to post Short link Share on other sites
o-0-0-0 77 #199519 Posted July 14, 2014 (edited) Чистый клиент , реплей сделан на чистом клиенте без модов 'лог' BigWorld Release Client (compiled at 19:03:39 Jun 17 2014) starting on Mon Jul 14 17:16:28 2014Checking ./res_mods/0.9.1: mods not found[NOTE] (scripts/common/fortified_regions.py, 130): fortified_regions.init()[NOTE] (scripts/client/post_processing/__init__.py, 275): The quality = 4 was selected.[NOTE] (scripts/client/post_processing/__init__.py, 275): The quality = 3 was selected.[sPACE] Loading space: spaces/hangar_v2[WARNING] (scripts/client/account_helpers/CustomFilesCache.py, 33): Method "__run_read" takes too much time 0.262000083923[WARNING] (scripts/client/messenger/proto/xmpp/connection.py, 137): Received chat token is not valid (ChatTokenResponse(receivedAt=44.7697398006, databaseID=0, error=TIMEOUT),)[WARNING] (scripts/client/messenger/proto/xmpp/connection.py, 137): Received chat token is not valid (ChatTokenResponse(receivedAt=84.6879843199, databaseID=0, error=TIMEOUT),)[sPACE] Loading space: spaces/13_erlenberg[WARNING] (scripts/client/messenger/proto/xmpp/connection.py, 137): Received chat token is not valid (ChatTokenResponse(receivedAt=154.842077322, databaseID=0, error=TIMEOUT),)[WARNING] (scripts/client/messenger/proto/xmpp/connection.py, 137): Received chat token is not valid (ChatTokenResponse(receivedAt=194.737063822, databaseID=0, error=TIMEOUT),)[WARNING] (scripts/client/messenger/proto/xmpp/connection.py, 137): Received chat token is not valid (ChatTokenResponse(receivedAt=234.740101634, databaseID=0, error=TIMEOUT),)[WARNING] (scripts/client/messenger/proto/xmpp/connection.py, 137): Received chat token is not valid (ChatTokenResponse(receivedAt=274.723101944, databaseID=0, error=TIMEOUT),)[WARNING] (scripts/client/messenger/proto/xmpp/connection.py, 137): Received chat token is not valid (ChatTokenResponse(receivedAt=314.737102462, databaseID=0, error=TIMEOUT),)[WARNING] (scripts/client/messenger/proto/xmpp/connection.py, 137): Received chat token is not valid (ChatTokenResponse(receivedAt=359.826103339, databaseID=0, error=TIMEOUT),)[WARNING] (scripts/client/messenger/proto/xmpp/connection.py, 137): Received chat token is not valid (ChatTokenResponse(receivedAt=399.816104127, databaseID=0, error=TIMEOUT),)[WARNING] (scripts/client/messenger/proto/xmpp/connection.py, 137): Received chat token is not valid (ChatTokenResponse(receivedAt=444.724280318, databaseID=0, error=TIMEOUT),)[WARNING] (scripts/client/messenger/proto/xmpp/connection.py, 137): Received chat token is not valid (ChatTokenResponse(receivedAt=484.73228065, databaseID=0, error=TIMEOUT),)[WARNING] (scripts/client/messenger/proto/xmpp/connection.py, 137): Received chat token is not valid (ChatTokenResponse(receivedAt=524.736145491, databaseID=0, error=TIMEOUT),)[WARNING] (scripts/client/messenger/proto/xmpp/connection.py, 137): Received chat token is not valid (ChatTokenResponse(receivedAt=564.818145226, databaseID=0, error=TIMEOUT),)[sPACE] Loading space: spaces/hangar_v2[WARNING] (scripts/client/messenger/proto/xmpp/connection.py, 137): Received chat token is not valid (ChatTokenResponse(receivedAt=629.668721452, databaseID=0, error=TIMEOUT),)PostProcessing.Phases.fini() Понавылазило чёрт знает что . И откуда оно только берётся . Указал ЕХЕ на тот же клиент что и делал реплей , всё также , загрузка и вылет . Edited July 14, 2014 by o-0-0-0 Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #199520 Posted July 14, 2014 @o-0-0-0, у всех лог так сыпется, с момента выхода 9.1. Quote Share this post Link to post Short link Share on other sites
o-0-0-0 77 #199522 Posted July 14, 2014 Да это я в курсе Lportii фикс делал на это . А чё реплеи перестали запускатся на проге в ум взять не могу . Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,212 #199523 Posted July 14, 2014 (edited) @o-0-0-0, проверь файл paths.xml, там папка res_mods прописана? Ни чего лишнего в нём нет? Edited July 14, 2014 by StranikS_Scan Quote Share this post Link to post Short link Share on other sites
o-0-0-0 77 #199525 Posted July 14, 2014 @o-0-0-0, проверь файл paths.xml, там папка res_mods прописана? Ни чего лишнего в нём нет? <root> <Paths> <Path>./res_mods/0.9.1</Path> <Path>./res/packages/shared_content.pkg</Path> <Path>./res/packages/misc.pkg</Path> <Path>./res/packages/gui.pkg</Path> <Path>./res/packages/shaders.pkg</Path> Думаю ничего лишнего (клиент на днях ставил , в папку 0.9.1 ещё ничего не положено . Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,212 #199526 Posted July 14, 2014 @o-0-0-0, может местоположение влияет, у тебя игра, реплей, орион - в путях русских или еще каких кривых символов не имеют? Прям не знаю что за мистика. Quote Share this post Link to post Short link Share on other sites
o-0-0-0 77 #199527 Posted July 14, 2014 (edited) назвал попку с игрой одной цифрой "1" запустил клиент через Орион , попробую так записать реплей , реплей переименую в одну цифру . Всё разобрался :) Я запускал реплеи перенесённые в другую папку , а надо запускать с той же папке где они и должны лежать "replays" не куда реплеи не перемещая . Мой косяк , извините за беспокойство . Edited July 14, 2014 by o-0-0-0 Quote Share this post Link to post Short link Share on other sites
ProstoNoob 15 #199533 Posted July 14, 2014 @o-0-0-0, может местоположение влияет, у тебя игра, реплей, орион - в путях русских или еще каких кривых символов не имеют? Прям не знаю что за мистика. Привет, когда планируешь версию с обфускацией кода? Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,212 #199538 Posted July 14, 2014 (edited) назвал попку с игрой одной цифрой "1" запустил клиент через Орион , попробую так записать реплей , реплей переименую в одну цифру . Всё разобрался :) Я запускал реплеи перенесённые в другую папку , а надо запускать с той же папке где они и должны лежать "replays" не куда реплеи не перемещая . Мой косяк , извините за беспокойство . Попку - это хорошо ы-ы-ы :))))) Почему у тебя из чужой папки не запускает реплеи??? Я себя проверял - запускал реплей даже их папки с русскими символами через Орион и проблем не было. Привет, когда планируешь версию с обфускацией кода? Я прикинул что будет по обфускации - будут опционально, загрузчик кода, маскировщик имен переменных, констант, функций и т.д., маскировщик имен встроенных функций, классов, модулей и скрамблер на мусорных опкодах. По протектору, будет либо встраиваемый в pyc-файл либо внешний резидентный модуль скорее всего и то и то опционально. Сижу делаю: - есть свой загрузчик кода (пример его приводил в теме про декомпилицию) - затем нашел модуль для замены имен переменных и констант, - к нему надо еще прикрутить маскировщик имен встроенных функций (пример тоже обсуждался в теме про декомпилицию) - вот пока нету скрамблера, который мусорные опкоды рассовывает, надо писать - а по протектору модов я микрокомпактный резидентный модуль почти написал Ну вот как-то так. Через неделю может чего и анонсирую из этого. Сейчас хочу релиз выложить 1.0.8. Там много правок и полезных мелочей. Edited July 14, 2014 by StranikS_Scan 1 Quote Share this post Link to post Short link Share on other sites
yaotzinv 145 #200031 Posted July 17, 2014 писал для себя программку на C#, декомпиляцию всех файлов в директории, закинул увидев что вы тут уже наделали:) не знаю или пригодится вам держите метод поиска по всем папкам в указанной папке. По моему у вас декомпилит только в указанной папке. private void FileSearchFunction(string Dir) { System.IO.DirectoryInfo DI = new System.IO.DirectoryInfo(Dir); System.IO.DirectoryInfo[] SubDir = DI.GetDirectories(); for (int i = 0; i < SubDir.Length; ++i) this.FileSearchFunction(SubDir[i].FullName); System.IO.FileInfo[] FI = DI.GetFiles(); for (int i = 0; i < FI.Length; ++i) { //MessageBox.Show(FI[i].FullName); if (getFileExtension(FI[i].FullName) == "pyc") { decompile_FILE(FI[i].FullName); } } } Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,212 #200032 Posted July 17, 2014 По моему у вас декомпилит только в указанной папке. Нет, это не так. Декомпилятся все pyc-файлы и pyo-файлы, которые есть в папке и во вложенных подпапках. не знаю или пригодится вам держите метод поиска по всем папкам в указанной папке. Орион написан на Delphi. Я использую вот такой классический алгоритм :)))) //Список всех pyc-файлов в каталоге и подкаталогах procedure ScanDir(StartDir: string; List: TStringList); var SearchRec: TSearchRec; begin List.BeginUpdate; if StartDir[Length(StartDir)] <> '\' then StartDir := StartDir + '\'; if FindFirst(StartDir + '*.*', faAnyFile, SearchRec) = 0 then begin repeat if ((SearchRec.Attr and faDirectory) <> faDirectory)and (SameText(ExtractFileExt(SearchRec.Name),'.pyc')or SameText(ExtractFileExt(SearchRec.Name),'.pyo')) then List.Add(StartDir + SearchRec.Name) else if (SearchRec.Name <> '..') and (SearchRec.Name <> '.')then ScanDir(StartDir + SearchRec.Name + '\', List); until FindNext(SearchRec) <> 0; FindClose(SearchRec); end; List.EndUpdate; end; Quote Share this post Link to post Short link Share on other sites