Jump to content
Korean Random
ktulho

damageLog средствами XVM.

Recommended Posts

-21 22:45:40.490: NOTICE: [NOTE] (scripts/client/game.py, 465): [sPACE] Loading space: spaces/34_redshire
2017-06-21 22:45:41.888: WARNING: [WARNING] (scripts/client/gui/Scaleform/framework/entities/BaseDAAPIComponent.py, 62): Class with alias `teamBasesPanel` already registered in object <gui.Scaleform.daapi.view.battle.classic.page.ClassicPage object at 0x372F8A50>. It will be rewritten.
2017-06-21 22:45:48.446: INFO: [sOUND_ERROR] Sound fail: 2967843034 - ErrorCode: 15
2017-06-21 22:49:07.009: INFO: =============================
2017-06-21 22:49:07.009: INFO: 2017-06-21 22:49:07: [ERROR] mods/com.modxvm.xfw/python/xfw/events.pyc
2017-06-21 22:49:07.009: ERROR: Traceback (most recent call last):
2017-06-21 22:49:07.009: ERROR:   File "mods/xfw/python/xfw/events.py", line 55, in __event_handler
2017-06-21 22:49:07.010: ERROR:   File "mods/xfw/python/xfw/events.py", line 24, in fire
2017-06-21 22:49:07.010: ERROR:   File "./res_mods/mods/../configs/xvm/py_macro\xvm\damageLog.py", line 976, in Vehicle_onHealthChanged
2017-06-21 22:49:07.010: ERROR:     data.onHealthChanged(self, newHealth, attackerID, attackReasonID)
2017-06-21 22:49:07.010: ERROR:   File "./res_mods/mods/../configs/xvm/py_macro\xvm\damageLog.py", line 628, in onHealthChanged
2017-06-21 22:49:07.010: ERROR:     self.updateData()
2017-06-21 22:49:07.010: ERROR:   File "./res_mods/mods/../configs/xvm/py_macro\xvm\damageLog.py", line 471, in updateData
2017-06-21 22:49:07.010: ERROR:     self.updateLabels()
2017-06-21 22:49:07.010: ERROR:   File "./res_mods/mods/../configs/xvm/py_macro\xvm\damageLog.py", line 532, in updateLabels
2017-06-21 22:49:07.010: ERROR:     _logAlt.output()
2017-06-21 22:49:07.010: ERROR:   File "./res_mods/mods/../configs/xvm/py_macro\xvm\damageLog.py", line 833, in output
2017-06-21 22:49:07.010: ERROR:     self.addLine(attackerID, attackReasonID)
2017-06-21 22:49:07.010: ERROR:   File "./res_mods/mods/../configs/xvm/py_macro\xvm\damageLog.py", line 771, in addLine
2017-06-21 22:49:07.010: ERROR:     self.dataLog['fireDuration'] = BigWorld.time() - beginFire if attackReasonID == 1 else None
2017-06-21 22:49:07.010: ERROR: TypeError: unsupported operand type(s) for -: 'float' and 'NoneType'
2017-06-21 22:49:07.011: INFO: =============================
2017-06-21 22:49:16.170: INFO: 2017-06-21 22:49:16: 1275, gun
2017-06-21 22:49:17.038: INFO: 2017-06-21 22:49:17: 763, None
2017-06-21 22:49:41.997: INFO: 2017-06-21 22:49:41: 1275, leftTrack
2017-06-21 22:49:46.792: INFO: 2017-06-21 22:49:46: 1275, leftTrack
2017-06-21 22:50:01.594: INFO: [PCM] [WARNING] Can't get distance 8791505 8791527
2017-06-21 22:50:20.593: INFO: [PCM] [WARNING] Can't get distance 8791513 8791527
2017-06-21 22:51:12.483: INFO: [PCM] [WARNING] Can't get distance 8791510 8791527
2017-06-21 22:52:17.631: INFO: 2017-06-21 22:52:17: 763, gunner1
2017-06-21 22:52:54.125: INFO: [PCM] [WARNING] Can't get distance 8791509 8791527

сборка 7679

Edited by fgcwsxjegcbk2014

Share this post


Link to post

Short link
Share on other sites

 

 

сборка 7679
, повторяю:

 

 

fgcwsxjegcbk2014, нужен риплей. 

Share this post


Link to post

Short link
Share on other sites

@ktulho,

 

 

Получается тут 2 момента неправильно показывает - тип снаряда и цвет по валюте. Где об этом писалось не нашёл, может есть возможность хоть что-то тут исправить.

Присоединяюсь к вопросу и немного дополню. Голдовые (премиум) ОФ снаряды арты и японских ТТ9-10 в логе имеют цвет обычных (не выделяются "золотым"). И наоборот, обычные ОФ снаряды топ ПТ британии по логу проходят как голдовые.

Share this post


Link to post

Short link
Share on other sites

 

 

Голдовые (премиум) ОФ снаряды арты и японских ТТ9-10 в логе имеют цвет обычных (не выделяются "золотым"). И наоборот, обычные ОФ снаряды топ ПТ британии по логу проходят как голдовые.

Повторяю:

 

 

если у орудия есть фугасы и хэшфугасы, то не определить тип снаряда.
.

Вот здесь это обсуждалось с @Ekspoint.

Share this post


Link to post

Short link
Share on other sites

@ktulho, у арты и японцев нет хэшфугасов. Но насколько понял из обсуждения по ссылке, определение типа* снаряда с помощью effectsIndex невозможно и для этих орудий.
Есть ли возможность использовать иной (как у WG) метод определения? Ведь клиент получает данные, необходимые для идентификации типа*.
 
* Во избежании недоразумений, под типом подразумеваю обычный или премум (голдовый) фугас. Про хэш речи не идет.

Edited by Crus

Share this post


Link to post

Short link
Share on other sites

 

 

у арты и японцев нет хэшфугасов. Но насколько понял из обсуждения по ссылке, определение типа* снаряда с помощью effectsIndex невозможно и для этих орудий.
, этому обсуждению уже год почти, тогда у арты были хэшфугасы.

 

 

Есть ли возможность использовать иной (как у WG) метод определения? Ведь клиент получает данные, необходимые для идентификации типа*.

Если вы про лог повреждений от WG, то я не вижу возможности использовать оттуда информацию в данном моде.

Share this post


Link to post

Short link
Share on other sites

Если вы про лог повреждений от WG, то я не вижу возможности использовать оттуда информацию в данном моде.

Именно про него, ясно. Если не затруднит, можете прояснить, технически эта информация недоступна для модов на питоне вообще, т.е. сам лог повреждений от WG получает данные по-другому?

Share this post


Link to post

Short link
Share on other sites

 

 

Если не затруднит, можете прояснить, технически эта информация недоступна для модов на питоне вообще, т.е. сам лог повреждений от WG получает данные по-другому?
, доступна. 

Share this post


Link to post

Short link
Share on other sites

@ktulho

Если эта информация доступна, то из-за чего отсутствует возможность её использования в данном моде?

 

После того как вы прояснили причину невозможности определения голды (если "эффекты снарядов" одинаковые), стало ясно, что она затрагивает и другие танки, у которых основной и премум снаряд однотипные. Например, шведские ПТ начиная с 8 уровня. Часто недоумевал, что даже выйдя на сверхбронированном танке, эти пт никогда не стреляют голдой :) Второй же просмотренный реплей подтвердил догадку, что было наивно так думать.

Edited by Crus

Share this post


Link to post

Short link
Share on other sites

 

 

Если эта информация доступна, то из-за чего отсутствует возможность её использования в данном моде?
, проблема, скажем так, в "синхронизации" полученной информации. Сейчас информация в damageLog поступает из 5 источников. И уже сейчас могут быть ситуации, когда damagLog отобразит не верную информацию (хотя это редкая ситуация). Добавление еще одного "источника информации", ещё больше усложнить ситуацию.

Я еще посмотрю, может что и придумаю.

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

 

 

проблема, скажем так, в "синхронизации" полученной информации.

Я еще посмотрю, может что и придумаю.

Удалось посмотреть? Если "да", то к чему пришли? Если "нет", то у меня есть возможность в ближайшие дни попытаться с этим повозиться.

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Я не смотрел. Повозитесь, если сделаете, я буду только рад. 

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Не показывает лог полученного урона... вообще.

Edited by GAmer_YRa

Share this post


Link to post

Short link
Share on other sites

Вы не полностью обновили XVM. Обновите папку py_macro. 

Share this post


Link to post

Short link
Share on other sites

@ktulho,

Все оказалось несколько запущеннее, чем я предполагал. Вот что удалось выяснить о событиях, используемых в логе повреждений от WG, т.н. "BattleEvents":

  • Для некоторых воздействий на игрока, регистрируемых в логе damageLog, отсутствуют BattleEvents.
  • Порядок возникновения BattleEvents в "последовательности событий" от различных "источников информации" недетерминирован. Например, простейший случай - урон от выстрела без нанесения критов. Сейчас в damageLog ему соответствует последовательность (USH): updateVehicleHealth -> showDamageFromShot -> HealthChanged. BattleEvents же может возникнуть в любой момент данной последовательности: в самом начале (еще до updateVehicleHealth), в самом конце (после HealthChanged) или где-то в середине.
  • В рамках одного BattleEvents может приходить информация как об одном, так и о нескольких событиях сразу. Например, может поступить список событий, одно из которых относится к "завершенной" последовательности (USH), а другое - к еще не начавшейся.
  • Событие BattleEvents к "завершенной" последовательности (USH) может возникнуть уже после того, как начнется новая (в случае получения/блокирования нескольких выстрелов за короткий период времени)
  • и различные комбинации вышеперечисленного

В общем-то, текущая "альфа" с поддержкой BattleEvents на моей небольшой тестовой выборке работает. Число раз, когда мне казалось что "теперь то уже все", а позже находилась очередная "неучтённая" ситуация, далеко от нуля. Поэтому считаю, что добавлять BattleEvents в damageLog без проведения регрессионного тестирования на большом числе реплеев - не лучшая идея. Кто-нибудь готов за это взяться? Возможно имеет смысл тестировать на реплеях с wotreplays с большими цифрами заблокированного урона?

 

P.S. Составил полный список танков с орудиями, для которых нет возможности определить голдовые снаряды текущим методом, т.е. без использования BattleEvents:

Орудия ниже 5-го уровня:

 

[czech] Kolohousenka (Cz06_Kolohousenka)
[germany] 43 M. Toldi III (G117_Toldi_III)
[japan] Renault Otsu (J01_NC27)
[japan] Type 97 Te-Ke (J02_Te_Ke)
[japan] Type 95 Ha-Go (J03_Ha_Go)
[japan] Type 98 Ke-Ni (J04_Ke_Ni)
[japan] Type 98 Ke-Ni Otsu (J05_Ke_Ni_B)
[japan] Type 5 Ke-Ho (J06_Ke_Ho)
[japan] Type 97 Chi-Ha (J07_Chi_Ha)
[japan] Type 1 Chi-He (J09_Chi_He)
[japan] Chi-Ni (J15_Chi_Ni)
[japan] Type 91 Heavy (J21_Type_91)
[sweden] Lago (S04_Lago_I)
[sweden] Strv fm/21 (S05_Strv_M21_29)
[sweden] Strv m/40L (S12_Strv_M40)
[sweden] L-60 (S15_L_60)
[sweden] Sav m/43 (S19_Sav_M43)
[sweden] Ikv 72 (S20_Ikv_72)
[uk] Vickers Medium Mk. I (GB01_Medium_Mark_I)
[uk] Vickers Medium Mk. II (GB05_Vickers_Medium_Mk_II)
[uk] Vickers Medium Mk. III (GB06_Vickers_Medium_Mk_III)
[uk] Grant (GB17_Grant_I)
[uk] Universal Carrier 2-pdr (GB39_Universal_CarrierQF2)
[ussr] А-32 (R68_A-32)

 

Орудия 5-го уровня и выше:

[france] AMX 13 90 (F17_AMX_13_90)
[japan] Type 3 Chi-Nu (J08_Chi_Nu)
[japan] Type 4 Chi-To (J10_Chi_To)
[japan] Type 5 Chi-Ri (J11_Chi_Ri)
[japan] Type 3 Chi-Nu Kai (J12_Chi_Nu_Kai)
[japan] Type 5 Heavy (J20_Type_2605)
[japan] O-I Experimental (J23_Mi_To)
[japan] O-I (J24_Mi_To_130_tons)
[japan] Type 4 Heavy (J25_Type_4)
[japan] O-Ho (J27_O_I_120)
[japan] O-Ni (J28_O_I_100)
[sweden] Strv m/42 (S02_Strv_M42)
[sweden] Strv 74 (S07_Strv_74)
[sweden] Strv 103-0 (S10_Strv_103_0_Series)
[sweden] Strv 103B (S11_Strv_103B)
[sweden] Leo (S13_Leo)
[sweden] Ikv 103 (S14_Ikv_103)
[sweden] Emil II (S17_EMIL_1952_E2)
[sweden] Emil I (S18_EMIL_1951_E1)
[sweden] UDES 03 (S21_UDES_03)
[sweden] Strv S1 (S22_Strv_S1)
[sweden] Strv 81 (S23_Strv_81)
[uk] Sherman Firefly (GB19_Sherman_Firefly)
[uk] Centurion Mk. 7/1 (GB24_Centurion_Mk3)
[uk] Challenger (GB41_Challenger)
[uk] Archer (GB44_Archer)
[uk] Achilles (GB45_Achilles_IIC)
[uk] FV215b (183) (GB48_FV215b_183)
[uk] Sherman III (GB50_Sherman_III)
[uk] Alecto (GB57_Alecto)
[uk] Charioteer (GB80_Charioteer)
[uk] FV4005 Stage II (GB83_FV4005)
[uk] Chieftain Mk. 6 (GB84_Chieftain_Mk6)
[uk] T95/Chieftain (GB88_T95_Chieftain_turret)
[usa] T49 (A100_T49)
[usa] XM551 Sheridan (A116_XM551)
[usa] T26E5 Patriot (A117_T26E5_Patriot)
[usa] T26E5 (A117_T26E5)
[ussr] Т-54 облегчённый (R109_T54S)
[ussr] ИСУ-130 (R111_ISU130)
[ussr] СУ-100Y (R49_SU100Y)
[ussr] КВ-2 (R77_KV2)

 

Арта:

[france] Lorraine 155 mle. 50 (F24_Lorraine155_50)
[france] Lorraine 155 mle. 51 (F25_Lorraine155_51)
[france] Bat.-Châtillon 155 58 (F38_Bat_Chatillon155_58)
[france] Bat.-Châtillon 155 55 (F67_Bat_Chatillon155_55)
[germany] G.W. Tiger (G45_G_Tiger)
[germany] G.W. Panther (G49_G_Panther)
[germany] G.W. E 100 (G61_G_E)
[germany] G.W. Tiger (P) (G94_GW_Tiger_P)
[uk] Crusader 5.5-in. SP (GB29_Crusader_5inch)
[uk] FV3805 (GB30_FV3805)
[uk] Conqueror Gun Carriage (GB31_Conqueror_Gun)
[uk] Sexton I (GB78_Sexton_I)
[uk] FV207 (GB79_FV206)
[usa] M12 (A32_M12)
[usa] M40/M43 (A37_M40M43)
[usa] T92 HMC (A38_T92)
[usa] M53/M55 (A88_M53_55)
[ussr] С-51 (R15_S-51)
[ussr] СУ-14-2 (R27_SU-14)
[ussr] 212А (R51_Object_212)
[ussr] Объект 261 (R52_Object_261)
[ussr] СУ-14-1 (R91_SU14_1)

Имхо, действительно интересны только ЛТ-9 (особенно 13 90) и шведы.

Edited by Crus
  • Upvote 2

Share this post


Link to post

Short link
Share on other sites

@Crus, отличная работа. Добавлю по второму пункту. Последовательность может быть разной.

  • showDamageFromShot - не пробито или рикошет
  • showVehicleDamageInfo -> showDamageFromShot - попадание без урона, но с повреждением модуля или экипажа (крит)
  • showDamageFromShot -> updateStunInfo -> onHealthChanged - попадание с уроном и Stun
  • updateStunInfo - только Stun
  • showDamageFromShot -> onHealthChanged - попадание с уроном
  • showVehicleDamageInfo -> showDamageFromShot -> updateStunInfo -> onHealthChanged - попадание с критом, уроном и Stun
  • showDamageFromExplosion -> updateStunInfo -> onHealthChanged - урон осколками и Stun
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...