AntonVK
-
Posts
156 -
Joined
-
Last visited
-
Days Won
13
Posts posted by AntonVK
-
-
Флэш для часов я починил.
Вот эти две ошибки устранены. В лог больше не гадит.
2019-06-04 02:56:26.154: ERROR: ArgumentError: Error #1063: Argument count mismatch on hClock instance constructor. Expected from 1 to 1, got 0. at hClock instance constructor() at scaleform.clik.core::UIComponent instance constructor() at net.wg.infrastructure.base::UIComponentEx instance constructor() at net.wg.infrastructure.base.meta.impl::BaseDAAPIComponentMeta instance constructor() at net.wg.infrastructure.base::BaseDAAPIComponent instance constructor() at net.wg.infrastructure.base.meta.impl::AbstractViewMeta instance constructor() at net.wg.infrastructure.base::AbstractView instance constructor() at hangarClock instance constructor() 2019-06-04 02:56:26.263: ERROR: TypeError: Error #1009: Cannot access a property or method of a null object reference.
Мне пришлось внести достаточно изменений, так что пока в сыром виде, но можете пользоваться, это уже рабочий вариант. Я просто позже приведу в порядок код флеша, там сейчас помойка небольшая.
Теперь дело за калькулятором, там тоже до фига
- 10
-
Сильно поломался флэш. Как теперь правильно инициализировать свой код в клиент - непонятно.
Я пока не сдаюсь, попробую разобраться, но вероятность того, что часы с калькулятором этот патч не переживут, высокая. Увы.
P.S. Я хоть и айтишник, но не разработчик и к сфере программирования отношения практически не имею. Да и от сферы мододельства весьма далёк, в изменениях в коде вг ориентируюсь крайне плохо. Поэтому мне сложно разобраться и переварить весь объем информации по коду. Так что, прошу не обижаться, пытаюсь в меру своих возможностей.
- 4
-
Добрый день.
Прошу прощения, но на данный момент исправить не удаётся.
Что-то очень много поменялось в клиенте, я не знаю, как можно включить отладку в wot, а действия вслепую к успеху не приводят.
Если будут какие-то мысли, я постараюсь исправить. Но пока увы...
- 2
-
Добрый день!
Скоро все приведу в порядок.
Прошу прощения.
- 5
-
Доброе утро!
Скоро данной модификации будет 5 лет. Мод тех времен, когда Серб говорил - ужас какой, а Крута - страдай пидарас, твои мучения радуют нас)
Тогда, 5 лет назад, я делал для себя калькулятор и была идея опубликовать для всех.
logos.swf - тогда с этого все начиналось.
К дню рождения мода, то есть, публикации на официальном форуме и на форуме koreanrandom - подготовлю немного ностальгии и выложу весь проект в исходных кодах.
- 13
-
On 2/12/2019 at 10:35 AM, Ekspoint said:
это не альтернативный, а скорее самый правильный, то как ты раньше грузил это устаревший вариант
Понятно. Позволю себе спросить, каким образом узнаёшь, так сказать, правильные методы взаимодействия своих модов с интерфейсом ВГ? Разбор кода вг? Ориентируешься на XVM?
Принципы работы своего кода AS3 в среде WoT можно в целом понять, изучая декомпилированный код ВГ. Но вот сама интеграция, как найти необходимый рабочий метод вызова - всегда было загадкой. Тем более, они нередко меняются. В своё время какие-то куски понаходил на просторах форума здесь, но как отслеживать эти изменения остаётся загадкой.
Ещё один момент. Может знаешь какие-нибудь способы отладки модов, конкретнее, меня интересует debug log для python и as3. Буду очень признателен хотя бы за намёк, куда можно посмотреть, в сторону каких инструментов, а то я действую практически вслепую и не могу исправить некоторые существующие недочёты.
-
Доброй ночи!
Актуальные обновления в шапке.
Я изменил нумерацию в названии модов, думаю, так будет понятнее, в каком патче вносились изменения. (ранее было удобно для некоторого внутреннего учёта, но я вряд-ли буду вносить какие-то ощутимые правки в часы)
Огромное спасибо товарищу Ekspoint !!! Без него я бы вряд-ли быстро нашёл новый способ инициализации флэшек в лобби, увы, в форуме давненько не копаюсь. ( Или это просто альтернативный метод? И использовавшийся в прежних скриптах забывать не стоит? )
- 2
-
On 2/7/2019 at 12:42 PM, Silver Raven said:
Утверждают, что кто-то спалился?: "DDOS или WorldOfTanks - самая страшная DDOS игра"
Ждем опровержения, с доказательствами, естественно. Которые, как известно только одни - открытый исходный код. Чего уж точно не будет, а на меня сейчас выльют ушат говна. Если автор создал фейк - аналогично, доказываем почему он не прав, иначе бурления будут долгими. Лучше сразу все прояснить.
З.Ы. Ах да, и в шапку всех проектов прикрепить, иначе отбоя от злых граждан не будет.
немного не понял, в чём проблема? У меня мод даже обфускации не подвержен. Python просто в лёт декомпилируется, флэшки тоже декомпилируются, но уже без смысловых субстанций. Нужно флэш проект тоже в открытые запульнуть? )
23 minutes ago, Ekspoint said:флеш норм, просто картошка из Flash ничего не передает
С 0.9.18 началсиь следующие проблемы:
- мод исчезает из ангара, не всегда, но бывает часто, при преждеверменном выходе из боя, если убили, например
- при загрузке игры в окне выбора сервера нужн тыркать 2 раза
- нет фокуса в боевом интерфейсе в чате по кнопке Enter, если ткунть мышкой, то всё норм
так вот первый пункт решается пересборкой флэшэк, под актуальный патч. В качестве исходников я использую декомпилированные скрипты от WG от XVM/
2 других пункта - я не знаю, в чём дело.
В принципе, ничего не имею против публикации исходников, где-нибудь, на github. Здесь много опытных мододелов, в отличии от меня (я практически не слежу за изменениями из-за нехватки времени, мне сложно быстро вникнуть)
- 2
-
Добрый день!
Я обновлю мод в выходные. Пересоберу флэшки и исправлю скрипты.
За подсказки в изменениях python спасибо.
- 1
-
В патче 1.3 работает. Пока в обновлении смысла нет.
- 4
-
4 hours ago, Ekspoint said:
old_init = Flash.__init__ def new_init(self, swf, *args, **kwargs): old_init(self, swf, *args, **kwargs) if swf == 'lobby.swf': self.addListener(events.AppLifeCycleEvent.INITIALIZED, lambda e: AppStarted(self, e)) Flash.__init__ = new_init
вот и все
Большое спасибо за оперативную подсказку!
Обновлено до текущей версии игры. Флэшки также обновлены. Обновления в шапке.
- 3
-
2 hours ago, Nowik1971 said:
Под сегодняшний патч 1.2.0 будет обнова?. а то они там опять с флешкой сто-то натворили, не работает!!!
Антон спасибо тебе заранее!!!
Добрый вечер!
Что-то поломалось. Постараюсь разобраться побыстрее.
- 3
-
On 6/14/2018 at 3:55 PM, Mixaill said:
Попробуйте
Михаил, ещё раз спасибо за помощь, совместно с XVM работает.
- 1
-
Обновил шапку.
Для 1.0.2.3 актуально.
- 3
-
7 hours ago, AntonVK said:
Доброе утро. Просьба проверить работу с XVM. Если всё ок - обновлю шапку.
Кто-нибудь проверял с XVM? всё нормально? У меня скорее всего будет возможность потестировать в выходные, а если всё ок и так - то обновлю тему.
Сам мод я проверял, в ангаре, сыграл бой, всё работает, но на XVM времени не хватило, на работу надо было. Если всё хорошо у пользователей XVM, то тестировать с XVM не буду.
- 2
-
Доброе утро. Просьба проверить работу с XVM. Если всё ок - обновлю шапку.
- 7
-
On 6/14/2018 at 3:55 PM, Mixaill said:
Попробуйте
Добрый день! Спасибо за ответ, не было возможности заниматься! попробую в ближайшее время, хотя уже очевидно, это должно помочь.
- 1
-
On 7/7/2018 at 7:06 PM, Nowik1971 said:
под патч 1.0.2.0 будет обнова? Очень нравится мод.!!!
Спасибо автору и +++
Ну, что там адаптация получается с ХВМ? Очень удобные часики, но проклятое ХВМ все крушит, что-нибудь надо сделать... видел мод, у которого с ХВМ работают часы в ангаре, но там наверное не флешка... У Полярного Лиса (Антон) мод статистика по танкам в ангаре и часы в этом моде с днем недели. но мне твое оформление больше нравится... Жду!!!
Обновление будет. Пока не было возможности даже в танки заходить. С XVM мне ответил разработчик, как исправить, так что должно получиться.
- 4
-
Just now, ЛОМ said:
вот эта проблема.
Понял. Ну это скорее всего что-то в PMOD поменялось.
-
4 minutes ago, ЛОМ said:
кстати в этом патче проблема эта исчезла)))
Какая именно проблема имеется в виду?
-
Добрый день!
Достаточно продолжительное время поддерживаю мод
Каких-либо ярко выраженных проблем с модом никогда не было, но в рамках последних патчей начались не совсем понятные вещи.
Не так давно стали жаловаться пользователи 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?
- каким образом ангарные моды могут соприкасаться с боевым интерфейсом?
Также, буду очень признателен, если укажите тынц, как можно организовать подробное логирование загрузки модов и вывода ошибок с небольшим примером.
Благодарю за внимание!
-
Поставил XVM посмотреть.
Часы и калькулятор пропали (кстати, клиент просто очевидно сильно дольше грузится с XVM).
В логах python.log и xvm.log чисто.
Такое ощущение, что мод всё-таки загрузился, но xvm вносит некоторые изменения в методы инициализации и флэшки просто не отображаются.
К большому сожалению, я не знаю, как вывести подробное логирование о загрузке модов (беглый просмотр форума мне не помог), поэтому приходится гадать вслепую.
Попробую обратиться в соответствующий раздел, может быть куда более компетентные мододелы и разработчики xvm мне помогут.
P.S. Не могу пользоваться XVM и смотреть на эти унизительные красно-коричневые циферки в ангаре, клац, клац ))
- 3
-
6 minutes ago, refaol said:
Проверил по отдельности, ни калькулятор ни часы не работают, По отдельности тоже не работают. Проверял на последней ночной сборке, кроме хvm ничего не ставил.
5 minutes ago, krok65 said:Подтверждаю,не работает.Он с прошлого патча перестал работать.Причем работал,но были при загрузке в бой у меня периодические проблемы (не загружался бой).Искал виновника,удалил и часы.Не они виной были.Решил вернуть их назад,но они уже не отобразились.Наверно конфликт в чем-то с XVM.
Крайне мало уверенности, что смогу это поправить. Кроме того, уже давно существует проблема неотображения, после выхода из боя. Причём, может случится один раз за весь патч, а может по нескольку раз за игровую сессию (переключаешься далее между серверами - всё норм). Что характерно, при компиляции модов я использую декомпилированные исходники вг, доступные на dev.modxvm.com, чтобы собрать саму флешку.
Очень плохо, что совсем не ясно как получить детальную отладку и собрать детальные логи, приходится тыкаться вслепую.
Времени у меня, к сожалению, мало очень, но я почитаю форум здесь, может что-то изменилось серьёзно в процессе загрузки или ещё что в этом роде. Сам код часов и калькулятора вряд-ли что-то портит. думаю, дело именно в коде инициализации флешек в ангаре.
- 1
-
14 minutes ago, refaol said:
похоже с тестовой сборкой ХВМ не дружит, на чистом клиенте все хорошо
C XVM вообще не работает? Ни калькулятор, ни часы по отдельности? Не так давно проблемы с ПМОД начались, теперь вот с XVM.
[1.21.0.x] Цифровые часы, аналоговые часы и калькулятор в ангаре (с конфигом)
in Mods and Software
Posted · Edited by AntonVK
Спасибо, но есть нюансы. Я для компиляции использую исходники кода WG из XFW. Флэш вмешательства требовал крайне редко на самом деле и в фактически неизменном виде существовал очень давно, обычно ломались питон скрипты через патч.
Часы сейчас рабочие, дошли руки заняться калькулятором. Ну и я хочу внести некоторые изменения.
А вот библиотеки у меня не подключались из gui.pkg/gui/flash/swc, про это я знаю, хотя сейчас я думаю делаю тоже самое, только вместо swc файлов использую декомпилированные из набора XFW.
В любом случае, имеет смысл попробовать снова подключить библиотеки, но вначале разберусь с калькулятором.