ktulho 5,790 #442217 Posted October 5, 2018 8 часов назад, Wild_RNB сказал: А под ТТХ танка нельзя поместить? Можно. Quote Share this post Link to post Short link Share on other sites
HEKPOMAHT 2,165 #442743 Posted October 12, 2018 @ktulho подскажи, а можно сделать скрипт-обработчик событий для боя, универсальный, не привязанный к типам боёв? типо такого: "updateEvent": "PY(обработчик)", "mouseEvents": { "mouseOver": "оver" }, "alpha": "{{py:highlight?100|0}}" // показывать/скрывать при наведении на поле хочу скрыть поле статистики в ушах, так как для наведения курсора жалобы оно как бы и не надо, так, не критично конечно. ---- и вроде спрашивали уже, сделать возможность плавного появления/затухания поля (анимации короче). типо такого: // время в мс "updateEvent": "PY(анимация)", "появление": 200, "затухание": 200 надеюсь не сильно озадачил Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #442787 Posted October 12, 2018 10 часов назад, HEKPOMAHT сказал: подскажи, а можно сделать скрипт-обработчик событий для боя, универсальный, не привязанный к типам боёв? типо такого: "updateEvent": "PY(обработчик)", "mouseEvents": { "mouseOver": "оver" }, "alpha": "{{py:highlight?100|0}}" // показывать/скрывать при наведении на поле хочу скрыть поле статистики в ушах, так как для наведения курсора жалобы оно как бы и не надо, так, не критично конечно. Не понял, этот как-нибудь относится к скрипту этой темы? Ты хочешь отображать экстраполя в ушах при наведении на них курсора мыши? 10 часов назад, HEKPOMAHT сказал: вроде спрашивали уже, сделать возможность плавного появления/затухания поля (анимации короче). Не придумал, как это сделать универсально. Quote Share this post Link to post Short link Share on other sites
HEKPOMAHT 2,165 #442803 Posted October 12, 2018 45 минут назад, ktulho сказал: Не понял, этот как-нибудь относится к скрипту этой темы? Ты хочешь отображать экстраполя в ушах при наведении на них курсора мыши? к скрипту никак не относится. Хочу скрывать одно экстраполе при наведении. Написано обработчик нужно привязывать с помощью функции as_callback(event_name), подумал что нужен отдельный скрипт и событие к нему... 1 час назад, ktulho сказал: Не придумал, как это сделать универсально. ага, значит этот момент у тебя на заметке. Тогда отлично, будем ждать. Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #443550 Posted October 20, 2018 В 12.10.2018 в 08:43, HEKPOMAHT сказал: подскажи, а можно сделать скрипт-обработчик событий для боя, универсальный, не привязанный к типам боёв? типо такого: "updateEvent": "PY(обработчик)", "mouseEvents": { "mouseOver": "оver" }, "alpha": "{{py:highlight?100|0}}" // показывать/скрывать при наведении на поле хочу скрыть поле статистики в ушах, так как для наведения курсора жалобы оно как бы и не надо, так, не критично конечно. Скрипт должен выглядеть примерно так: from xvm_main.python.logger import * from xfw_actionscript.python import * highlight = None def fildOver(data): global highlight highlight = 'over' as_event('ON_HIGHLIGHT') def fildOut(data): global highlight highlight = None as_event('ON_HIGHLIGHT') as_callback('fild_Over', fildOver) as_callback('fild_Out', fildOut) @xvm.export('highlight', deterministic=False) def highlight(): return highlight В конфиге: { "enabled": true, "updateEvent": "PY(ON_HIGHLIGHT)", "alpha": "{{py:highlight?100|0}}", . . . "mouseEvents": {"mouseOver": "fild_Over", "mouseOut": "fild_Out"} }, Макрос {{py:highlight}} - возвращает 'over', если курсор мыши наведен на поле, иначе пусто. Работу скрипта не проверял. Quote Share this post Link to post Short link Share on other sites
HEKPOMAHT 2,165 #443553 Posted October 20, 2018 не работает - постоянно 100% "test": { "updateEvent": "PY(ON_HIGHLIGHT)", "alpha": "{{py:highlight?50|100}}", "mouseEvents": { "mouseOver": "fild_Over", "mouseOut": "fild_Out" }, "x": 7, "y": 2, "bgColor": "0x000000", "width": 500, "height": 50, "format": "ТЕСТ ТЕСТ ТЕСТ" }, highLight.py Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #443555 Posted October 20, 2018 @HEKPOMAHT В логах ничего нет? Quote Share this post Link to post Short link Share on other sites
HEKPOMAHT 2,165 #443556 Posted October 20, 2018 1 минуту назад, ktulho сказал: @HEKPOMAHT В логах ничего нет? проверял на реплее - ошибок нет совсем. Может в бою проверить? Стой, в xvm есть xvm.log 2018-10-20 12:06:01: [ERROR] Traceback (most recent call last): File "res_mods/mods/xfw_packages\xvm_main\python\python_macro.py", line 156, in process_python_macro (func, deterministic) = get_function(arg) File "res_mods/mods/xfw_packages\xvm_main\python\python_macro.py", line 147, in get_function (func, deterministic) = _container.get(func_name) TypeError: 'NoneType' object is not iterable arg='highlight' Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #443558 Posted October 20, 2018 @HEKPOMAHT у тебя похоже вот эта проблема. В 'highlight' перед закрывающей кавычкой не отображаемый символ. Проверил, работает: Quote Share this post Link to post Short link Share on other sites
HEKPOMAHT 2,165 #443562 Posted October 20, 2018 переписал название, всё ровно не работает 2018-10-20 12:44:13: [ERROR] Traceback (most recent call last): File "res_mods/mods/xfw_packages\xvm_main\python\python_macro.py", line 127, in load_macros_lib code = load(file_name) File "res_mods/mods/xfw_packages\xvm_main\python\python_macro.py", line 101, in load return parse(source, file_name) File "res_mods/mods/xfw_packages\xvm_main\python\python_macro.py", line 91, in parse node = ast.parse(source) File "scripts/common/Lib/ast.py", line 37, in parse File "<unknown>", line 4 highlight = None ^ SyntaxError: invalid syntax 2018-10-20 12:44:21: [ERROR] Traceback (most recent call last): File "res_mods/mods/xfw_packages\xvm_main\python\python_macro.py", line 156, in process_python_macro (func, deterministic) = get_function(arg) File "res_mods/mods/xfw_packages\xvm_main\python\python_macro.py", line 147, in get_function (func, deterministic) = _container.get(func_name) TypeError: 'NoneType' object is not iterable arg='highlight' ---- вот он где был: удалил в редакторе, скопировал код - всё, теперь работает. Блин, гемор с этим символом... ---- выявил такую особенность: 1) фриз при наведении на поле 2) макрос {{tdb}} у всех игроков в ушах, после наведения мыши показывает кпд игрока (только когда дописано событие "PY(ON_HIGHLIGHT" ) 3) при наведении на одно поле, срабатывает и другое, прописанное отдельно, но обновляемое по событию PY(ON_HIGHLIGHT). Заметил случайно, так как проверял работу скрипта в ушах и в battleLabels. @ktulho глянь выше, написал пару строк Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #443572 Posted October 20, 2018 1 час назад, HEKPOMAHT сказал: выявил такую особенность: 1) фриз при наведении на поле 2) макрос {{tdb}} у всех игроков в ушах, после наведения мыши показывает кпд игрока (только когда дописано событие "PY(ON_HIGHLIGHT" ) 3) при наведении на одно поле, срабатывает и другое, прописанное отдельно, но обновляемое по событию PY(ON_HIGHLIGHT). Заметил случайно, так как проверял работу скрипта в ушах и в battleLabels. А что тут смотреть? Все предсказуемо. Quote Share this post Link to post Short link Share on other sites
HEKPOMAHT 2,165 #443573 Posted October 20, 2018 5 минут назад, ktulho сказал: А что тут смотреть? Все предсказуемо. т.е два совершенно разных поля в разных местах на экране должны срабатывать при наведении на одно из них? по моему что-то не то... Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #443574 Posted October 20, 2018 7 минут назад, HEKPOMAHT сказал: т.е два совершенно разных поля в разных местах на экране должны срабатывать при наведении на одно из них? Да. Именно об этом я и писал: В 12.10.2018 в 19:35, ktulho сказал: Не придумал, как это сделать универсально. Распишу как это происходит на примере выше: 1) Наводишь курсор на поле. 2) Вызывается событие "mouseOver": "fild_Over", описанное в секции "mouseEvents" этого поля. 3) В скрипте вызывается функция привязанная к этому событию, в данном случае fildOver: as_callback('fild_Over', fildOver) 4) В функции fildOver присваивается значение переменной highlight = 'over' и вызывается событие ON_HIGHLIGHT, по которому обновляются все поля, где оно прописано: def fildOver(data): global highlight highlight = 'over' as_event('ON_HIGHLIGHT') 1 Quote Share this post Link to post Short link Share on other sites
HEKPOMAHT 2,165 #443575 Posted October 20, 2018 13 минут назад, ktulho сказал: Именно об этом я и писал: нет, ты писал об плавном затухании. а про обработчик только уточнил, что именно я хочу сделать. ответ после цитаты относится именно к этой цитате, я правильно понимаю? Почему я собственно и про обработчик напомнил. Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #443576 Posted October 20, 2018 Только что, HEKPOMAHT сказал: нет, ты писал об плавном затухании. Там тоже самое. Quote Share this post Link to post Short link Share on other sites
HEKPOMAHT 2,165 #443577 Posted October 20, 2018 2 минуты назад, ktulho сказал: Там тоже самое. вот теперь стало на свои места тогда всё, ждём прихода светлых мыслей Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #443578 Posted October 20, 2018 Только что, HEKPOMAHT сказал: тогда всё, ждём прихода светлых мыслей Ну, для себя ты можешь написать кучу копий этого скрипта изменяя названия макросов и событий: ON_HIGHLIGHT1, ON_HIGHLIGHT2 и т.д. highlight1, highlight1 и т.д. fild_Over1, fild_Over2 и т.д. и т.д. Quote Share this post Link to post Short link Share on other sites
HEKPOMAHT 2,165 #443580 Posted October 20, 2018 1 час назад, ktulho сказал: Ну, для себя ты можешь написать кучу копий этого скрипта изменяя названия макросов и событий: так я это заметил случайно и как бы для меня это проблемой не является, так как хотел применить только в одном месте. Важных в моём отчёте только первых два пункта: фриз и влияние события на макросы xvm (этот даже важнее). Почему у игроков обеих команд сбиваются данные (появляются мой кпд)? Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #443583 Posted October 20, 2018 4 минуты назад, HEKPOMAHT сказал: фриз Тебе же sirmax уже где-то писал, что обновление в ушах это тяжёлая операция. У тебя каждый раз обновляется по 15 строк в каждом ухе. Quote Share this post Link to post Short link Share on other sites
HEKPOMAHT 2,165 #443585 Posted October 20, 2018 9 минут назад, ktulho сказал: Тебе же sirmax уже где-то писал, что обновление в ушах это тяжёлая операция. У тебя каждый раз обновляется по 15 строк в каждом ухе. да, я помню: В 28.05.2018 в 22:26, sirmax сказал: Скорей всего проблема в том, что макрос динамический, и при добавлении в уши получается довольно тяжело 30 раз его дернуть. но это касалось макроса {{py:isBattle}} выходит в ушах и не надо с событиями поля создавать. Quote Share this post Link to post Short link Share on other sites