ktulho 5,790 #413882 Posted December 3, 2017 2 часа назад, sirmax сказал: Готово. Заодно добавил модификаторы ctrlKey, altKey, shiftKey. Спасибо. Проверил, работает. 1 Quote Share this post Link to post Short link Share on other sites
DrShats 0 #414312 Posted December 9, 2017 В 20.11.2017 в 10:13, ADv сказал: @ktulho Если можно, еще разок?) Пожалуйста 2017-11-16 19:01:36.499: INFO: ============================= 2017-11-16 19:01:36.499: INFO: 2017-11-16 19:01:36: [ERROR] mods/com.modxvm.xfw/python/xfw/events.pyc 2017-11-16 19:01:36.499: ERROR: Traceback (most recent call last): 2017-11-16 19:01:36.499: ERROR: File "mods/xfw/python/xfw/events.py", line 57, in __event_handler 2017-11-16 19:01:36.501: ERROR: File "mods/xfw/python/xfw/events.py", line 24, in fire 2017-11-16 19:01:36.502: ERROR: File "res_mods/configs/xvm/py_macro\anglesAiming.py", line 139, in set_gunAnglesPacked 2017-11-16 19:01:36.502: ERROR: if not player.isObserver(): 2017-11-16 19:01:36.502: ERROR: AttributeError: 'NoneType' object has no attribute 'isObserver' 2017-11-16 19:01:36.503: INFO: ============================= aimingposition.py Привет! Решил, что там не так? пользуюсь этим же скриптом и не работает Quote Share this post Link to post Short link Share on other sites
HEKPOMAHT 2,168 #414313 Posted December 9, 2017 2 минуты назад, DrShats сказал: Привет! Решил, что там не так? пользуюсь этим же скриптом и не работает скрипт anglesAiming.py обновить нужно Quote Share this post Link to post Short link Share on other sites
DrShats 0 #414315 Posted December 9, 2017 (edited) 49 минут назад, H_E_K_P_O_M_A_H_T_ сказал: скрипт anglesAiming.py обновить нужно Спасибо! Но В процитированном мной сообщении, ADv ошибся с логами. Вопрос его (как и мой) про скрипт aimingposition.py, который показывает куда целится союзная арта. Про это есть инфа? Edited December 9, 2017 by DrShats 1 Quote Share this post Link to post Short link Share on other sites
xenus 62 #418307 Posted January 13, 2018 Небольшой скрипт для тех, у кого скопилось куча не открытых коробок. Скрипт автоматически открывает все имеющиеся новогодние коробки. Так же при входе в окно разбития игрушек, он автоматически выбирает все имеющиеся игрушки. Код не мой, я всего лишь вырезал и адаптировал под py_macro данный функционал из autoaim_indicator v2017-12-30v2 (http://forum.worldoftanks.eu/index.php?/topic/441413-) Установка: файл mod_NY18.py надо положить в папку res_mods\configs\xvm\py_macro\, для активации функционала необходимо в файле конфига hangar.xc добавить "NY18_BoxAutoOpen": true Примерно так: /** * Parameters for hangar * Параметры ангара */ { "hangar": { ... "NY18_BoxAutoOpen": true } } ЗЫ. Из минусов можно отметить что нету никакой информации о содержимом коробок, содержимое просто появляется в инвентаре. Да и эвент к понедельнику закончиться. mod_NY18.py 6 Quote Share this post Link to post Short link Share on other sites
refaol 223 #418349 Posted January 13, 2018 (edited) @xenus где же этот мод раньше был ) Edited January 13, 2018 by refaol Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #419439 Posted January 28, 2018 @sirmax, есть возможность сделать, чтобы @xvm.export работал во вложенных папках? Quote Share this post Link to post Short link Share on other sites
sirmax 5,499 #419442 Posted January 28, 2018 Насколько я помню, мы специально ограничивали одной папкой, чтобы было контролируемо, и чтобы уменьшить конфликты. Подразумевалось, что в корне py_macro находятся .py файлы только с экспортируемыми методами и примитивной логикой, а более сложная логика уже располагается в модулях в подпапках. Может @Yukikaze сможет что-то дополнить, в основном это его реализация. Кстати, может тебе пора свои наработки переносить в состав XVM? Твои "макросы" уже давно можно считать полноценными модами, мы не думали, что в py_macro будет настолько сложная логика. Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #419444 Posted January 28, 2018 1 минуту назад, sirmax сказал: Насколько я помню, мы специально ограничивали одной папкой, чтобы было контролируемо, и чтобы уменьшить конфликты. С другой стороны, сейчас довольно много мелких скриптов и было бы удобно, если бы пользователь смог разложить их по папкам как ему удобно. А какие конфликты могут быть? 1 Quote Share this post Link to post Short link Share on other sites
sirmax 5,499 #419447 Posted January 28, 2018 Ну, как минимум, придется текущие папки с модулями куда-то убирать за пределы py_macro. Quote Share this post Link to post Short link Share on other sites
Jonario 25 #427581 Posted April 10, 2018 (edited) @ktulho @sirmax Добрый день. Хотел бы у вас уточнить один момент по py-macro. Для примера опишу ситуацию на данном коде: battleLabelsTemplates.xc "test": { "enabled": true, "updateEvent": "PY(ON_MY_UPDATE)", "width": 100, "height": 50, "alpha": 100, "screenHAlign": "center", "screenVAlign": "center", "bgColor": "0x000000", "textFormat": { "align": "center", "valign": "center" }, "format": "{{py:ifKeyIsDown=down?{{py:getClientLang}}|None}}" }, test_py_macro.py from Avatar import PlayerAvatar from xfw import * keyIsDown = 'notDown' @registerEvent(PlayerAvatar, 'handleKey') def handleKey(self, isDown, key, mods): global keyIsDown if key != 41: return if isDown: keyIsDown = 'down' elif not isDown: keyIsDown = 'notDown' as_event('ON_MY_UPDATE') @xvm.export('getClientLang', deterministic=True) def getClientLang(): clientLang = getClientLanguage() debug('debug_mods: %s, %s' % (clientLang, keyIsDown)) return clientLang @xvm.export('ifKeyIsDown', deterministic=False) def ifKeyIsDown(): return keyIsDown Так далее коротко опишу. Например нам нужно получить локализию запущенного клиента, но получить мы должны эти данные только при нажатии горячей клавиши Тильда (буква Ё/ символ ~). Если кнопка не нажата функция getClientLang() по идее не должна вызываться. Я добавил в код debug, для того чтобы увидель работает ли она и в какой ситуации. После прогона реплея получил в логе следующее: 2018-04-10 18:32:02.070: INFO: 2018-04-10 18:32:02: [DEBUG] debug_mods: ru, notDown 2018-04-10 18:32:02.075: INFO: 2018-04-10 18:32:02: [DEBUG] debug_mods: ru, notDown 2018-04-10 18:32:02.289: INFO: 2018-04-10 18:32:02: [DEBUG] [XFW] xfw_cmd: xfw.initialized () 2018-04-10 18:32:02.305: INFO: 2018-04-10 18:32:02: [DEBUG] debug_mods: ru, notDown 2018-04-10 18:32:02.312: INFO: 2018-04-10 18:32:02: [DEBUG] debug_mods: ru, notDown 2018-04-10 18:32:02.325: INFO: 2018-04-10 18:33:05: [DEBUG] debug_mods: ru, notDown 2018-04-10 18:32:02.327: INFO: 2018-04-10 18:33:05: [DEBUG] debug_mods: ru, notDown 2018-04-10 18:32:02.328: INFO: 2018-04-10 18:33:05: [DEBUG] debug_mods: ru, notDown 2018-04-10 18:32:02.347: INFO: 2018-04-10 18:34:09: [DEBUG] debug_mods: ru, down Т.е. функция вызывается в фоне, хотя по условию задан ее вызов только при нажатии горячей клавиши. Сама же клавиша была нажата один раз, в логе в конце видна запись об этом. Это не особо критично когда в фоне постоянно одна функция небольшая вызывается, но если делать вызов большого количества функций то это отразится на производительности у тех у кого железо мягко гороря оставляет желать лучшего. Поэтому и делал просчет всех данных только при нажатии горячей клавиши для минимизации влияния, а тут столкнулся с этим. Я конечно не шипко разбираюсь в питоне, только начинаю свои шаги в его освоении, но вроде бы правильно прописал, по крайней мере так думаю). Возможно все так и должно работать, м.б. подскажите как лучше сделать если где то ошибся. Еще один момент: deterministic При True это статичная функция, при False - динамическая? Edited April 10, 2018 by Jonario Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #427598 Posted April 10, 2018 @Jonario я так понимаю, что вы перематывали риплей? Попробуйте посмотреть риплей без перемотки. Quote Share this post Link to post Short link Share on other sites
Jonario 25 #427604 Posted April 10, 2018 @ktulho , нет не перематывал. Запустил, дождался окончания отсчета времени загрузки боя, нажал горячую клавишу (последняя запись в логе), закрыл реплей. Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #427608 Posted April 10, 2018 @Jonario проверил у себя (вместо getClientLanguage() подставил '5555') . В логе: 2018-04-10 19:51:34.545: INFO: 2018-04-10 19:51:34: [DEBUG] debug_mods: 5555, notDown 2018-04-10 19:51:34.545: INFO: 2018-04-10 19:51:34: [DEBUG] debug_mods: 5555, notDown 2018-04-10 19:51:34.910: INFO: 2018-04-10 19:51:34: [DEBUG] [XFW] xfw_cmd: xfw.initialized () 2018-04-10 19:51:36.971: INFO: 2018-04-10 19:51:36: [DEBUG] debug_mods: 5555, notDown 2018-04-10 19:52:45.547: INFO: 2018-04-10 19:52:45: [DEBUG] debug_mods: 5555, down 2018-04-10 19:52:46.393: INFO: 2018-04-10 19:52:46: [DEBUG] debug_mods: 5555, notDown Последние две строчки это я нажал и отпустил клавишу. ИМХО: 1 строчка появляется, так как в battleLabels создается "визуальный" объект, то соответственно вызываются и все макросы в нем. 3 строка скорее всего "контрольное" обновление полей (поля обновляются после полной загрузки XVM). Но это только мое предположение. Меня смутило расхождение времени в вашем логе: 2018-04-10 18:32:02.325: INFO: 2018-04-10 18:33:05: [DEBUG] debug_mods: ru, notDown 2018-04-10 18:32:02.327: INFO: 2018-04-10 18:33:05: [DEBUG] debug_mods: ru, notDown 2018-04-10 18:32:02.328: INFO: 2018-04-10 18:33:05: [DEBUG] debug_mods: ru, notDown 2018-04-10 18:32:02.347: INFO: 2018-04-10 18:34:09: [DEBUG] debug_mods: ru, down Quote Share this post Link to post Short link Share on other sites
konrad509 445 #431203 Posted May 20, 2018 (edited) Would it be possible to create a macro, to use during game (preferably in the "ears" I guess), that would return the current distance covered by a vehicle? And if yes, then would anyone be wiling to create one? I'm writing this request on behalf of another player who asked me to do so. He'd be grateful :) Edited May 20, 2018 by konrad509 Quote Share this post Link to post Short link Share on other sites
Jack_ppc 77 #431210 Posted May 20, 2018 @konrad509 , I wonder why he needs this information? Quote Share this post Link to post Short link Share on other sites
konrad509 445 #431212 Posted May 20, 2018 He's got his reasons, but does it matter? ;) Quote Share this post Link to post Short link Share on other sites
Jack_ppc 77 #431220 Posted May 20, 2018 Just wondering, maybe I'll come in handy. Quote Share this post Link to post Short link Share on other sites
konrad509 445 #431230 Posted May 20, 2018 (edited) I think I might have misunderstood him a little bit as to what he wants. I need to make it clear with him first. EDIT: Yeah, I was wrong. My bad. What he wants is the average distance travelled by a player on a given vehicle in all battles he played on that vehicle. So I guess it's not just about creating a "simple" macro, but rather a new type of a statistic that would require collecting data and stuff, am I right? And if anything, I should post it in Suggestions subforum. Edited May 20, 2018 by konrad509 Quote Share this post Link to post Short link Share on other sites
night_dragon_on 5,601 #432911 Posted June 12, 2018 (edited) Дополнение: hideMessagePatterns.py Скрывает указанные сообщения в системном канале в ангаре. Установка: 1) Установить XVM 2) Распаковать содержимое архива в корневую директорию клиента 3) Добавить в конфиг в файл "hangar.xc" параметр: "hideMessagePatterns": [], Скачать: hideMessagePatterns.zip Шаблон сообщений: "hideMessagePatterns": [ "Добро пожаловать на сервер", "Уважаемый пользователь! Рекомендуем выполнить привязку вашего аккаунта к", "Уважаемый пользователь! Вы не меняли пароль уже 30 дней. Рекомендуем сменить", "Ремонт:", "Куплено:", "Продано:", "Кастомизация:", "Исследовано:", "Демонтировано:", "Модуль", "Оборудование", "Высадка экипажа в Казарму выполнена успешно", "Высадка члена экипажа в Казарму выполнена успешно", "Пересадка экипажа выполнена успешно", "Пересадка члена экипажа выполнена успешно", "Замена члена экипажа выполнена успешно", "Член экипажа демобилизован успешно", "Ускоренное обучение экипажа", "Новое умение успешно изучено", "Скриншот сохранён", "Жалоба на", "Приглашение принято", "Приглашение отклонено", "Приглашение недействительно", "Время действия личного резерва", "Изменены элементы внешнего вида" ], Edited January 30, 2020 by night_dragon_on Обновление вложений ... 7 Quote Share this post Link to post Short link Share on other sites