Jump to content
Korean Random
goodman

Динамические макросы в Python

Recommended Posts

да, надо добавить, и кучу других тоже. где время на все взять?

  • Upvote 2

Share this post


Link to post

Short link
Share on other sites

По поводу http://www.koreanrandom.com/forum/topic/31856-%D0%B4%D0%B8%D0%BD%D0%B0%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5-%D0%BC%D0%B0%D0%BA%D1%80%D0%BE%D1%81%D1%8B-%D0%B2-python/page-19?do=findComment&comment=337955

def new_updateParams(self):
    old_updateParams(self)
    battle_info.avgDmg = int(g_itemsCache.items.getVehicleDossier(g_currentVehicle.item.intCD).getRandomStats().getAvgDamage())

old_updateParams = Hangar._Hangar__updateParams
Hangar._Hangar__updateParams = new_updateParams

После покупки нового танка ангар завис с сообщением в логе питона

 

2016-08-12 20:59:13.640: ERROR: [EXCEPTION] (scripts/common/Event.py, 46):
Traceback (most recent call last):
  File "scripts/common/Event.py", line 44, in __call__
  File "scripts/client/gui/Scaleform/daapi/view/lobby/hangar/Hangar.py", line 325, in __onCurrentVehicleChanged
  File "res_mods/configs/xvm/py_macro\mainGun_avgDmg.py", line 109, in new_updateParams
    battle_info.avgDmg = int(g_itemsCache.items.getVehicleDossier(g_currentVehicle.item.intCD).getRandomStats().getAvgDamage())
TypeError: int() argument must be a string or a number, not 'NoneType'

 

Как пресечь ошибку?

Share this post


Link to post

Short link
Share on other sites

Проверять 

g_itemsCache.items.getVehicleDossier(g_currentVehicle.item.intCD).getRandomStats().getAvgDamage()

если это none, значит не нужно

battle_info.avgDmg = int(...)

Share this post


Link to post

Short link
Share on other sites

Так нормально?

avgDmg = g_itemsCache.items.getVehicleDossier(g_currentVehicle.item.intCD).getRandomStats().getAvgDamage()
battle_info.avgDmg = int(avgDmg) if avgDmg is Not None else 0

ps. есть разница

battle_info.avgDmg = int(avgDmg) if avgDmg is Not None else 0
или
battle_info.avgDmg = 0 if avgDmg is None else int(avgDmg)

Share this post


Link to post

Short link
Share on other sites

Наверно можно так

battle_info.avgDmg = 0 if not avgDmg else int(avgDmg)

Второй вариант должен работать. 

Edited by ktulho
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Наверно можно так

battle_info.avgDmg = 0 if not avgDmg else int(avgDmg)

Второй вариант должен работать. 

Спасибо, помогло.

Share this post


Link to post

Short link
Share on other sites

 

 

Кстати, а не включить ли нам одну из этих панелек в дефолт?

я за первую картинку 

Share this post


Link to post

Short link
Share on other sites

да, надо добавить, и кучу других тоже. где время на все взять?

 

Жаль конечно, но адекватные пользователи на этом форуме поймут что вы занимаетесь таким обширным модом в одиночку.

Так что будем ждать как появится время на это :ok:

Edited by Just.House
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Кстати, а не включить ли нам одну из этих панелек в дефолт?

 

Посмотри на досуге, концепт под дефолт:

 

'Скрин'

 

17c1be9ed5c7.png

 

 

Обсуждение

Edited by night_dragon_on

Share this post


Link to post

Short link
Share on other sites

Так а я тут при чем - договаривайтесь в теме по дефолтному конфигу.

Share this post


Link to post

Short link
Share on other sites

Так а я тут при чем - договаривайтесь в теме по дефолтному конфигу.

 

Я по коду, сойдет или нет. А детали по оформлению в теме дефолта обсудим.

Edited by night_dragon_on

Share this post


Link to post

Short link
Share on other sites

 

 

ну и плохо, не должно было
, теперь опять работает. 

Share this post


Link to post

Short link
Share on other sites

, теперь опять работает. 

Да, я сделал событие. Решил, что не стоит его отдельно выносить в "updateEvent".

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Возможно ли добавить новый "updateEvent" который бы обновлял поле по нажатии на горячую клавишу?

Насколько это сейчас нужно, с учетом уже добавленных событий?

Да, я сделал событие. Решил, что не стоит его отдельно выносить в "updateEvent".

Отключил, так как конфликтует с ушами.

Share this post


Link to post

Short link
Share on other sites

Насколько это сейчас нужно, с учетом уже добавленных событий?

Отключил, так как конфликтует с ушами.

речь шла о панельке информации над танком в прицеле

Либо нужно событие "при нажатии на кнопку" либо "наведение на цель" (союзник, противник)

с новым эвентом ON_TARGET_CHANGE имхо уже не надо. Если только эвент будет работать ожидаемо: навёл на один танк, нажал хоткей - панелька с инфой по этому танку, перевёл на другой - нажал - панелька изменилась тоже

Share this post


Link to post

Short link
Share on other sites

речь шла о панельке информации над танком в прицеле

с новым эвентом ON_TARGET_CHANGE имхо уже не надо. Если только эвент будет работать ожидаемо: навёл на один танк, нажал хоткей - панелька с инфой по этому танку, перевёл на другой - нажал - панелька изменилась тоже

можно даже не нажимать хоткей, или держать его нажатым

проще проверить самому, как оно работает

Share this post


Link to post

Short link
Share on other sites

вот теперь, по прошествии достаточного времени, думаю всем понятно зачем была нужна эта тема и зачем вообще нужен такой функционал.)
белые маги получили очень достойный инструментарий в комплекте с поддержкой.
чёрные маги не получили ничего(по буквам Нина Инна Харитон Ульяна Яков)
многие, те кто не мечтал никогда писать моды, уже их пишут.
и всё это безобидно называют пи макросами)

респект разработчикам XVM ! это всё должны были организовать ВГ так то, хотя их влияние тут может и есть.)
  • 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...