Jump to content
Korean Random

[Лог нанесенного урона / Hitlog] V2 (py_macro)


Recommended Posts

6 часов назад, ktulho сказал:

Добавил.

Парсер не может его пережевать, хоть обучен миксовать int и float.

Можно просто урон в макросе сделать целым, но лучше же парсер научить. Я не первый раз сталкиваюсь.

int(float('530.0'))

2020-10-12 02:30:19.008: INFO: =============================
2020-10-12 02:30:19.008: INFO: 2020-10-12 02:30:19: [ERROR] mods/xfw_libraries/xfw/events.pyc
2020-10-12 02:30:19.008: ERROR: Traceback (most recent call last):
2020-10-12 02:30:19.008: ERROR:   File "events", line 58, in __event_handler
2020-10-12 02:30:19.009: ERROR:   File "events", line 25, in fire
2020-10-12 02:30:19.009: ERROR:   File "res_mods/configs/xvm/py_macro\xvm\hitLog.py", line 910, in _Vehicle_onHealthChanged
2020-10-12 02:30:19.009: ERROR:     g_dataHitLog.onHealthChanged(self, newHealth, attackerID, attackReasonID)
2020-10-12 02:30:19.009: ERROR:   File "res_mods/configs/xvm/py_macro\xvm\hitLog.py", line 348, in onHealthChanged
2020-10-12 02:30:19.009: ERROR:     self.updateData()
2020-10-12 02:30:19.009: ERROR:   File "res_mods/configs/xvm/py_macro\xvm\hitLog.py", line 302, in updateData
2020-10-12 02:30:19.009: ERROR:     self.updateLabels()
2020-10-12 02:30:19.010: ERROR:   File "res_mods/configs/xvm/py_macro\xvm\hitLog.py", line 220, in updateLabels
2020-10-12 02:30:19.010: ERROR:     g_hitLogs.output()
2020-10-12 02:30:19.010: ERROR:   File "res_mods/configs/xvm/py_macro\xvm\hitLog.py", line 824, in output
2020-10-12 02:30:19.010: ERROR:     log.output()
2020-10-12 02:30:19.010: ERROR:   File "res_mods/configs/xvm/py_macro\xvm\hitLog.py", line 781, in output
2020-10-12 02:30:19.010: ERROR:     self.listLog = self.groupHitByFireRamming.getListLog()
2020-10-12 02:30:19.010: ERROR:   File "res_mods/configs/xvm/py_macro\xvm\hitLog.py", line 692, in getListLog
2020-10-12 02:30:19.010: ERROR:     self.udateListLog()
2020-10-12 02:30:19.010: ERROR:   File "res_mods/configs/xvm/py_macro\xvm\hitLog.py", line 653, in udateListLog
2020-10-12 02:30:19.010: ERROR:     formattedString = parser(_config.get(self.S_FORMAT_HISTORY, ''), macros)
2020-10-12 02:30:19.010: ERROR:   File "res_mods/configs/xvm/py_macro\xvm\hitLog.py", line 80, in parser
2020-10-12 02:30:19.010: ERROR:     return parser_addon.parser_addon(notParsedStr, macros)
2020-10-12 02:30:19.010: ERROR:   File "res_mods/configs/xvm/py_macro\xvm\parser_addon.py", line 6, in parser_addon
2020-10-12 02:30:19.010: ERROR:     return _parser(strHTML, dict_macros)
2020-10-12 02:30:19.010: ERROR:   File "res_mods/configs/xvm/py_macro\xvm\parser_addon.py", line 153, in _parser
2020-10-12 02:30:19.010: ERROR:     _macro, non = formatMacro(substr, macros)
2020-10-12 02:30:19.011: ERROR:   File "res_mods/configs/xvm/py_macro\xvm\parser_addon.py", line 92, in formatMacro
2020-10-12 02:30:19.011: ERROR:     compar = comparing(_macro, _operator, _math)
2020-10-12 02:30:19.011: ERROR:   File "res_mods/configs/xvm/py_macro\xvm\parser_addon.py", line 17, in comparing
2020-10-12 02:30:19.011: ERROR:     _math = int(_math)
2020-10-12 02:30:19.011: ERROR: ValueError: invalid literal for int() with base 10: '530.0'
2020-10-12 02:30:19.011: INFO: =============================

 

Link to comment
Short link
Share on other sites

3 часа назад, ktulho сказал:

Нужен пример.

Макрос новый,. Когда сравниваем с другими циферками типа:

{{shell-dmg={{dmg}}?aga|ne}}

хотЛога нет а при каждом уроне вот тот лог. 

Вот такие забавные у нас данные.

{{shell-dmg}} = '530.0'

{{dmg}} = 530

 

parser_addon когда пробует привести к целому этот shell-dmg вылетает с ValueError

Ну вот кароче:

>>> int('530.0')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '530.0'
>>> int(float('530.0'))
530
>>> int(530.0)
530

 

Link to comment
Short link
Share on other sites

Та хотелось минимум, придуманный с лога. Но поковырятся в тех фантазиях молодости пришлось  таки.

Пока только осилил уменьшить лог до одного, пожирневшего вложенностями, макроса, без которого, ошибки нет., По утру ещё поковыряю.

{{alive?{{shell-dmg={{dmg}}?{{0%5d~%}}|{{py:abs({{py:mul({{py:div({{py:sub({{dmg}}, {{shell-dmg}})}}, {{shell-dmg}})}},100)}})<26?{{dmg>{{shell-dmg}}?<font color='#00FF00'>{{py:mul({{py:div({{py:sub({{dmg}}, {{shell-dmg}})}}, {{shell-dmg}})}},100)%5.1f~%}}</font>|<font color='#FF3333'>{{py:mul({{py:div({{py:sub({{shell-dmg}}, {{dmg}})}}, {{shell-dmg}})}},100)%5.1f~%}}</font>}}|{{c:type-shell=FFFFFF?<font color='#ffff55'>{{py:div(100, {{py:div({{py:div({{shell-dmg}}, 2)}}, {{dmg}})}})%5.1f~%}}</font>|}}}}}}|}}{{my-vtype-key=SPG?<tab>{{splash-hit?|+}}}}

Ух орну если  abs станет крайним.

 

Link to comment
Short link
Share on other sites

10 минут назад, BuSH сказал:

Та хотелось минимум, придуманный с лога. Но поковырятся в тех фантазиях молодости пришлось  таки.

Пока только осилил уменьшить лог до одного, пожирневшего вложенностями, макроса, без которого, ошибки нет., По утру ещё поковыряю.

{{alive?{{shell-dmg={{dmg}}?{{0%5d~%}}|{{py:abs({{py:mul({{py:div({{py:sub({{dmg}}, {{shell-dmg}})}}, {{shell-dmg}})}},100)}})<26?{{dmg>{{shell-dmg}}?<font color='#00FF00'>{{py:mul({{py:div({{py:sub({{dmg}}, {{shell-dmg}})}}, {{shell-dmg}})}},100)%5.1f~%}}</font>|<font color='#FF3333'>{{py:mul({{py:div({{py:sub({{shell-dmg}}, {{dmg}})}}, {{shell-dmg}})}},100)%5.1f~%}}</font>}}|{{c:type-shell=FFFFFF?<font color='#ffff55'>{{py:div(100, {{py:div({{py:div({{shell-dmg}}, 2)}}, {{dmg}})}})%5.1f~%}}</font>|}}}}}}|}}{{my-vtype-key=SPG?<tab>{{splash-hit?|+}}}}

Ух орну если  abs станет крайним.

 

Что здесь считается?

Link to comment
Short link
Share on other sites

разница от базового урона :)

эта штука успешно откатала несколько десятков тысяч боёв ) оно рабочее если че

но когда я сам прикручивал этот макрос, он был изначально INT

  

07.10.2020 в 08:15, BuSH сказал:

self.data['shellDamage'] = int(_shells['shellDamage'])

 

Edited by BuSH
Link to comment
Short link
Share on other sites

@BuSH Этот макрос не подходит?

{{dmg-deviation}} - TODO / отклонение нанесенного урона от номинального урона снаряда в процентах. Возвращает 0.0, если техника была уничтожена выстрелом, или выстрел был фугасом и отклонение составило больше 25%.

 

Link to comment
Short link
Share on other sites

20 часов назад, BuSH сказал:

{{shell-dmg={{dmg}}?aga|ne}}

наоборот :) 

{{dmg={{shell-dmg}}?aga|ne}} вместо dmg любой integer

 

перед сравнением тип данных с 1-го объекта применится ко 2-му

dmg у нас INT за что  уносит в выделенное условие

 

image.png.6a0d2a23440f1615934041524c5eda24.png

за что и 2-й объект получает тоже INT

но у нас _math, который {{shell-dmg}}, очень хитрое число  и int() не терпит

image.png.deefa9373ca1a48b8911d35885815350.png

не так много городить костелей пришлось для воспроизведения

 

ну и кек, чебурек

image.thumb.png.a0c8b701d673f3ef8ce17981c0c06fc4.png

махнул местами )

Edited by BuSH
Link to comment
Short link
Share on other sites

  • 2 weeks later...
  • 1 month later...

День добрый.

В hotkeys.xc хотел поставить 9 (KEY_8), не работает, как впрочем и остальные в том же ряду.

    "hitLogAltMode":       { "enabled": true, "keyCode": 9, "onHold": true },

 

Это баг какой-то? 

Link to comment
Short link
Share on other sites

@BuSH  мда... бредово у них устроено... помогло, спасибо. Но как по мне все равно имеет место косяк. Я на эти цифры, не убирая их в настройках игры установил TotalEfficiency и все работает, только хитлог отказался.

Link to comment
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...