Jump to content
Korean Random
Wanket

Количество снарядов в боекомплекте

Recommended Posts

Как узнать, сколько и каких снарядов в боекомплекте танка во время боя? Облазил все исходники WoT, но не нашел. Наверное плохо искал

Share this post


Link to post

Short link
Share on other sites

@Wanket,

from gui.battle_control import g_sessionProvider
g_sessionProvider.getAmmoCtrl()._AmmoController__ammo
# 0.9.15.1:
# g_sessionProvider.shared.ammo._AmmoController__ammo
Edited by ShadowHunterRUS
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

В итоге вот такой словарь

{15402: (25, 0)}

Хотя снарядов 25, 15, 2. Мне бы как нибудь получить список всех снарядов

Share this post


Link to post

Short link
Share on other sites

Исправил

{15402: (25, 0), 15146: (2, 0), 15658: (15, 0)}

Тк я пытался получить _AmmoController__ammo когда он только создавался, я получал неполный словарь. time.sleep(5) помог, хоть это немного и костыльно.

  • Upvote 2
  • Downvote 1

Share this post


Link to post

Short link
Share on other sites


0.9.15.1
from gui.battle_control import g_sessionProvider
totalShots, shotsInClip = g_sessionProvider.shared.ammo.getCurrentShells()
0.9.15.0.1
from gui.battle_control import g_sessionProvider
totalShots, shotsInClip = g_sessionProvider.getAmmoCtrl().getCurrentShells()

 

Edited by Ekspoint
  • Upvote 2

Share this post


Link to post

Short link
Share on other sites

Тк я пытался получить _AmmoController__ammo когда он только создавался, я получал неполный словарь. time.sleep(5) помог, хоть это немного и костыльно.

там есть специальные события на обновление этих цифер

onShellsAdded, onShellsUpdated, onNextShellChanged, onCurrentShellChanged, onGunReloadTimeSet, onGunReloadTimeSetInPercent 
from gui.battle_control import g_sessionProvider
ammoCtrl = g_sessionProvider.getAmmoCtrl()
def _onShellsAdded(intCD, descriptor, quantity, _, gunSettings):
    print quantity
ammoCtrl.onShellsAdded += _onShellsAdded
Edited by ShadowHunterRUS
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Правда я так и не понял как подписываться на Events

,

ammoCtrl.onShellsAdded += _onShellsAdded

AttributeError: 'NoneType' object has no attribute 'onShellsAdded' 

Делаю подписку после загрузки боя

 

UPD: проверяю все в реплеях

Edited by Wanket

Share this post


Link to post

Short link
Share on other sites

,

А когда не рано? Не нашел, где и когда идет присвоение onShellsAdded

 

UPD: Нашел когда. После создания AmmoController

Edited by Wanket

Share this post


Link to post

Short link
Share on other sites
Guest
This topic is now closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...