sirmax 5,499 #78618 Posted July 3, 2013 В общем, Dossier Cache через Unpickler нормально парсится, даже лучше чем в питоне, за счет использования строгих типов данных. Теперь нужно все это залить в sqlite, сделать мониторилку-обновлялку, и можно пробовать делать свой Excel в танках :) Quote Share this post Link to post Short link Share on other sites
Mr A 750 #78620 Posted July 3, 2013 можно пробовать делать свой Excel в танках С мастером функций и диаграммами Quote Share this post Link to post Short link Share on other sites
n0per 3 #78645 Posted July 3, 2013 С мастером функций и диаграммами и переименовать XVM в WoT-Zadrot ;) 2 Quote Share this post Link to post Short link Share on other sites
demon2597 5,468 #78715 Posted July 3, 2013 (edited) @n0per, поржал:) Edited July 3, 2013 by demon2597 Quote Share this post Link to post Short link Share on other sites
pietrovich 0 #78786 Posted July 3, 2013 (edited) В общем, Dossier Cache через Unpickler нормально парсится, даже лучше чем в питоне, за счет использования строгих типов данных. Теперь нужно все это залить в sqlite, сделать мониторилку-обновлялку, и можно пробовать делать свой Excel в танках :) Ура! Рад что хоть чем-то смог быть полезным проекту :) Не скиллом программинга за неимением времени, так хоть прицельным гуглингом. Очень надеюсь что скоро эта фича станет доступна для теста. Спасибо вам за ваши труды! П.С.: подумалось мне, что если "стандартизировать" ответ от сборщика статистики, то можно отдать его (ответ) на растерзание мододелам которые к ServiceChannel цепляются. альтернативные варианты отображения это ведь тоже хорошо. Главное чтобы модоелы могли быть уверены что адрес для загрузки статы и формат не будут часто меняться... Edited July 3, 2013 by pietrovich Quote Share this post Link to post Short link Share on other sites
sirmax 5,499 #78830 Posted July 3, 2013 (edited) Ура! Рад что хоть чем-то смог быть полезным проекту :) Не скиллом программинга за неимением времени, так хоть прицельным гуглингом. Да, тут что-то гугл меня подвел. А вроде бы даже знал что искал. П.С.: подумалось мне, что если "стандартизировать" ответ от сборщика статистики, то можно отдать его (ответ) на растерзание мододелам которые к ServiceChannel цепляются. альтернативные варианты отображения это ведь тоже хорошо. Главное чтобы модоелы могли быть уверены что адрес для загрузки статы и формат не будут часто меняться... У меня тут по ходу дела получилась полезная sqlite базюлька, в которой будет вся необходимая инфа. В принципе, не сложно будет отделить от основного кода, и сделать отдельную прогу-агент для сбора статы. В аттаче пример что получилось из моего досье-кэша. вот несколько записей: playerName │ vid │ dt │ data │ company │ clan ───────────┼───────┼────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── sirmax2 │ 9729 │ 1363101714 │ {"battleLifeTime":2153,"maxFrags":1,"xp":5439,"maxXP":1087,"battlesCount":11,"wins":5,"losses":6,"survivedBattles":1,"winAndSurvived":1,"frags":2,"shots":63,"hits":108,"spotted":42,"damageDealt":1098,"damageReceived":4952,"treesCut":19,"capturePoints":0,"droppedCapturePoints":0} │ {"xp":0,"battlesCount":0,"wins":0,"losses":0,"survivedBattles":0,"frags":0,"shots":0,"hits":0,"spotted":0,"damageDealt":0,"damageReceived":0,"capturePoints":0,"droppedCapturePoints":0} │ {"xp":0,"battlesCount":0,"wins":0,"losses":0,"survivedBattles":0,"frags":0,"shots":0,"hits":0,"spotted":0,"damageDealt":0,"damageReceived":0,"capturePoints":0,"droppedCapturePoints":0} sirmax2 │ 6161 │ 1363097104 │ {"battleLifeTime":7487,"maxFrags":4,"xp":14650,"maxXP":831,"battlesCount":44,"wins":27,"losses":16,"survivedBattles":9,"winAndSurvived":6,"frags":27,"shots":1087,"hits":580,"spotted":93,"damageDealt":11268,"damageReceived":9791,"treesCut":14,"capturePoints":59,"droppedCapturePoints":8} │ {"xp":0,"battlesCount":0,"wins":0,"losses":0,"survivedBattles":0,"frags":0,"shots":0,"hits":0,"spotted":0,"damageDealt":0,"damageReceived":0,"capturePoints":0,"droppedCapturePoints":0} │ {"xp":0,"battlesCount":0,"wins":0,"losses":0,"survivedBattles":0,"frags":0,"shots":0,"hits":0,"spotted":0,"damageDealt":0,"damageReceived":0,"capturePoints":0,"droppedCapturePoints":0} sirmax2 │ 3393 │ 1363099394 │ {"battleLifeTime":6186,"maxFrags":4,"xp":5439,"maxXP":568,"battlesCount":20,"wins":11,"losses":8,"survivedBattles":9,"winAndSurvived":9,"frags":30,"shots":63,"hits":57,"spotted":4,"damageDealt":7487,"damageReceived":1343,"treesCut":2,"capturePoints":0,"droppedCapturePoints":0} │ {"xp":0,"battlesCount":0,"wins":0,"losses":0,"survivedBattles":0,"frags":0,"shots":0,"hits":0,"spotted":0,"damageDealt":0,"damageReceived":0,"capturePoints":0,"droppedCapturePoints":0} │ {"xp":0,"battlesCount":0,"wins":0,"losses":0,"survivedBattles":0,"frags":0,"shots":0,"hits":0,"spotted":0,"damageDealt":0,"damageReceived":0,"capturePoints":0,"droppedCapturePoints":0} Я пока в json пихаю, если что, некоторые поля можно будет выделить отдельно. И стата будет поделена на рандомную, ротную и клановую. xvm-stat.db.zip Edited July 3, 2013 by sirmax Quote Share this post Link to post Short link Share on other sites
pietrovich 0 #78851 Posted July 4, 2013 (edited) И стата будет поделена на рандомную, ротную и клановую. Эм... Опасное нововведение, теперь ревнители "игры для удовольствия" не смогут заявлять что кто-то "стату в ротах понабивал". Как бы это не обернулось волной пожаров из-за подгоревших стульев :") SQLite база это хорошо, но я имел в виду несколько иную точку интеграции с мододелами. К сожалению я еще не имел возможности вдумчиво поковыряться в исходниках, поэтому мои предположения базируются пока только на предыдущем опыте и примерных возможностях компонентов которые входят в поставку/требования XVM. Если я правильно понимаю идею, то Dokan используется для создания "виртуальной папки" и перехвата обращений к ней, затем по имени "виртуального файла" рассчитывается что вернуть в качестве его контента. Во флеш все это тянется стандартными loadXml/LoadVars.load/XML.load/URLLoader.load или как там нынче во флеше читают данные с remote url. Т.е. технически любой SWF мог-бы читать данные предоставляемые XVM, если бы знал что и откуда читать, и для них это выглядело бы не сложнее чтения из любого другого локального файла. Если я прав, то просто предоставив мододелам источник для чтения статистики за последний бой, мы бы получили еще массу приятных доработок и в других модах. А вот из sqlite базы, емнип, читать из flash вроде раньше нельзя было. Т.е. sqlite это круто для тех кто быдет делать внешние утилиты, но в клиент эту информацию не затащить... П.С.: посмотрел внимательно на JSON, похоже можно на основании извлекаемых данных еще и ачивку "Медаль лесоруба" выдавать :) Edited July 4, 2013 by pietrovich Quote Share this post Link to post Short link Share on other sites
TurinDeNar 576 #78876 Posted July 4, 2013 (edited) Эм... Опасное нововведение, теперь ревнители "игры для удовольствия" не смогут заявлять что кто-то "стату в ротах понабивал". Как бы это не обернулось волной пожаров из-за подгоревших стульев :") Этого же никто не будет видеть, кроме как тебя самого. Чужое досье-кэш не посмотришь никак. Edited July 4, 2013 by TurinDeNar Quote Share this post Link to post Short link Share on other sites
sirmax 5,499 #78893 Posted July 4, 2013 Эм... Опасное нововведение, теперь ревнители "игры для удовольствия" не смогут заявлять что кто-то "стату в ротах понабивал". Как бы это не обернулось волной пожаров из-за подгоревших стульев :") Турин уже ответил, дополню только, что меня меньше всего волнует что там олени будут заявлять. Если у них такие способы садо-мазо-аутотроллинга, так пусть развлекаются. Я обычно с попкорном за этим наблюдаю. Если я правильно понимаю идею, то Dokan используется для создания "виртуальной папки" и перехвата обращений к ней, затем по имени "виртуального файла" рассчитывается что вернуть в качестве его контента. Если я прав, то просто предоставив мододелам источник для чтения статистики за последний бой, мы бы получили еще массу приятных доработок и в других модах. Все так, и другие мододелы могут вызывать команды из xvm-stat. Но я бы предпочел чтобы мододелы подключались к XVM. П.С.: посмотрел внимательно на JSON, похоже можно на основании извлекаемых данных еще и ачивку "Медаль лесоруба" выдавать :) Хе, углядел. Я хотел сюрпризик сделать. :) Quote Share this post Link to post Short link Share on other sites
pietrovich 0 #79124 Posted July 4, 2013 (edited) Этого же никто не будет видеть, кроме как тебя самого. Это, кстати, печально. Если бы была возможность аплоадить разделенную статистику на сервер это была бы очередная киллер-фича. Сейчас довольно часто бывает что видишь в команде игрока с неплохой статой, включаешь его в свои планы и рассчитываешь на его адекватность, а он порет какую-то херню и ололо-сливается так и не оказав влияния на исход боя. При этом вроде и по танку у него все хорошо было и в среднем. Может, конечно, у него настроение такое было или просто не судьба, со мной тоже иногда так бывает, но есть подозрение что чаще это суровые ротники, заглянувшие без взвода в рандом - сунулись, растерялись, померли. Как я. когда пытаюсь в роты сунуться. Поэтому для рандома я бы предпочел видеть чистую, рандомную, стату отдельно и общую отдельно. Так можно было бы сразу видеть у кого руки растут откуда надо, но понимания ситуации хватает не всегда, а у кого и не руки, да и не растут. Или кто по всем статьям "папка нагибатор", на которого можно рассчитывать или опасаться, смотря в какой команде :) TWR в принципе немного выручает, но все-таки точные данные, дернутые из кеша. были бы лучше. Я обычно с попкорном за этим наблюдаю. Ну да, сидишь такой с попкорном, и тут сирены и с потолка капать начинает - у соседа сверху стул загорелся и пожарные все пеной залили. Так ведь и до обвинений в терроризме и массовых поджегах недалеко :D Посмотрел еще немного на json и возникли еще вопросы: В первой строке hits больше чем shots. Это как? Что тaкое hits, это "мы попали" или "в нас попали"? battleLifeTime - это время жизни в бою? Имхо, эта цифра без привязки к продолжительности боя ни о чем. 4 минуты в бою это много или мало? А если бой как раз 4 минуты и продлился? Хотелось бы видеть еще какое-то отношение к продолжительности боя, наверное. Может быть есть возможность за сессию извлекать еще среднее отношение lifetime/к общей продолжительности боя? Т.е. если я вижу у себя низкий процент побед за сессию то хотелось бы еще иметь возможность подмечать корреляции с другими параметрами и TTL ту нужен не в абсолютных цифрах, а относительно боя. Если процент низкий и сливаемся в первой половине боя то может не стоит лезть на передовую? И наоборот, живем на светляке до конца и при этом не побеждаем - нефиг по кустам ныкаться, светить надо. Edited July 4, 2013 by pietrovich Quote Share this post Link to post Short link Share on other sites
sirmax 5,499 #79135 Posted July 4, 2013 (edited) В первой строке hits больше чем shots. Это как? Что тaкое hits, это "мы попали" или "в нас попали"? Глюк unpickler'а, исправлен. Хотя ХЗ. Рано еще анализировать, собрать надо. battleLifeTime - это время жизни в бою? Имхо, эта цифра без привязки к продолжительности боя ни о чем. 4 минуты в бою это много или мало? А если бой как раз 4 минуты и продлился? Ну что есть, то есть. Edited July 4, 2013 by sirmax Quote Share this post Link to post Short link Share on other sites
seriych 2,178 #79143 Posted July 5, 2013 Если бы была возможность аплоадить разделенную статистику на сервер это была бы очередная киллер-фича. Не была бы, ибо показывало бы только тех, у кого XVM стоит, плюс фича включена. Плюс наверняка можно было бы мухлевать, отправляя на сервак неверные данные. Надежнее стату за последние N боев хранить - там и верно будет, и для всех игроков. Но пока реализовывать не хотят, и место на серваке не резиновое. Quote Share this post Link to post Short link Share on other sites
BuSH 174 #79760 Posted July 8, 2013 В первой строке hits больше чем shots. Это как? Что тaкое hits, это "мы попали" или "в нас попали"? shots - всего выстрелов hits - всего попаданий В моем кеше shots=223724, hits=178310 178310/223724=0.797 ВГ пишут, что у меня точность 80% Quote Share this post Link to post Short link Share on other sites
Mr A 750 #79762 Posted July 8, 2013 ВГ пишут, что у меня точность 80% Как-то так 1 1 Quote Share this post Link to post Short link Share on other sites
BuSH 174 #79764 Posted July 8, 2013 Как-то так Я не пытаюсь понять почему точность округлили! А только подтвердить значения переменных hits и shots. Mr A ты слишком часто людей за одноклеточных считаешь! 2 1 Quote Share this post Link to post Short link Share on other sites
Mr A 750 #79787 Posted July 8, 2013 Я не пытаюсь понять почему точность округлили! Да ну, цитату нужно прочитать, на что ответ был дан. 1 4 Quote Share this post Link to post Short link Share on other sites
hamsterksu 0 #79791 Posted July 8, 2013 Добрый день. с этой ветки http://forum.worldoftanks.ru/index.php?/topic/417855-086-%D0%BC%D0%BE%D0%B4-%D1%86%D0%B2%D0%B5%D1%82%D0%BD%D1%8B%D1%85-%D1%81%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D0%BD%D0%B8%D0%B9-mcm-%D0%BE%D0%B1%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BE-28-06-2013-%D0%B8%D1%82%D0%BE%D0%B3%D0%BE/page__st__1960#top меня направили сюда. так вот, хочется получить стату за сутки(у условиях акций это необходимо), а не за сессию. честно признаюсь пролистал ветку быстро, так что мог и не заметить обсуждения этой проблемы. я посмотрел декомпилированые исходники, походу надо немного кода добавить в метод pushMessages в net.wargaming.messenger.controls.ServiceMessageList что бы тот сохранял стату между сессиями да и все. так это? могу поучаствовать в реализации фичи? Quote Share this post Link to post Short link Share on other sites
BuSH 174 #79804 Posted July 8, 2013 Да ну, цитату нужно прочитать, на что ответ был дан. Mr A ты слишком часто людей за одноклеточных считаешь! Добрый день. с этой ветки http://forum.worldoftanks.ru/index.php?/topic/417855-086-%D0%BC%D0%BE%D0%B4-%D1%86%D0%B2%D0%B5%D1%82%D0%BD%D1%8B%D1%85-%D1%81%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D0%BD%D0%B8%D0%B9-mcm-%D0%BE%D0%B1%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BE-28-06-2013-%D0%B8%D1%82%D0%BE%D0%B3%D0%BE/page__st__1960#top меня направили сюда. так вот, хочется получить стату за сутки(у условиях акций это необходимо), а не за сессию. честно признаюсь пролистал ветку быстро, так что мог и не заметить обсуждения этой проблемы. я посмотрел декомпилированые исходники, походу надо немного кода добавить в метод pushMessages в net.wargaming.messenger.controls.ServiceMessageList что бы тот сохранял стату между сессиями да и все. так это? могу поучаствовать в реализации фичи? Пока вариант от команды XVM не готов, могу посоветовать онлайн анализатор досьекеша с выводом посуточной статистики. http://www.vbaddict.net/adu/ActiveDossierUploader.exe 1 Quote Share this post Link to post Short link Share on other sites
hamsterksu 0 #79811 Posted July 8, 2013 Mr A ты слишком часто людей за одноклеточных считаешь! Пока вариант от команды XVM не готов, могу посоветовать онлайн анализатор досьекеша с выводом посуточной статистики. http://www.vbaddict.net/adu/ActiveDossierUploader.exe спс. да вот я пытался анализатор юзать. у меня дельту толком не вычисляет. еще раз попробую Quote Share this post Link to post Short link Share on other sites
viktor6 7 #80241 Posted July 10, 2013 Ну и на чем остановились? каком варианте? Quote Share this post Link to post Short link Share on other sites