Kotyarko_O 1,906 #359076 Posted October 14, 2016 1. не проставляется ноль после точки при целых секундах, отчего изображение скачет Выведу форматирование в конфиг (благодаря новой возможности в XVM). Должно будет исправиться. 2. на реплее при повторном крите того же модуля таймер не отображается Можно этот реплей? Quote Share this post Link to post Short link Share on other sites
Kapany3uk 948 #359096 Posted October 14, 2016 Можно этот реплей? те же, что ранее выкладывал.Кстати про форматирование: пробовал так {{py:repairTimeEngine%0.1f}} получил null И ещё заметил, что в начале отсчета может выдать типа 9.6777 Может у меня что-то не так? Проверял на последнем ночнике - там ещё и цвет пропал у статистики и в полосе здоровья... Quote Share this post Link to post Short link Share on other sites
panteror 54 #359097 Posted October 14, 2016 hi, i can't find my bug for loading, help needed 2016-10-14 11:17:24: [JSONxLoader] load: res_mods\configs\xvm\panteror\battleLabelsTemplates.xc 2016-10-14 11:17:24: [ERROR] Traceback (most recent call last): File "xvm_main/config.py", line 97, in _load_xvm_xc File "mods/xfw/python/lib/JSONxLoader/__init__.py", line 9, in load File "mods/xfw/python/lib/JSONxLoader/loader.py", line 25, in load File "mods/xfw/python/lib/JSONxLoader/loader.py", line 44, in visit File "mods/xfw/python/lib/JSONxLoader/loader.py", line 69, in visit_dict File "mods/xfw/python/lib/JSONxLoader/loader.py", line 44, in visit File "mods/xfw/python/lib/JSONxLoader/loader.py", line 69, in visit_dict File "mods/xfw/python/lib/JSONxLoader/loader.py", line 44, in visit File "mods/xfw/python/lib/JSONxLoader/loader.py", line 52, in visit_dict File "mods/xfw/python/lib/JSONxLoader/loader.py", line 52, in <dictcomp> File "mods/xfw/python/lib/JSONxLoader/loader.py", line 44, in visit File "mods/xfw/python/lib/JSONxLoader/loader.py", line 69, in visit_dict File "mods/xfw/python/lib/JSONxLoader/loader.py", line 44, in visit File "mods/xfw/python/lib/JSONxLoader/loader.py", line 52, in visit_dict File "mods/xfw/python/lib/JSONxLoader/loader.py", line 52, in <dictcomp> File "mods/xfw/python/lib/JSONxLoader/loader.py", line 46, in visit File "mods/xfw/python/lib/JSONxLoader/loader.py", line 78, in visit_list File "mods/xfw/python/lib/JSONxLoader/loader.py", line 44, in visit File "mods/xfw/python/lib/JSONxLoader/loader.py", line 69, in visit_dict File "mods/xfw/python/lib/JSONxLoader/loader.py", line 44, in visit File "mods/xfw/python/lib/JSONxLoader/loader.py", line 64, in visit_dict JSONxLoaderException: Bad reference: ${"res_mods/configs/xvm\panteror\battleLabelsTemplates.xc": "defaultItem"} in "res_mods/configs/xvm\panteror\battleLabelsTemplates.xc:battleLabels/formats[13]" Object "./" has no key "defaultItem" battleLabelsTemplates.xc battleLabels.xc Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #359106 Posted October 14, 2016 (edited) @panteror, try this: battleLabels.xc battleLabelsTemplates.xc (my mistake in topic head, fixed) Кстати про форматирование: пробовал так {{py:repairTimeEngine%0.1f}} получил null А в последнем ночнике (6618+)? И ещё заметил, что в начале отсчета может выдать типа 9.6777 Да, встретил пару раз. Непонятно, почему такое получается, ведь округление там указано до одного знака. Думаю, с форматированием через конфиг такого не будет. Edited October 14, 2016 by Kotyarko_O Quote Share this post Link to post Short link Share on other sites
sirmax 5,499 #359114 Posted October 14, 2016 Кстати про форматирование: пробовал так {{py:repairTimeEngine%0.1f}} получил null Проверил, работает. Единственное, выводит "0.0" если нет значения. Надо добавить проверку на пустое значение. Quote Share this post Link to post Short link Share on other sites
panteror 54 #359115 Posted October 14, 2016 @panteror, try this: battleLabels.xc battleLabelsTemplates.xc (my mistake in topic head, fixed) А в последнем ночнике (6618+)? Да, встретил пару раз. Непонятно, почему такое получается, ведь округление там указано до одного знака. Думаю, с форматированием через конфиг такого не будет. thanks Quote Share this post Link to post Short link Share on other sites
sirmax 5,499 #359119 Posted October 14, 2016 (edited) Надо добавить проверку на пустое значение. Подправил форматирование (в 6619), но надо в deviceRepair.py заменить пустые значения на None: вместо ... 'time': '', ... self.TIMERS[device]['time'] = '' self.TIMERS[device]['finishAt'] = '' сделать так: ... 'time': None, ... self.TIMERS[device]['time'] = None self.TIMERS[device]['finishAt'] = None Edited October 14, 2016 by sirmax 1 Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #359121 Posted October 14, 2016 @sirmax, спасибо. Quote Share this post Link to post Short link Share on other sites
Slava7572 1,685 #359122 Posted October 14, 2016 @sirmax, спасибо. Получается недоделок не осталось?Еще вопрос по производительности,что меньше ресурса кушает,если это значение выводит флешка или данный способ(все таки 8 полей)? Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #359123 Posted October 14, 2016 (edited) Получается недоделок не осталось? Ещё одна есть, уже дорабатываю (http://www.koreanrandom.com/forum/topic/35275-/?p=359045, п.2). Еще вопрос по производительности,что меньше ресурса кушает,если это значение выводит флешка или данный способ(все таки 8 полей)? Поправочка: 5 полей. По производительности, скорее всего, лучше патченная флешка дамаг-панели. А вообще, здесь нет каких-либо сложных механизмов, которые бы заметно влияли на быстродействие. UPD. Обновил. Форматирование вынесено в конфиг; Исправлено отсутствие таймера при повторных выведениях из строя модулей. Остался один малозаметный баг - окончание отсчёта таймера не всегда совпадает с моментом, когда модуль восстанавливается. Но, полагаю, этот баг на стороне клиента, т.к. момент окончания отсчёта таймера с моментом, когда ремонт завершается на самой панели повреждений (анимация), совпадают. Но сам момент восстановления модуля, в некоторых случаях, задерживается до 0.7с (при просмотре реплея на замедленной скорости это заметно). В таких ситуациях таймер пойдёт дальше, то есть: 0.3, 0.2, 0.1, 0.0, 0.1, 0.2 и т.д. до фактического изменения состояния модуля. Конечно, можно сделать проверку, чтобы он останавливался на нуле. Как лучше: оставить как есть, потому что сейчас таймер отключается по факту изменения состояния модуля; или делать эту проверку? Edited October 14, 2016 by Kotyarko_O 2 Quote Share this post Link to post Short link Share on other sites
Kapany3uk 948 #359129 Posted October 14, 2016 Но сам момент восстановления модуля, в некоторых случаях, задерживается до 0.7с возможно, что это происходит при одновременном повреждении обеих гусениц: на реплее с тяжем, что я выкладывал, заметно, что "Гусеница восстановлена" звучит дважды (26:20-25:25) и таймер как раз "спешит"... Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #359131 Posted October 14, 2016 (edited) возможно, что это происходит при одновременном повреждении обеих гусениц: на реплее с тяжем, что я выкладывал, заметно, что "Гусеница восстановлена" звучит дважды (26:20-25:25) и таймер как раз "спешит"... Самая большая задержка у приборов наблюдений (0.7с). Просмотри тот момент в замедленном режиме. Анимация уже закончится (дойдёт до конца), пройдёт немного времени и произойдёт восстановление модуля. Откуда такая задержка - непонятно. А потом посмотри, как всё ровно происходит с орудием... Точь-в-точь. А на одновременное (или с небольшой задержкой) сбитие обеих гусениц я пока что не обращал внимания, там по идеи таймер будет путаться, т.к. сейчас там на обе гусеницы один таймер. Надо подумать, как правильно сделать... Edited October 14, 2016 by Kotyarko_O Quote Share this post Link to post Short link Share on other sites
Kapany3uk 948 #359135 Posted October 14, 2016 Самая большая задержка у приборов наблюдений (0.7с). Просмотри тот момент в замедленном режиме. Анимация уже закончится (дойдёт до конца), пройдёт немного времени и произойдёт восстановление модуля. Откуда такая задержка - непонятно. А потом посмотри, как всё ровно происходит с орудием... Точь-в-точь. так может выставить увеличение таймера на эту задержку (которую опытным путем локализовал) для каждого модуля индивидуально? Хотя, имхо, вообще не мешает: не было ничего и тут таймер, совпадающий с анимацией, а что модуль готов и голос чуть позже - да эти 0.7 (максимальные) в бою даже не заметишь! :)) Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #359137 Posted October 14, 2016 (edited) так может выставить увеличение таймера на эту задержку (которую опытным путем локализовал) для каждого модуля индивидуально? Ну, это надо сесть и определить точную задержку у каждого модуля на замедленном реплее, потом прибавлять смещение к таймерам при отсчёте... Оно нам надо?) Хотя, имхо, вообще не мешает Солидарен. Edited October 14, 2016 by Kotyarko_O Quote Share this post Link to post Short link Share on other sites
Kapany3uk 948 #359140 Posted October 14, 2016 А на одновременное (или с небольшой задержкой) сбитие обеих гусениц я пока что не обращал внимания, там по идеи таймер будет путаться, т.к. сейчас там на обе гусеницы один таймер. Надо подумать, как правильно сделать... реально ситуация относительно редкая, хотя было бы здорово, если при сбитии второй гусли во время ремонта первой, таймер просто "переключался" на "новый" отсчет Ну, это надо сесть и определить точную задержку у каждого модуля на замедленном реплее, потом прибавлять смещение к таймерам при отсчёте... Оно нам надо?) имхо забить :)) Quote Share this post Link to post Short link Share on other sites
hat3k 80 #359166 Posted October 14, 2016 (edited) А на одновременное (или с небольшой задержкой) сбитие обеих гусениц я пока что не обращал внимания, там по идеи таймер будет путаться, т.к. сейчас там на обе гусеницы один таймер. Надо подумать, как правильно сделать.. Выводить таймер по последней сбитой/обновлённо сбитой гусле. Во-первых, если ты её сам не чинишь, то время починки первой ни о чём не говорит. Во-вторых, условие вывода таймера всего одно. Edited October 14, 2016 by hat3k Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #359168 Posted October 14, 2016 (edited) Тогда сделаю таймер для последней сбитой\повторно сбитой гусеницы.Нужен реплей, где есть такая ситуация (желательно сбитие двумя разными выстрелами, с каким-то промежутком; если обе гусеницы слетели от одного попадания\сплеша, то разница между ремонтом во времени будет слишком мала, чтобы достаточно отследить поведение). Edited October 14, 2016 by Kotyarko_O Quote Share this post Link to post Short link Share on other sites
AtotIK 580 #359217 Posted October 14, 2016 (edited) @Kotyarko_O, вот такое скинули мне. Видимо после моя не скидывает счётчик. Edited October 14, 2016 by AtotIK Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #359239 Posted October 14, 2016 Видимо после боя не скидывает счётчик. Точно, я это не учёл. Спасибо, исправлю. Quote Share this post Link to post Short link Share on other sites
Kapany3uk 948 #359336 Posted October 14, 2016 (edited) Точно, я это не учёл. Спасибо, исправлю. ждем Edited October 14, 2016 by Kapany3uk Quote Share this post Link to post Short link Share on other sites