Перейти к содержимому
Korean Random

AntonVK

Пользователь
  • Публикации

    112
  • Зарегистрирован

  • Посещение

  • Дней в лидерах

    2

Последний раз AntonVK выиграл 26 октября 2016

Публикации AntonVK были самыми популярными!

Репутация

230 ⭐⭐

О AntonVK

  • День рождения 27.05.1980

Основная информация

  • Пол
    Мужчина

Контакты

  • Ник
    AntonVK
  • Сервер WoT
    RU / CIS

Посетители профиля

2 653 просмотра профиля
  1. Понял. Ну это скорее всего что-то в PMOD поменялось.
  2. Какая именно проблема имеется в виду?
  3. Добрый день! Достаточно продолжительное время поддерживаю мод Каких-либо ярко выраженных проблем с модом никогда не было, но в рамках последних патчей начались не совсем понятные вещи. Не так давно стали жаловаться пользователи PMOD, что у них, при определённой конфигурации PMOD, возникает артефакт в виде темного прямоугольника в боевом!!! интерфейсе игры в случае совместного использования с моими модами (здесь более подробные комментарии о проблеме и конфигурации PMOD http://forum.worldoftanks.ru/index.php?/topic/1241669-102x-часы-и-калькулятор-в-ангаре-с-конфигом/page__st__240#topmost). Проблема так и не была решена. И вот, в последнем актуальном патче мод перестал работать совместно с XVM. Пробовал ставить XVM, в логах python.log и xvm.log никаких, проясняющих данную ситуацию записей нет. Вроде как, согласно логам, мод загрузился, потом загрузился XVM и всё должно быть нормально. тем не менее, элементы моих модификаций в ангаре не отображаются. При этом, на чистом клиенте, мои модификации работают. К сожалению, я не располагаю большим ресурсом времени на доскональное изучение кода WG и не могу сам разобраться в проблеме. Также, я так и не понял, как сделать детальное логирование подгрузки модов, поэтому приходиться гадать почти вслепую. Поэтому прошу помощи более компетентных мододелов и разработчиков XVM. Как мне кажется, проблема заключается в методах инициализации и загрузки моих модификаций. Сейчас я поступаю следующим образом Python скрипт # import os # from gui.app_loader.loader import g_appLoader from gui.Scaleform import SCALEFORM_SWF_PATH from gui.Scaleform.Flash import Flash from gui.Scaleform.framework import g_entitiesFactories, ViewSettings, ViewTypes, ScopeTemplates from gui.Scaleform.framework.entities.abstract.AbstractViewMeta import AbstractViewMeta from gui.Scaleform.framework.entities.View import View from gui.Scaleform.framework.managers.loaders import SFViewLoadParams from gui.shared import events class hangarClock(View, AbstractViewMeta): def __init__(self): View.__init__(self) def _populate(self): View._populate(self) def _dispose(self): View._dispose(self) def py_log(self, text): print('[hangarClock]: %s' % text) def py_getWoTPath(self): __WoT__ = os.path.dirname(os.path.abspath(__file__)) __WoT__ = __WoT__[0:__WoT__.rfind('scripts')] return __WoT__ _windowAlias = 'hangarClock' _url = 'hangarClock.swf' _type = ViewTypes.WINDOW _event = None _scope = ScopeTemplates.GLOBAL_SCOPE _settings = ViewSettings(_windowAlias, hangarClock, _url, _type, _event, _scope) g_entitiesFactories.addSettings(_settings) old_init = Flash.__init__ def new_init(self, swf, className = 'Flash', args = None, path = SCALEFORM_SWF_PATH): old_init(self, swf, className, args, path) if swf == 'lobby.swf': self.addListener(events.AppLifeCycleEvent.INITIALIZED, lambda e: AppStarted(self, e)) Flash.__init__ = new_init def AppStarted(self, event): g_appLoader.getApp().loadView(SFViewLoadParams(_windowAlias, _windowAlias)) Код AS3, в котором далее непосредственно вызывается код моей модификации package { import flash.display.MovieClip; import flash.events.Event; import net.wg.gui.lobby.LobbyPage; import net.wg.infrastructure.base.AbstractView; import net.wg.infrastructure.events.LoaderEvent; import net.wg.infrastructure.interfaces.IView; public class hangarClock extends AbstractView { public function hangarClock() { super(); this.init(); } public var py_log:Function; public var py_getWoTPath:Function; private var lobby:LobbyPage = null; private var current_alias:String = ""; private var zClock:hClock; private function init(param1:Event = null):void { if(!stage) { addEventListener(Event.ADDED_TO_STAGE,this.init); return; } removeEventListener(Event.ADDED_TO_STAGE,this.init); App.containerMgr.loader.addEventListener(LoaderEvent.VIEW_LOADED,this.onViewLoaded); } private function onViewLoaded(param1:LoaderEvent):void { this.processView(param1.view,false); } private function processView(param1:IView, param2:Boolean):void { var view:IView = param1; var populated:Boolean = param2; var _WoT_:String = py_getWoTPath(); try { this.zClock = new hClock(_WoT_); this.current_alias = view.as_config.alias; if(this.current_alias == "lobby") { this.lobby = view as LobbyPage; this.lobby.header.addChild(this.zClock); //py_log("is loaded"); } } catch(error:Error) { py_log("processView" + error.getStackTrace()); } } override protected function nextFrameAfterPopulateHandler():void { if(this.parent != App.instance) { (App.instance as MovieClip).addChild(this); } visible = false; } } } Компиляцию я осуществляю в Adobe Flash Professional, используя декомпилированный код WG из актуального XFW. Если не затруднит, просьба прокомментировать: является ли верным и актуальным на сегодняшний день вышеописанный метод инициализации и загрузки своих флэшек? что такого произошло в последнем патче, что модификации перестали работать совместно с XVM, хотя раньше подобной проблемы не наблюдалось? Это какие-то кардинальные изменения самого XVM или кода WG? каким образом ангарные моды могут соприкасаться с боевым интерфейсом? Также, буду очень признателен, если укажите тынц, как можно организовать подробное логирование загрузки модов и вывода ошибок с небольшим примером. Благодарю за внимание!
  4. Поставил XVM посмотреть. Часы и калькулятор пропали (кстати, клиент просто очевидно сильно дольше грузится с XVM). В логах python.log и xvm.log чисто. Такое ощущение, что мод всё-таки загрузился, но xvm вносит некоторые изменения в методы инициализации и флэшки просто не отображаются. К большому сожалению, я не знаю, как вывести подробное логирование о загрузке модов (беглый просмотр форума мне не помог), поэтому приходится гадать вслепую. Попробую обратиться в соответствующий раздел, может быть куда более компетентные мододелы и разработчики xvm мне помогут. P.S. Не могу пользоваться XVM и смотреть на эти унизительные красно-коричневые циферки в ангаре, клац, клац ))
  5. Крайне мало уверенности, что смогу это поправить. Кроме того, уже давно существует проблема неотображения, после выхода из боя. Причём, может случится один раз за весь патч, а может по нескольку раз за игровую сессию (переключаешься далее между серверами - всё норм). Что характерно, при компиляции модов я использую декомпилированные исходники вг, доступные на dev.modxvm.com, чтобы собрать саму флешку. Очень плохо, что совсем не ясно как получить детальную отладку и собрать детальные логи, приходится тыкаться вслепую. Времени у меня, к сожалению, мало очень, но я почитаю форум здесь, может что-то изменилось серьёзно в процессе загрузки или ещё что в этом роде. Сам код часов и калькулятора вряд-ли что-то портит. думаю, дело именно в коде инициализации флешек в ангаре.
  6. C XVM вообще не работает? Ни калькулятор, ни часы по отдельности? Не так давно проблемы с ПМОД начались, теперь вот с XVM.
  7. Доброе утро! Обновлено до текущей версии игры. Обновления в шапке.
  8. В основном для создания модов используют Python2 и AS3 Смотря кого декомпилировали. некоторые авторы защищают, мои моды в этом топике ничем не защищены, ни python скрипты, ни флэш.
  9. Проблема с пмодом подробно описана товарищем с оф. форума. Что интересно, характерна только для одного варианта конфига пмода. Аналогичной проблемы, прямоугольник в интерфейсе, я не помню. Была проблема - курсор зависал намертво. но это было после изменений в патче. Если что-то и решалось вдруг с пмодом, то я вно не с моей стороны. Без понятия, как часы и калькулятор соприкасаются с боевым интерфейсом. Может они и не соприкасаются, но флешки и скрипты то всё равно грузятся и соприкасаются.
  10. It's no Python, it's AS3. All elements are in the separate text boxes and all except date and day of the week are centered by default inside this text boxes. The output format <format>{HH}:{mm}:{ss}</format> is not implemented now as there were problems with separator behavior in some cases with some fonts. Now, it's calculated in the next way, for example: - clockHrs text box width is 36 px (centered by default) - clockSep1 text box width is 10 px (centered by default) - clockMin text box width is 36 px (centered by default) When only output the digits - everything is ok. But when you type some addition symbols the width of the text box becomes greater, for example clockMin text box becomes 48 px instead of 36. But aligning by center is working and you can see your picture. I drew a table in MS World to illustrate this behavior. Now, I have no time to correct this. The only and simple way is to add an additional text box, where you can put you symbols. написал на оф форуме, но к сожалению конфликты с другимим модами будет решить сложно.
  11. There is no way to change the position of the semicolon separator. It depends on font family, font size and automatically calculated by formula. clockSep1.visible = true; clockSep1.width = clockSep1.textWidth + 2; if(clockSep1.width < 10) { clockSep1.width = 10; } clockSep1.height = clockSep1.textHeight; clockSep1.x = clockHrs.x + clockHrs.width; clockSep1.y = clockHrs.y; clockSep1.defaultTextFormat = clockTextFormat; clockSep1.embedFonts = true; In your screenshot it's look like space symbol is typed in the configuration file <formatHrs>{HH}</formatHrs> <formatHrs>{HH} </formatHrs>
  12. Добрый вечер! Обновлено до текущей версии игры.
  13. Не работает. Пишет в лог вот так 2017-08-29 10:38:53.888: ERROR: Traceback (most recent call last): 2017-08-29 10:38:53.888: ERROR: File "scripts/client/gui/Scaleform/framework/application.py", line 421, in onAsInitializationCompleted 2017-08-29 10:38:53.888: ERROR: File "scripts/client/gui/Scaleform/framework/entities/EventSystemEntity.py", line 7, in fireEvent 2017-08-29 10:38:53.888: ERROR: File "scripts/client/gui/shared/event_bus.py", line 45, in handleEvent 2017-08-29 10:38:53.888: ERROR: File "mod_hangarClock", line 50, in <lambda> 2017-08-29 10:38:53.888: ERROR: File "mod_hangarClock", line 55, in AppStarted 2017-08-29 10:38:53.888: ERROR: File "scripts/client/gui/Scaleform/framework/application.py", line 325, in loadView 2017-08-29 10:38:53.888: ERROR: File "scripts/client/gui/Scaleform/framework/managers/containers.py", line 1014, in load 2017-08-29 10:38:53.888: ERROR: AttributeError: 'str' object has no attribute 'viewKey' Буду пытаться понять что опять поменялось и как это исправить. Проблема локализована. В течении сегодняшнего дня постараюсь обновить мод. Обновлено до текущей версии игры. Обновления в шапке.
  14. Обновления для текущей версии игры в шапке. Теперь работает из пакетов .wotmod. Версия для res_mods более поддерживаться не будет ВНИМАНИЕ! Если в текущей версии игры пользовались версией для res_mods, перед обновлением её необходимо удалить, иначе игра не загрузится. Конфиги теперь будут находится в <путь установки игры>\World_of_Tanks\mods\configs\AntonVK. Свои можно переносить туда и заменять, в формате ничего не изменилось.
  15. У меня всё работает нормально с обновлением из этого поста https://koreanrandom.com/forum/topic/13505-09171-часы-и-калькулятор-в-ангаре-с-конфигом/?p=383104 Пока, увы, нет времени заняться. Но обновляться буду.
×