Jump to content
Korean Random

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


Recommended Posts

По поводу 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'

 

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

Link to comment
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)
Link to comment
Short link
Share on other sites

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

 

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

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

Edited by Just.House
  • Upvote 1
Link to comment
Short link
Share on other sites

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

 

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

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

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

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

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

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

Link to comment
Short link
Share on other sites

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

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

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

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

с новым эвентом ON_TARGET_CHANGE имхо уже не надо. Если только эвент будет работать ожидаемо: навёл на один танк, нажал хоткей - панелька с инфой по этому танку, перевёл на другой - нажал - панелька изменилась тоже
Link to comment
Short link
Share on other sites

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

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

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

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

Link to comment
Short link
Share on other sites

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

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