denis79513
User-
Content Count
23 -
Joined
-
Last visited
Everything posted by denis79513
-
Как я понимаю, команда клика по миникарте является функцией чата. Т.е. главным образом идет сообщение в чат а дополнительно анимация на миникарте, и выдрать ее оттуда нельзя. Единственный выход искать исходник анимации в swf и самому прикручивать к своему событию клика.
-
Отправка личных сообщений, создание взвода/роты
denis79513 replied to denis79513's topic in ActionScript & Python
Проблема решена -
Отправка личных сообщений, создание взвода/роты
denis79513 replied to denis79513's topic in ActionScript & Python
Ребятки, хелп в 9.17 перестало работать prbDispatcher = g_prbLoader.getDispatcher() prbDispatcher.doSelectAction(PrbAction(actionName=PREBATTLE_ACTION_NAME.SQUAD), callback=test) Ошибок не возникает, но взвод не создается. Декомпилил новый клиент, там структура папок немного изменилась, видно что перепилили функционал, но все нужные функции вроде остались, поменял пути в импортах и все вроде как должно работать но нифига( Что-то нарыл, вот так в 9.17 можно отправить приглашения, но вот взвод создавать ни в какую не хочет( entity = prbDispatcher.getEntity() entity.request(SendInvitesCtx([73730118], "Message")) -
WOT Team - сервис для автоматического поиска взвода. Часто бывает, что друзей нет онлайн и поиграть во взводе не с кем, а просаживать статистику в нынешнем рандоме не хочется. После установки мода вы сможете выбрать необходимые уровни боев и сервис автоматически подберет игроков по уровню техники, рейтингу эффективности среди пользователей сервиса и сформирует взвод. Внимание, всем игрокам, скачавшим предыдущую версию мода 2.0 просьба обновиться до версии 2.1, т.к. в версии 2.0 был обнаружен серьезный баг препятствующий формированию взвода. Хорошая новость заключается в том, что количество пользователей мода начинает расти и после перехода на версию 2.1 поиск взвода значительно ускорится. Версия мода 2.1 от 18.12.16 содержит следующие изменения: - исправлен серьезный баг, появившийся в связи с выходом патча игры, препятствующий формированию взводов, теперь все работает нормально - добавлено уведомление в ангаре о необходимости обновления мода в случае выхода новой версии, теперь не нужно заходить сюда и искать новую версию мода, ссылка на него будет доступна в ангаре Версия мода 2.0 от 15.12.16 содержит следующие изменения: - мод модифицирован для актуальной версии игры (0.9.17) - в ангар добавлена кнопка для поиска взвода, теперь не нужно помнить адрес сервиса, достаточно кликнуть на кнопку в ангаре - внесены мелкие изменения в логику работы сервиса для более быстрого подбора игроков Результат проверки мода на сайте VirusTotal: открыть в новом окне Внимание: В связи с тем что сервис только открылся, пока не наберется необходимое количество игроков, подбор игроков будет осуществляться с большим разбросом по рейтингу эффективности, для наименьшего времени ожидания формирования взвода. Так например сервис будет подбирать для вас игроков, рейтинг эффективности которых будет отличаться от вашего на +/- 50%, в дальнейшем, когда количество пользователей увеличится, процент значительно снизится и игроки будут подбираться более близкие к вам по РЭ. [СКАЧАТЬ] Тема на оф. форуме игры: ссылка
-
Отправка личных сообщений, создание взвода/роты
denis79513 replied to denis79513's topic in ActionScript & Python
... -
Отправка личных сообщений, создание взвода/роты
denis79513 replied to denis79513's topic in ActionScript & Python
Читал несколько раз уже, там кнопки, мне не нужны кнопки, я просто ссылку хочу -
Отправка личных сообщений, создание взвода/роты
denis79513 replied to denis79513's topic in ActionScript & Python
Решил проблему. Осталось последнее, насчет SystemMessages.pushMessage(). Как сделать, чтобы сообщение появлялось один раз при входе в игру и все время висело зафиксированным внизу после всех уведомлений? Ну по идее можно его добавлять каждый раз при входе в ангар но тогда много копий, к чему этот мусор. И второй вопрос, если в текст pushMessage вставить ссылку <a href=""></a> почему она не работает? -
Отправка личных сообщений, создание взвода/роты
denis79513 replied to denis79513's topic in ActionScript & Python
Смотрите, я вызываю available.set() при событии events.GUICommonEvent.LOBBY_VIEW_LOADED, при этом после available.wait() ставлю задержку на 10 секунд: def mainLoop(): while True: available.wait() time.sleep(10) .... Но когда ангар прогрузился, код уже выполнился, значит и events.GUICommonEvent.LOBBY_VIEW_LOADED и onAccountShowGUI срабатывают до прогрузки ангара, что придумать? -
Отправка личных сообщений, создание взвода/роты
denis79513 replied to denis79513's topic in ActionScript & Python
Ок, читал англоязычный вариант, не так перевел, пасиб -
Отправка личных сообщений, создание взвода/роты
denis79513 replied to denis79513's topic in ActionScript & Python
Вы тут немного перепутали с событиями. available.set() устанавливает флаг в true, что значит, что available.wait() начинает ждать пока available не станет false. Делаю так: def mainLoop(): while True: available.wait() #do_something def inHangar(self): available.clear() def inBattle(): available.set() available = threading.Event() thread = threading.Thread(target=mainLoop) thread.setDaemon(True) available.set() thread.start() g_playerEvents.onAccountShowGUI += inHangar g_playerEvents.onAvatarBecomePlayer += inBattle Но все равно что-то не так работает, цикл не повторяется -
Отправка личных сообщений, создание взвода/роты
denis79513 replied to denis79513's topic in ActionScript & Python
Ого, спасибо, особенно за предыдущее сообщение, а насчет проверки формирования, из ангара как-то можно? Собственно в бою мне это незачем. Возможно проще не проверять а подписаться на события вступления/выхода из взвода/роты/команды и менять значение переменной. -
Отправка личных сообщений, создание взвода/роты
denis79513 replied to denis79513's topic in ActionScript & Python
Еще было бы супер если бы все таки я смог как-то проверять состоит ли игрок в каком то формировании или нет, мож кто знает? -
Отправка личных сообщений, создание взвода/роты
denis79513 replied to denis79513's topic in ActionScript & Python
Отлично, собрал из этого то, что нужно, спасибо) А как насчет события выхода из игры? UPD: Нашел connectionManager.onDisconnected, в принципе мне подходит и его юзаю, но в нем уже недоступен BigWorld.player(), я так понимаю в этот момент он уже уничтожился. Может есть какое событие до connectionManager.onDisconnected в котором player еще существует? -
Отправка личных сообщений, создание взвода/роты
denis79513 replied to denis79513's topic in ActionScript & Python
Вы имели в виду onAccountShowGUI и onAccountBecomeNonPlayer? -
Отправка личных сообщений, создание взвода/роты
denis79513 replied to denis79513's topic in ActionScript & Python
JavaScript, С# в миллисекундах, php тоже вроде. Можете рассказать как пользоваться BigWorld.callback или отправьте куда нибудь, где написано. Мне нужно чтобы процесс работал на фоне когда юзер в ангаре а когда в бою приостанавливался. -
Отправка личных сообщений, создание взвода/роты
denis79513 replied to denis79513's topic in ActionScript & Python
Шикарно, благодарю. А можете еще подсказать, пытаюсь сделать фоновый процесс: def OneTick(x): while True: SystemMessages.pushMessage("5 seconds", type=SystemMessages.SM_TYPE.Information) time.sleep(x) def AddThread(self): parent(self) WotTeamWorker = threading.Thread(target=OneTick, args=(5000,)) WotTeamWorker.start() Account.onBecomePlayer = parent parent = Account.onBecomePlayer Account.onBecomePlayer = AddThread Но сообщение выводится только 1 раз. Хотя дополнительный процесс висит в диспетчере задач Аааааа, чертов питон, во всех нормальных языках время в милисекундах а тут в секундах, и я пишу 5000... Ладно, осталось по сути два вопроса: первый - проверка, состоит ли юзер в формировании, было бы неплохо если бы с этим кто помог, и второй, на какие события подписаться, чтобы гасить поток при начале боя, то есть нужно какое-то событие начало боя или клик по кнопке начала боя чтобы отрубить фоновый обработчик. Upd: событие начала боя уже не нужно. Нужно решить 2 вопроса: как проверить состоит ли пользователь в формировании, как проверить в бою сейчас игрок или нет, то есть, что бы я мог в фоновом процессе определить в бою игрок или нет, если нет то что-то делать а если да то ничего не делать, чтобы не создавать нагрузки. -
Отправка личных сообщений, создание взвода/роты
denis79513 replied to denis79513's topic in ActionScript & Python
Повесил на g_playerEvents.onAccountShowGUI, то же самое, ошибок нет, ничего не происходит -
Отправка личных сообщений, создание взвода/роты
denis79513 replied to denis79513's topic in ActionScript & Python
Естественно) Для теста это все привязано к onBecomePlayer, остальной функционал срабатывает. И еще попутный вопрос, как проверить принадлежность к формированию? Чтобы делать эту проверку перед созданием формирования? -
Отправка личных сообщений, создание взвода/роты
denis79513 replied to denis79513's topic in ActionScript & Python
@POLIROID, Итого все вместе: prbDispatcher = g_prbLoader.getDispatcher() if prbDispatcher: prbDispatcher.doSelectAction(PrebattleAction(PREBATTLE_ACTION_NAME.SQUAD)) functional = prbDispatcher.getFunctional(CTRL_ENTITY_TYPE.UNIT) if functional: functional.request(SendInvitesCtx(accountsToInvite, "Displayed invite text")) Ошибок в логах нет, но ничего не происходит вообще, логично предположить что prbDispatcher почему то пустой?? -
Отправка личных сообщений, создание взвода/роты
denis79513 replied to denis79513's topic in ActionScript & Python
Пока обновлял свое предыдущее сообщение, вы ответили, посмотреть пожалуйся сообщение выше. Если вы еще скажете как создать взвод, цены вам не будет))) Ну и я запилю одну классную штуку на основе этого. -
Отправка личных сообщений, создание взвода/роты
denis79513 replied to denis79513's topic in ActionScript & Python
Огромное спасибо! А я еще вот это нашел: def prb_sendInvites(self, accountsToInvite, comment): if events.isPlayerEntityChanging: return self.base.accountPrebattle_sendPrebattleInvites(accountsToInvite, comment) Это то же самое или нет? Предполагаю что это просто обертка над вашей функцией, или это что-то другое? И что насчет создания взвода? Или если отправить приглашения он создается автоматически? П.с. попробовал ваш код, ошибка в логе: ERROR: AttributeError: 'NoneType' object has no attribute 'getFunctional' Пробую вариант: accountsToInvite = [34751051] BigWorld.player().prb_sendInvites(accountsToInvite, "Message") В логах ошибок нет, но в уведомлениях исходящих инвайтов нет, предполагаю что это из-за отсутсивя созданного взвода. Помогите разобраться плиз -
Отправка личных сообщений, создание взвода/роты
denis79513 replied to denis79513's topic in ActionScript & Python
Решил идти по другому пути, нашел кнопку создания взвода в swf файлах, но как тут определить какой метод питона она вызывает по клику? Не вижу никаких евентов тут : package net.wg.gui.lobby.header.headerButtonBar { import flash.text.*; import net.wg.gui.components.controls.*; import net.wg.gui.events.*; import net.wg.gui.lobby.header.vo.*; import scaleform.clik.constants.*; public class HBC_Squad extends HeaderButtonContentItem { public var arrow:HBC_ArrowDown = null; public var textField:TextField = null; public var icon:UILoaderAlt = null; private var _squadDataVo:HBC_SquadDataVo = null; private static const ICON_ARROW_GAP:int = 3; private static const TEXT_ARROW_GAP:int = 14; private static const ARROW_RIGHT_PADDING:int = 4; public function HBC_Squad() { minScreenPadding.left = 13; minScreenPadding.right = 11; additionalScreenPadding.left = 4; additionalScreenPadding.right = -2; maxFontSize = 14; hideDisplayObjList.push(this.icon); return; }// end function override public function onPopoverClose() : void { this.arrow.state = HBC_ArrowDown.STATE_NORMAL; return; }// end function override public function onPopoverOpen() : void { this.arrow.state = HBC_ArrowDown.STATE_UP; return; }// end function override protected function configUI() : void { super.configUI(); this.icon.addEventListener(UILoaderEvent.COMPLETE, this.onIconLoadCompleteHandler); this.icon.source = RES_ICONS.MAPS_ICONS_BATTLETYPES_40X40_SQUAD; return; }// end function override protected function updateSize() : void { if (this._squadDataVo.isEvent) { bounds.width = this.arrow.x + this.arrow.width + ARROW_RIGHT_PADDING; } else { bounds.width = this.icon.visible ? (this.icon.x + this.icon.width) : (this.textField.x + this.textField.width); } super.updateSize(); return; }// end function override protected function updateData() : void { if (data) { this.textField.text = this._squadDataVo.buttonName; } else { this.textField.text = MENU.HEADERBUTTONS_BTNLABEL_CREATESQUAD; } if (this.isNeedUpdateFont()) { updateFontSize(this.textField, useFontSize); needUpdateFontSize = false; } this.icon.source = this._squadDataVo.icon; this.textField.width = this.textField.textWidth + TEXT_FIELD_MARGIN; if (this.icon.visible) { this.icon.x = this.textField.width + ICON_MARGIN ^ 0; this.arrow.x = this.icon.x + this.icon.width + ICON_ARROW_GAP ^ 0; } else { this.arrow.x = this.textField.x + this.textField.textWidth + TEXT_ARROW_GAP ^ 0; } this.arrow.visible = this._squadDataVo.isEvent; super.updateData(); return; }// end function override protected function onDispose() : void { this.icon.removeEventListener(UILoaderEvent.COMPLETE, this.onIconLoadCompleteHandler); this.textField = null; this.icon.dispose(); this.icon = null; this._squadDataVo = null; this.arrow.dispose(); this.arrow = null; super.onDispose(); return; }// end function override protected function isNeedUpdateFont() : Boolean { return super.isNeedUpdateFont() || useFontSize != this.textField.getTextFormat().size; }// end function override public function set data(param1:Object) : void { this._squadDataVo = HBC_SquadDataVo(param1); super.data = param1; return; }// end function private function onIconLoadCompleteHandler(event:UILoaderEvent) : void { invalidate(InvalidationType.DATA, InvalidationType.SIZE); return; }// end function } } -
Сижу весь день, шарясь в декомпилированных исходниках питона. Нашел ClientChat.py вижу методы createChatChannel, findUsers, addFriend и с ними вроде бы все как понятно. Но как отправить приглашение во взвод/команду и простое сообщение?