Aydomir Posted July 24, 2015 Author Share Posted July 24, 2015 (edited) что значит расширенный? по танкам? Нет, кол-во боев и победы мне ясно, но хочется узнать нанесенный урон, полученный урон, захват/защита базы и т.п. Edited July 24, 2015 by Aydomir @ Quote Link to comment Short link Share on other sites More sharing options...
Helkar Posted July 24, 2015 Share Posted July 24, 2015 Нет, кол-во боев и победы мне ясно, но хочется узнать нанесенный урон, полученный урон, захват/защита базы и т.п. посмотрите список доступных функций: for attr in dir(g_itemsCache.items.getAccountDossier().getRandomStats()): if attr.find('get') == 0: print attr их можно вызвать так: g_itemsCache.items.getAccountDossier().getRandomStats().функция() 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Aydomir Posted July 24, 2015 Author Share Posted July 24, 2015 посмотрите список доступных функций: for attr in dir(g_itemsCache.items.getAccountDossier().getRandomStats()): if attr.find('get') == 0: print attr их можно вызвать так: g_itemsCache.items.getAccountDossier().getRandomStats().функция() У меня не получается получить, можете показать список? Если нет, то не надо. Спасибо. @ Quote Link to comment Short link Share on other sites More sharing options...
Helkar Posted July 24, 2015 Share Posted July 24, 2015 INFO: getAchievement INFO: getAchievements INFO: getArmorUsingEfficiency INFO: getAvgDamage INFO: getAvgDamageBlocked INFO: getAvgDamageDealt INFO: getAvgDamageReceived INFO: getAvgEnemiesSpotted INFO: getAvgFrags INFO: getAvgXP INFO: getBattlesCount INFO: getBattlesCountBefore8_8 INFO: getBattlesCountBefore9_0 INFO: getBattlesCountVer2 INFO: getBattlesCountVer3 INFO: getBattlesStats INFO: getCapturePoints INFO: getDamageAssistedEfficiency INFO: getDamageAssistedRadio INFO: getDamageAssistedTrack INFO: getDamageBlockedByArmor INFO: getDamageDealt INFO: getDamageEfficiency INFO: getDamageReceived INFO: getDeathsCount INFO: getDrawsCount INFO: getDroppedCapturePoints INFO: getFrags8p INFO: getFragsCount INFO: getFragsEfficiency INFO: getHeHits INFO: getHeHitsReceived INFO: getHitsCount INFO: getHitsEfficiency INFO: getLossesCount INFO: getLossesEfficiency INFO: getMarksOfMastery INFO: getMaxDamage INFO: getMaxDamageVehicle INFO: getMaxFrags INFO: getMaxFragsVehicle INFO: getMaxXp INFO: getMaxXpVehicle INFO: getNearestAchievements INFO: getNoDamageShotsReceived INFO: getOriginalXP INFO: getPierced INFO: getPiercedReceived INFO: getPotentialDamageReceived INFO: getRecord INFO: getShotsCount INFO: getShotsReceived INFO: getSignificantAchievements INFO: getSpottedEnemiesCount INFO: getSurvivalEfficiency INFO: getSurvivedBattlesCount INFO: getVehicles INFO: getWinAndSurvived INFO: getWinsCount INFO: getWinsEfficiency INFO: getXP INFO: getXpBefore8_8 2 @ Quote Link to comment Short link Share on other sites More sharing options...
Aydomir Posted July 24, 2015 Author Share Posted July 24, 2015 (edited) INFO: getAchievement INFO: getAchievements INFO: getArmorUsingEfficiency INFO: getAvgDamage INFO: getAvgDamageBlocked INFO: getAvgDamageDealt INFO: getAvgDamageReceived INFO: getAvgEnemiesSpotted INFO: getAvgFrags INFO: getAvgXP INFO: getBattlesCount INFO: getBattlesCountBefore8_8 INFO: getBattlesCountBefore9_0 INFO: getBattlesCountVer2 INFO: getBattlesCountVer3 INFO: getBattlesStats INFO: getCapturePoints INFO: getDamageAssistedEfficiency INFO: getDamageAssistedRadio INFO: getDamageAssistedTrack INFO: getDamageBlockedByArmor INFO: getDamageDealt INFO: getDamageEfficiency INFO: getDamageReceived INFO: getDeathsCount INFO: getDrawsCount INFO: getDroppedCapturePoints INFO: getFrags8p INFO: getFragsCount INFO: getFragsEfficiency INFO: getHeHits INFO: getHeHitsReceived INFO: getHitsCount INFO: getHitsEfficiency INFO: getLossesCount INFO: getLossesEfficiency INFO: getMarksOfMastery INFO: getMaxDamage INFO: getMaxDamageVehicle INFO: getMaxFrags INFO: getMaxFragsVehicle INFO: getMaxXp INFO: getMaxXpVehicle INFO: getNearestAchievements INFO: getNoDamageShotsReceived INFO: getOriginalXP INFO: getPierced INFO: getPiercedReceived INFO: getPotentialDamageReceived INFO: getRecord INFO: getShotsCount INFO: getShotsReceived INFO: getSignificantAchievements INFO: getSpottedEnemiesCount INFO: getSurvivalEfficiency INFO: getSurvivedBattlesCount INFO: getVehicles INFO: getWinAndSurvived INFO: getWinsCount INFO: getWinsEfficiency INFO: getXP INFO: getXpBefore8_8 Спасибо! Я очень благодарен! Просто рад! Edited July 24, 2015 by Aydomir @ Quote Link to comment Short link Share on other sites More sharing options...
Ekspoint Posted July 24, 2015 Share Posted July 24, 2015 (edited) а как установить себе 99999999 хотяб визуально, чтоб чики тащились от моих скринов from gui.Scaleform.locale.MENU import MENU from gui.Scaleform.locale.TOOLTIPS import TOOLTIPS from gui.Scaleform.daapi.view.lobby.header.LobbyHeader import LobbyHeader from gui.Scaleform.daapi.view.lobby.header.LobbyHeader import TOOLTIP_TYPES def New_onCredits(self, accCredits): Old_onCredits(self, accCredits) self.as_creditsResponseS('100 000 000', MENU.HEADERBUTTONS_BTNLABEL_EXCHANGE_GOLD, TOOLTIPS.HEADER_GOLD_EXCHANGE, TOOLTIP_TYPES.COMPLEX) Old_onCredits = LobbyHeader._LobbyHeader__setCredits LobbyHeader._LobbyHeader__setCredits = New_onCredits Edited September 27, 2015 by Dark_Knight_MiX 1 @ Quote Link to comment Short link Share on other sites More sharing options...
bagbirs Posted September 27, 2015 Share Posted September 27, 2015 (edited) подскажите пожалуйста, как получить список танков, оставшихся для получения медали "эксперт"? from gui.shared import g_itemsCache isInDossier = False result = [] awards = g_itemsCache.items.getAccountDossier().getTotalStats().getAchievements(isInDossier) for x in awards[1]: if 'TankExpertAchievement' in str(x): result.append(x) print result результат: [TankExpertAchievement<name=tankExpert; value=0; levelUpValue=282 levelUpTotalValue=324 isDone=False>, TankExpertAchievement<name=tankExpert0; value=0; levelUpValue=50 levelUpTotalValue=63 isDone=False>, TankExpertAchievement<name=tankExpert1; value=0; levelUpValue=59 levelUpTotalValue=71 isDone=False>, TankExpertAchievement<name=tankExpert2; value=0; levelUpValue=49 levelUpTotalValue=55 isDone=False>, TankExpertAchievement<name=tankExpert4; value=0; levelUpValue=42 levelUpTotalValue=44 isDone=False>, TankExpertAchievement<name=tankExpert5; value=0; levelUpValue=45 levelUpTotalValue=52 isDone=False>, TankExpertAchievement<name=tankExpert3; value=0; levelUpValue=16 levelUpTotalValue=17 isDone=False>, TankExpertAchievement<name=tankExpert6; value=0; levelUpValue=21 levelUpTotalValue=22 isDone=False>] как получить список танков для каждой медали? Edited September 30, 2015 by bagbirs @ Quote Link to comment Short link Share on other sites More sharing options...
bagbirs Posted September 30, 2015 Share Posted September 30, 2015 есть еще g_itemsCache.items.getAccountDossier().getTotalStats().getAchievement() и она что то принимает. может с помощью этого можно добраться? @ Quote Link to comment Short link Share on other sites More sharing options...
Steeler Posted June 14, 2017 Share Posted June 14, 2017 Товарищи мододелы, подскажите пожалуйста, как в текущем патче получить информацию о любом игроке по ID? Количество боев, WG рейтинг и тому подобное, при этом, как в лобби, так и в бою. Пока что для себя реализовал через запрос в api.worldoftanks. Но хочу понять, как это сделать через получение accountDossier через Python, ведь g_itemsCache убрали. Нашел код: from helpers import dependency from skeletons.gui.shared import IItemsCache itemsCache = dependency.descriptor(IItemsCache) dossier = itemsCache.items.getAccountDossier(id) Но не могу понять, когда и как правильно вызывать. Вылезает ошибка из за отсутствия items в кэше... P.S. И какой из вариантов правильнее использовать (api.worldoftanks или accountDossier)? Что будет быстрее и лучше в плане оптимизации, например, при тех же 30 запросах в начале боя? @ Quote Link to comment Short link Share on other sites More sharing options...
POLIROID Posted June 14, 2017 Share Posted June 14, 2017 какой из вариантов правильнее использовать (api.worldoftanks или accountDossier)? Что будет быстрее и лучше в плане оптимизации, например, при тех же 30 запросах в начале боя? Само собой используйте PAPI Правильно собранный запрос выдаст вам информацию обо всех 30 игроках в бою за время меньше секунды. Используя доссьер вам придется только на запросы 29 доссьров (ваш уже в кеше) потратить 29 * 0.5 - 15 секунд (0.5 это таймаут ибо запрашивая с меньшим интервалом сервер будет отвергать запрос) 1 @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted June 14, 2017 Share Posted June 14, 2017 (edited) Товарищи мододелы, подскажите пожалуйста, как в текущем патче получить информацию о любом игроке по ID? Количество боев, WG рейтинг и тому подобное, при этом, как в лобби, так и в бою. Пока что для себя реализовал через запрос в api.worldoftanks. Но хочу понять, как это сделать через получение accountDossier через Python, ведь g_itemsCache убрали. Нашел код: from helpers import dependency from skeletons.gui.shared import IItemsCache itemsCache = dependency.descriptor(IItemsCache) dossier = itemsCache.items.getAccountDossier(id) Но не могу понять, когда и как правильно вызывать. Вылезает ошибка из за отсутствия items в кэше... Если inline, то так: from helpers import dependency from skeletons.gui.shared import IItemsCache itemsCache = dependency.instance(IItemsCache) dossier = itemsCache.items.getAccountDossier(id) Если в классе, то так: from helpers import dependency from skeletons.gui.shared import IItemsCache class Foo: itemsCache = dependency.descriptor(IItemsCache) def bar(self, id): dossier = self.itemsCache.items.getAccountDossier(id) Если по 30 игрокам, то @POLIROID ответил как лучше. Edited June 14, 2017 by sirmax 3 @ Quote Link to comment Short link Share on other sites More sharing options...
Steeler Posted June 15, 2017 Share Posted June 15, 2017 POLIROID, sirmax, спасибо вам большое, буду разбираться. Правда, еще уточню... Правильно собранный запрос выдаст вам информацию обо всех 30 игроках в бою за время меньше секунды. Имеете ввиду, что бы в запросе были указаны только необходимые поля ответа, или есть еще какие то хитрости? Ранее просто никогда не работал с API, потому интересуют все нюансы. ваш уже в кеше А как правильнее его считать? Сейчас делаю по коду ниже, не указывая id. from helpers import dependency from skeletons.gui.shared import IItemsCache itemsCache = dependency.instance(IItemsCache) accountDossier = itemsCache.items.getAccountDossier() Или так и нужно, и возможно в таком случае запрос на сервер уже не отправляется, а считывается с уже сформированного кэша? @ Quote Link to comment Short link Share on other sites More sharing options...
ShuraBB Posted June 15, 2017 Share Posted June 15, 2017 (edited) >что бы в запросе были указаны только необходимые поля ответа, или есть еще какие то хитрости? Отправляешь список аккаунтов по которым нужны данные и список полей которые тебе нужны К примеру так: http://api.worldoftanks.ru/wot/ratings/accounts/?application_id=Demo&fields=battles_count.value,wins_ratio.value,global_rating.value,xp_avg.value,damage_avg.value&type=all&account_id=111,222,333,444,555,666,777 И не забудь про разные кластеры (если это тебе важно) Ну а вообще вот тут: https://developers.wargaming.net/все написано с пояснениями и возможностью протестировать Edited June 15, 2017 by ShuraBB 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Steeler Posted June 27, 2017 Share Posted June 27, 2017 (edited) Отправляешь список аккаунтов по которым нужны данные и список полей которые тебе нужны Спасибо, значит я все правильно делал. Edited June 28, 2017 by Steeler @ Quote Link to comment Short link Share on other sites More sharing options...
Recommended Posts
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.