ktulho 5,790 Posted January 7, 2017 (edited) Пару раз просили сделать таймер боя. Добавил три макроса: {{py:xvm.critTimeBT(time)}} - возвращает '#FF0000', если до конца боя осталось меньше времени, чем указано в параметре time (задается в секундах), иначе возвращает пусто. Если параметр time не указан, то считается, что он равен 120 секундам. {{py:xvm.minutesBT}} - возвращает минуты. {{py:xvm.secondsBT}} - возвращает секунды. Так же добавлено событие PY(ON_BATTLE_TIMER). Файл battleTimer.py скопировать в \res_mods\configs\xvm\py_macro\. Скрипт: battleTimer.py 'Пример использования' В файл battleLabels.xc добавить: ${ "battleLabelsTemplates.xc":"def.battleTimer"} В файл battleLabelsTemplates.xc добавить: "battleTimer": { "enabled": true, "updateEvent": "PY(ON_BATTLE_TIMER)", "x": 450, "y": -5, "width": 90, "height": 45, "screenHAlign": "center", "shadow": { "distance": 1, "angle": 90, "alpha": 80, "blur": 3, "strength": 2 }, "textFormat": { "size": 36 }, "format": "<font color='{{py:xvm.critTimeBT?#FE4D4D}}'>{{py:xvm.minutesBT%02d~:}}{{py:xvm.secondsBT%02d}}</font>" }, Стандартный таймер я просто передвинул за границы экрана. Для этого, в файле elements.xc нужно добавить: "battleTimer": { "y": -30 } на всякий случай прикреплю сам файл elements.xc Пример от @HEKPOMAHT Edited June 22, 2021 by ktulho 11 Quote Share this post Link to post Short link Share on other sites
Slava7572 1,685 #373420 Posted January 8, 2017 (edited) дел Edited January 8, 2017 by Slava7572 Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #373422 Posted January 8, 2017 xvm.critTimeBT-это крайняя минута,чтоб цвет менялся? Это не минута, а сколько укажите. Задается в секундах. Например {{py:xvm.critTimeBT(180)}} это за 3 минуты до конца. Можно менять не только цвет, но и размер, положение, текст и т.д. Quote Share this post Link to post Short link Share on other sites
Slava7572 1,685 #373425 Posted January 8, 2017 Это не минута, а сколько укажите. Задается в секундах. Например {{py:xvm.critTimeBT(180)}} это за 3 минуты до конца. Можно менять не только цвет, но и размер, положение, текст и т.д. Ага,понял,спасибо.Раньше через сниппеты таймер увеличивал,менял цвет,теперь это сделать проще. Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #373429 Posted January 8, 2017 Теоретически можно настроить, чтобы за пять минут до конца боя секунд на 5 появлялась надпись "Осталось 05:00", потом за 2 минуты. 1 Quote Share this post Link to post Short link Share on other sites
vizhu 69 #374942 Posted January 15, 2017 Теоретически можно настроить, чтобы за пять минут до конца боя секунд на 5 появлялась надпись "Осталось 05:00", потом за 2 минуты. Добавте пожалуйста. Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #374944 Posted January 15, 2017 Добавте пожалуйста. Это можно настроить в battleLabelsTemplates.xc, например так: "battleTimer": { "enabled": true, "updateEvent": "PY(ON_BATTLE_TIMER)", "x": "{{py:xvm.critTimeBT(300)?{{py:xvm.critTimeBT(295)?{{py:xvm.critTimeBT(120)?{{py:xvm.critTimeBT(115)?450|0}}|450}}|0}}|450}}", "y": "{{py:xvm.critTimeBT(300)?{{py:xvm.critTimeBT(295)?{{py:xvm.critTimeBT(120)?{{py:xvm.critTimeBT(115)?-5|100}}|-5}}|100}}|-5}}", "width": 140, "height": 110, "screenHAlign": "center", "shadow": { "distance": 1, "angle": 90, "alpha": 80, "blur": 3, "strength": 2 }, "textFormat": { "size": 36 }, "format": "<font color='{{py:xvm.critTimeBT?#FE4D4D}}'>{{py:xvm.critTimeBT(300)?{{py:xvm.critTimeBT(295)?{{py:xvm.critTimeBT(120)?{{py:xvm.critTimeBT(115)? |Осталось \n }}| }}|Осталось \n }}| }}{{py:xvm.minutesBT%02d~:}}{{py:xvm.secondsBT%02d}}</font>" }, 1 Quote Share this post Link to post Short link Share on other sites
vizhu 69 #374951 Posted January 15, 2017 (edited) Это можно настроить в battleLabelsTemplates.xc, например так: [spoiler] "battleTimer": { "enabled": true, "updateEvent": "PY(ON_BATTLE_TIMER)", "x": "{{py:xvm.critTimeBT(300)?{{py:xvm.critTimeBT(295)?{{py:xvm.critTimeBT(120)?{{py:xvm.critTimeBT(115)?450|0}}|450}}|0}}|450}}", "y": "{{py:xvm.critTimeBT(300)?{{py:xvm.critTimeBT(295)?{{py:xvm.critTimeBT(120)?{{py:xvm.critTimeBT(115)?-5|100}}|-5}}|100}}|-5}}", "width": 140, "height": 110, "screenHAlign": "center", "shadow": { "distance": 1, "angle": 90, "alpha": 80, "blur": 3, "strength": 2 }, "textFormat": { "size": 36 }, "format": "<font color='{{py:xvm.critTimeBT?#FE4D4D}}'>{{py:xvm.critTimeBT(300)?{{py:xvm.critTimeBT(295)?{{py:xvm.critTimeBT(120)?{{py:xvm.critTimeBT(115)? |Осталось \n }}| }}|Осталось \n }}| }}{{py:xvm.minutesBT%02d~:}}{{py:xvm.secondsBT%02d}}</font>" },[/spoiler] Научите пожалуйста чтобы сместить в право,где редактировать нужно ? Edited January 15, 2017 by vizhu Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #374963 Posted January 15, 2017 Научите пожалуйста чтобы сместить в право,где редактировать нужно ? , поменяйте везде 450 на нужное вам число, например 550. 1 Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #382799 Posted March 8, 2017 Небольшое обновление скрипта. Таймер теперь появляется за 29 секунд до начала боя, а не за 28. 3 Quote Share this post Link to post Short link Share on other sites
HEKPOMAHT 2,168 #382842 Posted March 9, 2017 Небольшое обновление скрипта. Таймер теперь появляется за 29 секунд до начала боя, а не за 28. В реплее норм показывает. В бою при надписи "Ожидание игроков..." отсчёт начинается с 00.50 после 00.44 сразу перескакивает на 00.28. Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #382860 Posted March 9, 2017 В реплее норм показывает. В бою при надписи "Ожидание игроков..." отсчёт начинается с 00.50 после 00.44 сразу перескакивает на 00.28. Исправил. 1 Quote Share this post Link to post Short link Share on other sites
HEKPOMAHT 2,168 #382861 Posted March 9, 2017 Исправил. Ещё один момент по таймеру. В ситуации, когда во время боя закрываешь клиент , после перезапуска попадаешь снова в этот же бой, таймера уже нет. Можно ли это исправить ? Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #382862 Posted March 9, 2017 Ещё один момент по таймеру. В ситуации, когда во время боя закрываешь клиент , после перезапуска попадаешь снова в этот же бой, таймера уже нет. Можно ли это исправить ? А другие battleLabels нормально отображаются? Quote Share this post Link to post Short link Share on other sites
HEKPOMAHT 2,168 #382863 Posted March 9, 2017 (edited) А другие battleLabels нормально отображаются? Другие без изменений всё норм грузится при таком формате "format": "<font color='{{py:xvm.critTimeBT?#F50800}}'>{{py:xvm.minutesBT%02d~:|00:}}{{py:xvm.secondsBT%02d|00}}</font>" 00:00 показывает Ещё один момент по таймеру. В ситуации, когда во время боя закрываешь клиент , после перезапуска попадаешь снова в этот же бой, таймера уже нет. Можно ли это исправить ? При перемотке назад реплея - та же картина. Edited March 9, 2017 by H_E_K_P_O_M_A_H_T_ Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #382974 Posted March 10, 2017 При перемотке назад реплея - та же картина. , исправил. Ещё один момент по таймеру. В ситуации, когда во время боя закрываешь клиент , после перезапуска попадаешь снова в этот же бой, таймера уже нет. Можно ли это исправить ? наверно тоже исправил. Шапку обновил. 2 Quote Share this post Link to post Short link Share on other sites
HEKPOMAHT 2,168 #382977 Posted March 10, 2017 Проверил на реплеях (старые, новые), проверил ситуацию с закрытием клиента - работает, показывает как положено ! Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #383062 Posted March 11, 2017 Небольшое исправление. 2 Quote Share this post Link to post Short link Share on other sites
Xeideo 0 #393132 Posted June 1, 2017 (edited) 9.19 error Edit: Wrong Thread SORRY Edited June 1, 2017 by Xeideo Quote Share this post Link to post Short link Share on other sites
HEKPOMAHT 2,168 #393136 Posted June 1, 2017 норм всё Quote Share this post Link to post Short link Share on other sites