SoprachevAK 65 #541056 Posted April 8 14 часов назад, KPOT2338 сказал: Народ переживает, что что-то не работает http://forum.tanki.su/index.php?/topic/2140364-подкрутка/page__st__49440__pid__56851469#entry56851469 Спасибо за наводку, как то думал что форум мёртв, а он жив) Создал там тоже отдельную тему Вообще должен работать, просадок по игрокам не наблюдал, скорее всего у него индивидуальная проблема Quote Share this post Link to post Short link Share on other sites
SoprachevAK 65 #541062 Posted April 8 (edited) Тут поступило предложение собирать инфу о том, что выпадает из контейнеров. Методом тыка я сходу попал в нужную функцию https://github.com/StranikS-Scan/WorldOfTanks-Decompiled/blob/a073ff6fab4bdb9a915560cb3c774e645ea9ed64/source/res/scripts/client/gui/shared/gui_items/processors/loot_boxes.py#L25 И она в ctx имеет следующий результат для получения другого контейнера и 40к кредитов { 'bonus': [ { 'tokens': { 'lootBox:310032': { 'count': -1, 'expires': {} }, 'lootBox:310031': { 'count': 1, 'expires': { 'at': 2524608000L } } }, 'credits': 40000 } ], 'extData': {} } Вот результат для кофе с выпечкой { 'bonus': [ { 'tokens': { 'lootBox:310032': { 'count': -1, 'expires': {} } }, 'items': { 16123: 3 } } ], 'extData': {} } Подскажите, как превратить 16123 в кофе с выпечкой? Скорее всего это опять какой нибудь дескриптор который надо как то кастануть к описанию И ещё вопрос, как по id контейнера получить его описание? Вроде бы можно через itemsCache = dependency.descriptor(IItemsCache) itemsCache.items.tokens.getLootBoxes()['lootBox:310031']['category'] Но насколько можно быть уверенным что они есть в кеше, и может у кого то уже есть готовая реализация) ___________ Ну судя по всему я нашел все интересующие меня ответы тут https://github.com/StranikS-Scan/WorldOfTanks-Decompiled/blob/a073ff6fab4bdb9a915560cb3c774e645ea9ed64/source/res/scripts/client/messenger/formatters/service_channel.py#L2691 и мне надо просто реализовать такую же парсер функцию, но не в стринги, а в свой словарь Но хранить исходные результаты всё равно буду отдельно как JSON прямо в бд Edited April 9 by SoprachevAK 1 Quote Share this post Link to post Short link Share on other sites
SoprachevAK 65 #541064 Posted April 9 Такс, готово. В новой версии мода добавил сбор инфы о контейнерах. Постарался по максимуму распарсить что из них падает, но всё равно осталось несколько проигнорированных (dogtags, Enhancements, Tankmen, Entitlements). Всё кроме Tankmen я вообще хз что это такое. Всё основное распаршено Полный список, пока только SQL. В ближайшее время добавлю в инфографику Кроме того есть raw поле, куда сохраняется исходный json 1 Quote Share this post Link to post Short link Share on other sites
SoprachevAK 65 #541082 Posted April 10 Добавил на сайт соответствующий раздел Выглядит немного перегруженным, но оно хорошо структурировано, а главное есть процентики всего, и даже нормализированные https://wotstat.info/session/lootbox Шанс на Барона 0.039% это 2.5к коробок на танк, а открывать их можно только по 10, прикиньте как это запарно 1 Quote Share this post Link to post Short link Share on other sites
SoprachevAK 65 #541164 Posted April 13 Взялся значит я за 2к исключений в час на сервере, посмотреть что вообще и откуда Оказалось, что проблема в моём баллистическом калькуляторе, который за скорость снаряда брал длину вектора скорости трассера, а оказывается, скорость трассера не постоянна по его траектории (кинетическая энергия переходит в потенциальную с повышением высоты -> скорость понижается), а снаряд в танках появляется на прямо из дула, а где то по траектории, у арты вот например обычно в середине траектории (там где он должен попасть в камеру игрока) Получается, что мой баллистический калькулятор работал неправильно всё это время. Я его исправил, и пересчитал все 160 миллионов старых выстрелов Жёлтое – до, красное – после. На арте. В общем то, сказ о потерянном времени) На обычных танках там вообще разницы нет. Зато теперь на душе спокойно и есть навык обновления 160 миллионов строк. 1 Quote Share this post Link to post Short link Share on other sites
SoprachevAK 65 #541165 Posted April 13 А вот график плотности распределения выстрелов по кругу сведения, интересно откуда эта ступенчатость 1 Quote Share this post Link to post Short link Share on other sites
KPOT2338 6 #541166 Posted April 13 (edited) 19 минут назад, SoprachevAK сказал: А вот график плотности распределения выстрелов по кругу сведения, интересно откуда эта ступенчатость Это для tracerStart или gunPoint? А то даже round((tracerStart_x-gunPoint_x) ступенчатая Edited April 13 by KPOT2338 Quote Share this post Link to post Short link Share on other sites
SoprachevAK 65 #541167 Posted April 13 3 минуты назад, KPOT2338 сказал: Это для tracerStart или gunPoint? А то даже round((tracerStart_x-gunPoint_x) ступенчатая это round(ballisticResultServer_r * 500) / 500 расстояние от центра круга сведения, до места где снаряд его пересёк Quote Share this post Link to post Short link Share on other sites
maxim23rus 4 #541170 Posted April 14 а можно сделать вариант мода который бы не создавал папки с номером будущих патчей и свои копии в них? Quote Share this post Link to post Short link Share on other sites
SoprachevAK 65 #541176 Posted April 14 7 часов назад, maxim23rus сказал: а можно сделать вариант мода который бы не создавал папки с номером будущих патчей и свои копии в них? А нужно? Как минимум нужно убрать версию 2.0.0.0, это я конечно был слишком оптимистичным) Ещё можно на будущие версии не добавлять, а перезаписывать мод, чтоб не было кучи разных версий мода в папке 1.26.0.0 но прямо полностью отключать не знаю, оно же нужно чтоб при апдейтах просадок по пользователям/статистики не было, а мод сейчас уже так написан, что он не будет влиять на игру, даже если апдейт его сломает Quote Share this post Link to post Short link Share on other sites
yepev 291 #541177 Posted April 14 8 minutes ago, SoprachevAK said: а мод сейчас уже так написан, что он не будет влиять на игру, даже если апдейт его сломает Прям таки любой апдейт? Даже апдейт питона до 3 версии? Quote Share this post Link to post Short link Share on other sites
SoprachevAK 65 #541182 Posted April 14 6 часов назад, yepev сказал: Прям таки любой апдейт? Даже апдейт питона до 3 версии? Эх, если бы) Но на самом деле, возможно ничего страшного не случится. Мод либо не запустится и ничего не хукнет, либо хукнет, но внутренний код будет обёрнут в try catch, что в любом случае не остановит логику игры. Циклов которые могут бесконечно зациклиться тоже нет. Quote Share this post Link to post Short link Share on other sites
KPOT2338 6 #541310 Posted April 21 (edited) 13.04.2024 в 21:29, SoprachevAK сказал: А вот график плотности распределения выстрелов по кругу сведения, интересно откуда эта ступенчатость Оно и от угла зависит (угол в градусах) select floor(ballisticResultServer_theta*180/pi()/5)*5 as ugol, floor(ballisticResultServer_r*100) as radius, count() from Event_OnShot where battleMode = 'REGULAR' and ugol = 90 group by ugol,radius Order by radius Edited April 21 by KPOT2338 Quote Share this post Link to post Short link Share on other sites
SoprachevAK 65 #541327 Posted April 21 (edited) 10 часов назад, KPOT2338 сказал: Оно и от угла зависит (угол в градусах) select floor(ballisticResultServer_theta*180/pi()/5)*5 as ugol, floor(ballisticResultServer_r*100) as radius, count() from Event_OnShot where battleMode = 'REGULAR' and ugol = 90 group by ugol,radius Order by radius На самом деле, сам факт того, что распределение угла неравномерно – это немного странно Я как то ожидал другого select floor(ballisticResultClient_theta * 10) / 10 as ugol, count() from Event_OnShot where battleMode = 'REGULAR' group by ugol; Окружность классическая тригонометрическая, 0 и 180 на горизонтали, 90 и -90 на вертикали. Получается, что вверх/вниз летит на 30% реже. Думаю это где нибудь ошибка в расчетах, но странно конечно Edited April 21 by SoprachevAK Quote Share this post Link to post Short link Share on other sites
KPOT2338 6 #541328 Posted April 21 1 час назад, SoprachevAK сказал: На самом деле, сам факт того, что распределение угла неравномерно – это немного странно Я как то ожидал другого select floor(ballisticResultClient_theta * 10) / 10 as ugol, count() from Event_OnShot where battleMode = 'REGULAR' group by ugol; Окружность классическая тригонометрическая, 0 и 180 на горизонтали, 90 и -90 на вертикали. Получается, что вверх/вниз летит на 30% реже. Думаю это где нибудь ошибка в расчетах, но странно конечно Там зависимость и от угла и от расстояния У меня особо нечем визуализировать, но то что кажется одинаковыми кривыми на первом рисунке, при нормировании глубину ям на +-90 5 часов назад, SoprachevAK сказал: На самом деле, сам факт того, что распределение угла неравномерно – это немного странно Я как то ожидал другого Получается, что вверх/вниз летит на 30% реже. Думаю это где нибудь ошибка в расчетах, но странно конечно Что вверх-вниз реже это понятно В игре горизонтальная скорость встречается чаще, чем вертикальная А значит ошибка по горизонтали (даже просто и-за пинга) встречается чаще Больше интересно почему вверх летит больше, чем вниз Quote Share this post Link to post Short link Share on other sites
SoprachevAK 65 #541334 Posted April 21 14.04.2024 в 11:29, maxim23rus сказал: а можно сделать вариант мода который бы не создавал папки с номером будущих патчей и свои копии в них? Сделал возможность отключить это копирование в конфиге мода. Кроме того, папка 2.0.0.0 создаваться теперь не будет. Если папка 2.0.0.0 уже существует, и в ней только мой мод, папка будет удалена. Из папок на будущие версии будут удалятся старые неактуальные версии мода. Например у меня в папке 1.26.0.0 лежало пять разных версий wotstat'a, каждый себя когда то скопировал. Теперь старые удалятся и будет лежать только одна актуальная. Из текущей версии, к сожалению, удалять нельзя, тк они все используются процессом танков По пути /mods/configs/wot_stat поместить текстовый файл config.cfg со следующим содержимым: { "disableAutoUpdate": true } Quote Share this post Link to post Short link Share on other sites
SoprachevAK 65 #541335 Posted April 22 5 часов назад, KPOT2338 сказал: В игре горизонтальная скорость встречается чаще, чем вертикальная Да, действительно. Видимо всё таки стоит все эти вычисления проводить только для выстрелов с полным клиентским сведением, они автоматически неподвижны 5 часов назад, KPOT2338 сказал: Больше интересно почему вверх летит больше, чем вниз Тоже построил подобные графики, если расстояние близкое к центру ещё можно списать на погрешность вычислений, то вот график для длины плеча > 0.2, и это уже не вычислительная погрешность Я бы мог предположить, что это может как то быть связано с дальномером, когда маркер вроде бы вблизи, а снаряд берёт сильно вверх, чтоб по параболе полететь очень далеко, но вообще снаряд всегда летит по маркеру, а мод который это исправляет, делает это в противоположную сторону. select floor(ballisticResultClient_theta * 20) / 20 as ugol, count() from Event_OnShot where battleMode = 'REGULAR' and tankType != 'SPG' and ballisticResultClient_r > 0.2 and clientShotDispersion / gunDispersion between 0.99999 and 1.00001 group by ugol order by ugol; Quote Share this post Link to post Short link Share on other sites
KPOT2338 6 #541361 Posted April 22 21.04.2024 в 21:17, KPOT2338 сказал: Там зависимость и от угла и от расстояния У меня особо нечем визуализировать, Вот, Экселем попробовал Оси - угол(-180...+175гр, шаг 5 гр)/расстояние от центра (0...275%, шаг 1%)/количество Quote Share this post Link to post Short link Share on other sites
SoprachevAK 65 #541366 Posted April 22 1 час назад, KPOT2338 сказал: Вот, Экселем попробовал Оси - угол(-180...+175гр, шаг 5 гр)/расстояние от центра (0...275%, шаг 1%)/количество Выглядит красиво, но какие из этого сделать выводы, я не знаю Но оно как минимум не очень симметрично Quote Share this post Link to post Short link Share on other sites
SoprachevAK 65 #541369 Posted April 23 (edited) @KPOT2338 Нашел как визуализировать ещё более наглядно По всем выстрелам: С полным сведением, дистанция 100+: С полным сведением, дистанция 100+, нулевая скорость, пинг менее 30: И тоже самое, но обрезанное снизу не по 0, а по минимальному значению, чтоб нагляднее были видны перепады: Тоже самое, но дистанция от центра между 0.4 и 1 Edited April 23 by SoprachevAK 1 Quote Share this post Link to post Short link Share on other sites