neverexist Posted August 6, 2013 Share Posted August 6, 2013 Ковырял как-то давно ServiceChannelPage.swf после чего начала материтсо кнопка "подробнее". Вообще не помню подробностей, но выдавала она фразу типа id_room=4845665083438825 или id_battleroom не помню. Но это уже говорило о том что у каждого боя есть айди. Кроме того в папке %appdata%\Wargaming.net\WorldOfTanks\battle_results при правильной работе той кнопки появляется файл $id_room.dat с результатами боя. А вчера перед написанием поста, я проверил точно, что название этого dat файла идентично с файлом у моего совзводного, что ещё раз подтверждает факт наличия айди. Именно эти я взял с результатов боя. Я не говорил что у боя нет id в принципе, речь шла о файле xvm-stat.log. Вот в нем этого id как раз нет. @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted August 6, 2013 Share Posted August 6, 2013 (edited) Вы всё-таки поспешили возмущаться. В скрипте реализовано удаление дубликатов, это ок. Но связывания setup'ов и results'ов там нету. Как это нет? сетапы парсятся в players, результаты в results, при выгрузке результата связываются по vehicleId: fs.writeFileSync(resFN, '<results>\n'); fs.writeFileSync(plFN, '<players>\n'); for (var i in results) { var result = results[i]; var ok = true; for (var j = 0; j < result.ids.length; ++j) { var vehicleId = result.ids[j]; if (!players[vehicleId]) { console.log("player with vehicleId=" + vehicleId + " not found, result skipped"); ok = false; break; } } if (!ok) continue; fs.appendFileSync(resFN, result.res); for (var j = 0; j < result.ids.length; ++j) fs.appendFileSync(plFN, players[result.ids[j]]); } fs.appendFileSync(resFN, '</results>\n'); fs.appendFileSync(plFN, '</players>\n'); в результате работы скрипта получается xml вида: <results> <result vehId1="122370321" vehId2="122370302" vehId3="122370310" vehId4="122370322" vehId5="122370306" vehId6="122370308" vehId7="122370309" vehId8="122370328" vehId9="122370311" vehId10="122370315" vehId11="122370313" vehId12="122370314" vehId13="122370319" vehId14="122370330" vehId15="122370331" vehId16="122370304" vehId17="122370305" vehId18="122370323" vehId19="122370324" vehId20="122370303" vehId21="122370307" vehId22="122370326" vehId23="122370312" vehId24="122370327" vehId25="122370325" vehId26="122370329" vehId27="122370316" vehId28="122370317" vehId29="122370318" vehId30="122370320" draw="0" created="1359994094"/> <result vehId1="33962841" vehId2="33962855" vehId3="33962844" vehId4="33962845" vehId5="33962860" vehId6="33962866" vehId7="33962862" vehId8="33962863" vehId9="33962864" vehId10="33962852" vehId11="33962867" vehId12="33962868" vehId13="33962869" vehId14="33962870" vehId15="33962861" vehId16="33962842" vehId17="33962857" vehId18="33962853" vehId19="33962858" vehId20="33962859" vehId21="33962846" vehId22="33962847" vehId23="33962848" vehId24="33962865" vehId25="33962849" vehId26="33962850" vehId27="33962851" vehId28="33962854" vehId29="33962843" vehId30="33962856" draw="0" created="1360267001"/> <result vehId1="21022710" vehId2="21022703" vehId3="21022687" vehId4="21022692" vehId5="21022690" vehId6="21022715" vehId7="21022691" vehId8="21022706" vehId9="21022707" vehId10="21022694" vehId11="21022711" vehId12="21022697" vehId13="21022698" vehId14="21022701" vehId15="21022702" vehId16="21022686" vehId17="21022704" vehId18="21022688" vehId19="21022705" vehId20="21022689" vehId21="21022693" vehId22="21022712" vehId23="21022709" vehId24="21022695" vehId25="21022696" vehId26="21022713" vehId27="21022714" vehId28="21022699" vehId29="21022700" vehId30="21022708" draw="0" created="1360420084"/> </results> , которая нормально загружается, например, в Excel. vehId1-vehId15 - команда победителей vehId16-vehId30 - команда проигравших draw="1" - ничья Распарсил результаты от nemoW и TurinDeNar results-nemoW.xml.zip results-TurinDeNar.xml.zip Edited August 6, 2013 by sirmax @ Quote Link to comment Short link Share on other sites More sharing options...
neverexist Posted August 6, 2013 Share Posted August 6, 2013 (edited) Как это нет? сетапы парсятся в players, результаты в results, при выгрузке результата связываются по vehicleId: fs.writeFileSync(resFN, '<results>\n'); fs.writeFileSync(plFN, '<players>\n'); for (var i in results) { var result = results[i]; var ok = true; for (var j = 0; j < result.ids.length; ++j) { var vehicleId = result.ids[j]; if (!players[vehicleId]) { console.log("player with vehicleId=" + vehicleId + " not found, result skipped"); ok = false; break; } } if (!ok) continue; fs.appendFileSync(resFN, result.res); for (var j = 0; j < result.ids.length; ++j) fs.appendFileSync(plFN, players[result.ids[j]]); } fs.appendFileSync(resFN, '</results>\n'); fs.appendFileSync(plFN, '</players>\n'); в результате работы скрипта получается xml вида: <results> <result vehId1="122370321" vehId2="122370302" vehId3="122370310" vehId4="122370322" vehId5="122370306" vehId6="122370308" vehId7="122370309" vehId8="122370328" vehId9="122370311" vehId10="122370315" vehId11="122370313" vehId12="122370314" vehId13="122370319" vehId14="122370330" vehId15="122370331" vehId16="122370304" vehId17="122370305" vehId18="122370323" vehId19="122370324" vehId20="122370303" vehId21="122370307" vehId22="122370326" vehId23="122370312" vehId24="122370327" vehId25="122370325" vehId26="122370329" vehId27="122370316" vehId28="122370317" vehId29="122370318" vehId30="122370320" draw="0" created="1359994094"/> <result vehId1="33962841" vehId2="33962855" vehId3="33962844" vehId4="33962845" vehId5="33962860" vehId6="33962866" vehId7="33962862" vehId8="33962863" vehId9="33962864" vehId10="33962852" vehId11="33962867" vehId12="33962868" vehId13="33962869" vehId14="33962870" vehId15="33962861" vehId16="33962842" vehId17="33962857" vehId18="33962853" vehId19="33962858" vehId20="33962859" vehId21="33962846" vehId22="33962847" vehId23="33962848" vehId24="33962865" vehId25="33962849" vehId26="33962850" vehId27="33962851" vehId28="33962854" vehId29="33962843" vehId30="33962856" draw="0" created="1360267001"/> <result vehId1="21022710" vehId2="21022703" vehId3="21022687" vehId4="21022692" vehId5="21022690" vehId6="21022715" vehId7="21022691" vehId8="21022706" vehId9="21022707" vehId10="21022694" vehId11="21022711" vehId12="21022697" vehId13="21022698" vehId14="21022701" vehId15="21022702" vehId16="21022686" vehId17="21022704" vehId18="21022688" vehId19="21022705" vehId20="21022689" vehId21="21022693" vehId22="21022712" vehId23="21022709" vehId24="21022695" vehId25="21022696" vehId26="21022713" vehId27="21022714" vehId28="21022699" vehId29="21022700" vehId30="21022708" draw="0" created="1360420084"/> </results>, которая нормально загружается, например, в Excel.vehId1-vehId15 - команда победителей vehId16-vehId30 - команда проигравших draw="1" - ничья Ну ок, связка по vehicleId там присутствует, просто я парсю по своему, и такая связка мне не совсем удобна. Мне нужно получить в результате выборку типа (BattleId, chance(в процентах), result("win"/"lose")).я думаю мы друг друга поняли а для чего вы используете эти файлы players.xml и results.xml? Edited August 6, 2013 by neverexist @ Quote Link to comment Short link Share on other sites More sharing options...
seriych Posted August 6, 2013 Share Posted August 6, 2013 (edited) Распарсил результаты от nemoW А ты в старую табличку сможешь добавить результаты nemoW, а то что-то у меня не выходит с этими таблицами динамическими? Или просто только по новым данным от nemow, их всё равно заметно больше Edited August 7, 2013 by seriych @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted August 7, 2013 Share Posted August 7, 2013 нет дома екселя, а на работе времени :) @ Quote Link to comment Short link Share on other sites More sharing options...
seriych Posted August 7, 2013 Share Posted August 7, 2013 блин, я кажись тупой осел. Там у меня решетки отображались в ячейках- думал не получилось нормально сделать, а в старом файле также- это просто число в ячейку не помещается. А я не сохранил с расстройства :-) Заново буду делать Да, всё получилось. Особо ничего нового. Точность по топорному методу угадал/не угадал понизилась до 65%. Моя оценка смысла не имеет, если нет формулы, с которой можно сравнить. Но если будет новая формула, уже статистики вполне достаточно, чтобы делать адекватные выводы. Или с коэффициентами текущей можно будет поиграться на досуге. @ Quote Link to comment Short link Share on other sites More sharing options...
neverexist Posted August 8, 2013 Share Posted August 8, 2013 А где настраивается цвет, которым отображаются шансы? @ Quote Link to comment Short link Share on other sites More sharing options...
seriych Posted August 8, 2013 Share Posted August 8, 2013 (edited) А где настраивается цвет, которым отображаются шансы? Весьма странное место, откуда берутся эти цвета. "colors": { "rating": [ На мой взгляд даже если не делать отдельную настройку, то всё равно лучше был бы любой из вариантов: - красить не настраиваемо, но симметрично относительно 50%. Скажем, если одна смена цвета на 55%, то на 45% тоже должна быть смена цвета. - вообще не красить. Я когда-то давно высказывал это мнение, но оно не нашло поддержки. Edited August 8, 2013 by seriych 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Bloodest Posted August 15, 2013 Share Posted August 15, 2013 (edited) По поводу графика VinRatio/Chancegroup, принципов его построения. Замечание 1. Существуют правила объединения точек в группы. (Подробнее можно посмотреть, например, для критерия согласия Пирсона) . Идея заключается в формировании групп так, чтобы они несли одинаково достоверную информацию. В первом приближении - в каждой группе одинаковое количество измерений. Прямо рекомендуемое ( в литературе) количество групп - ~ квадратный корень из числа измерений. Но вообще, для призентабельности графика, есть мнемоническое правило ( связанное с точкой перегиба статистики Колмогорова - 40 измерений) - ориентироваться на число измерений в 40 шт. Замечание 2. Каждый бой дает 2 измерения - одна команда выиграла, другая проиграла. У первой и у второй команд был свой шансы и он получили свою реализацию. У меня есть обработанные данные о 202 боях, т.е 404 реализации шансов на победу. 404^0.5=~20 измерений. Я выбрал среднее меду 20 и 40 = 30 измерений в группе. Итог - систематическое отклонение на 12%. Гыг, две точки которые отстоят от 50% на ~12% дают правильный результат. Т.е. модель дает правильный результат при соотношении сил команд 3 к 2. ЗЫ. На счет 3 к 2. эт вилами по воде. НО. Есть соображение. У многих район 40-50 % получился прмерно правильно, а за 50 % - превышение ( и уменя тоже, если использовать только реализации шанса моей команды). Если исходить из того, что не только данным модом, но и его анализом, интересуются продвинутые игроки, то напрашивается мысль, что, рассматриваемые реализации от команд выше среднего. Тогда если шанс меньше 50 - встретились равные или вторая команда содержит игроков выше продвинутых. Больше 50 - вторая команда слабее. Значит есть некоторый уровень "недодвинутости" игроков для которых построитель шанса занижает их вклад в победу. Иначе говоря если взять и построить график где будут реализации не твоей, а супротивной команд - то это будет график зеркального тебе (относительно среднего) лузера/профи. В идеале они должны быть одинаковыми. Ошибка (при расчете обратных вероятностей поставил 1 вместо 100, считал в %) . Практически, можно считать, что совпадают. При большом числе измерений линейный тренд должен совпасть с теорией. Edited August 15, 2013 by Bloodest @ Quote Link to comment Short link Share on other sites More sharing options...
seriych Posted August 15, 2013 Share Posted August 15, 2013 (edited) Каждый бой дает 2 измерения - одна команда выиграла, другая проиграла. У первой и у второй команд был свой шансы и он получили свою реализацию. Каким макаром тогда точки не симметричны и линия через 50/50 не проходит? Edited August 15, 2013 by seriych @ Quote Link to comment Short link Share on other sites More sharing options...
coJlHe4Hblu_noH4uk Posted August 17, 2013 Share Posted August 17, 2013 ... Вопрос по формуле (почти). Если взять вклад игрока в шанс на победу своей команды и умножить его на шанс победы своей машины против него же - насколько данная характеристика сможет отражать ответ на вопрос "кого фокусить первым"? @ Quote Link to comment Short link Share on other sites More sharing options...
sayfut Posted August 25, 2013 Share Posted August 25, 2013 Всем привет.У меня такая же проблема.Отображается шанс на победу только при нажатие кнопки TAB,а при загрузки боя нет.Я в настройках xwm переименовал как здесь написано \res_mods\xvm\configs\@Default\ открыть там файл battleLoading.xc найти там параметр "showChances": false, и переименовать его на "showChances": true.Но это результатов не дало всеравно шанс на победу показывает только при нажатие кнопки TAB.Что делать?Помогите плиз.XVM 4.1.Всем спасибо. @ Quote Link to comment Short link Share on other sites More sharing options...
Tim Posted September 21, 2013 Share Posted September 21, 2013 Вечер добрый!Скажите пжл, как вкл. отображение статистики при загрузке боя? У меня она начинает работать лишь тогда, когда начинается отсчет времени!Это задержка на сервере или у меня что-то отключено в конфигурациях?Заранее спасибо! @ Quote Link to comment Short link Share on other sites More sharing options...
seriych Posted October 22, 2013 Share Posted October 22, 2013 (edited) Eb= ((Ean * Kra) * (Kra + Kab)) * (Kra + 0,25 * Klvl)Значение Kra = (100 + Ra - 48.5)/100 близко к 1, значение Klvl = (Tmax + Tmin)/2 - T в случае брелков может быть меньше минус четырех, тогда значение (Kra + 0,25 * Klvl) становится отрицательным, то есть всё значение Eb становится отрицательным. В итоге получаем, что наличие брелка в команде хуже, чем если бы танка вообще не было. Причем чем выше рейтинг игрока на брелке, тем больше он снижает общий шанс на победу своей команды. Очевидная ересь получается. Надо бы это исправить, особенно учитывая ввод режима 7/42, где наличие танков 1 уровня в боях 8 уровня очень даже помогают команде. Для начала хотя бы просто ограничить Eb каким-то неотрицательным значением. up. Проверил в тренировке, наличие 1 уровня в бою 8 уровня никак не влияет на шанс, хотя по приведенной формуле должно. Посмотрел в коде, там как раз Eb ограничивается снизу нулем: return Math.max(0, Math.min(Config.s_config.consts.MAX_EBN, Eb)); надо бы формулу в шапке поправить. В итоге откровенного бреда, как я описывал выше, не возникает, однако ограничение нулем ведет к тому, что, например, два лишних T1 в команде 7/42 никак не влияют на шанс, тогда как в действительности они очень важны. С другой стороны в высокоуровневом рандомном бою их ценность действительно стремится к нулю, хоть и тоже ненулевая. Создание отдельной формулы для 7/42 - это, наверное, отдельный разговор, потому думаю нужно ввести какую-то компромиссную корректировку, которая и ценность 1 уровня в 7/42 будет учитывать и не переоценивать брелков в рандоме. Варианты могут быть разные: - Ограничивать Eb не нулем, а каким-то положительным значением - Учет уровня танка сделать не линейным - Учитывать разницу количества игроков в командах Хотя в принципе режим 7/42 можно распознавать просто по количеству игроков в командах, и если оно меньше 8, то только тогда применять корректировку на брелки Edited October 22, 2013 by seriych @ Quote Link to comment Short link Share on other sites More sharing options...
TurinDeNar Posted October 22, 2013 Author Share Posted October 22, 2013 (edited) Значение Kra = (100 + Ra - 48.5)/100 близко к 1, значение Klvl = (Tmax + Tmin)/2 - T в случае брелков может быть меньше минус четырех, тогда значение (Kra + 0,25 * Klvl) становится отрицательным, то есть всё значение Eb становится отрицательным. В итоге получаем, что наличие брелка в команде хуже, чем если бы танка вообще не было. Причем чем выше рейтинг игрока на брелке, тем больше он снижает общий шанс на победу своей команды. Очевидная ересь получается. Надо бы это исправить, особенно учитывая ввод режима 7/42, где наличие танков 1 уровня в боях 8 уровня очень даже помогают команде. Для начала хотя бы просто ограничить Eb каким-то неотрицательным значением. up. Проверил в тренировке, наличие 1 уровня в бою 8 уровня никак не влияет на шанс, хотя по приведенной формуле должно. Посмотрел в коде, там как раз Eb ограничивается снизу нулем: return Math.max(0, Math.min(Config.s_config.consts.MAX_EBN, Eb)); надо бы формулу в шапке поправить. В итоге откровенного бреда, как я описывал выше, не возникает, однако ограничение нулем ведет к тому, что, например, два лишних T1 в команде 7/42 никак не влияют на шанс, тогда как в действительности они очень важны. С другой стороны в высокоуровневом рандомном бою их ценность действительно стремится к нулю, хоть и тоже ненулевая. Создание отдельной формулы для 7/42 - это, наверное, отдельный разговор, потому думаю нужно ввести какую-то компромиссную корректировку, которая и ценность 1 уровня в 7/42 будет учитывать и не переоценивать брелков в рандоме. Варианты могут быть разные: - Ограничивать Eb не нулем, а каким-то положительным значением - Учет уровня танка сделать не линейным - Учитывать разницу количества игроков в командах Хотя в принципе режим 7/42 можно распознавать просто по количеству игроков в командах, и если оно меньше 8, то только тогда применять корректировку на брелки Это Сирмакс сам это ограничение нижнего порогового значения по нулю сделал, я об этом как-то и не подумал в свое время - поправил в шапке формулу, спасибо seriych. А с режимом 7/42 и правда нужно что-то дополнительно сделать. Вариант с нелинейным учетом уровня танков для боев именно режима 7/42 мне видится более подходящим. Если ограничивать Eb не нулем, а присваивать какое-то положительное значение, то не совсем представляю как это самое положительное значение для брелка определить:) Edited October 22, 2013 by TurinDeNar @ Quote Link to comment Short link Share on other sites More sharing options...
seriych Posted October 22, 2013 Share Posted October 22, 2013 Вариант с нелинейным учетом уровня танков для боев именно режима 7/42 мне видится более подходящим. Если ограничивать Eb не нулем, а присваивать какое-то положительное значение, то не совсем представляю как это самое положительное значение для брелка определить:)По идее Не Eb ограничивать надо, а непосредственно значение (Kra + 0,25 * Klvl) , что по сути является ограничением на Klvl, то есть это получается всего лишь частный случай нелинейного учета уровня. @ Quote Link to comment Short link Share on other sites More sharing options...
tratatank Posted November 3, 2013 Share Posted November 3, 2013 Как то странно xvm вычислил шанс на победу в этом бою. Команда противников выглядит явно сильнее, а шанс на победу равен 63%. @ Quote Link to comment Short link Share on other sites More sharing options...
TurinDeNar Posted November 3, 2013 Author Share Posted November 3, 2013 (edited) Как то странно xvm вычислил шанс на победу в этом бою. Команда противников выглядит явно сильнее, а шанс на победу равен 63%. Может быть реплей остался? Было бы интересно поковыряться, посмотреть за счет чего такой шанс на победу получился. На первый взгляд и правда что-то не то, команда противника не явно сильнее конечно, но как минимум команды более менее равны, а тут 63%... Edited November 3, 2013 by TurinDeNar @ Quote Link to comment Short link Share on other sites More sharing options...
tratatank Posted November 3, 2013 Share Posted November 3, 2013 Может быть реплей остался? Было бы интересно поковыряться, посмотреть за счет чего такой шанс на победу получился. На первый взгляд и правда что-то не то, команда противника не явно сильнее конечно, но как минимум команды более менее равны, а тут 63%... Реплея к сожалению не осталось. Я думал ников игроков со скриншотов хватит для проверки работы формулы. @ Quote Link to comment Short link Share on other sites More sharing options...
TurinDeNar Posted November 3, 2013 Author Share Posted November 3, 2013 (edited) Реплея к сожалению не осталось. Я думал ников игроков со скриншотов хватит для проверки работы формулы. В принципе хватит... Но долго все составляющие боевой эффективности по каждому игроку ковырять:) В моем тестконфиге все необходимое для расчета выведено визуально сразу. Ладно, будет время пройдусь по этим 30 игрокам посмотрю в чем дело. Edited November 3, 2013 by TurinDeNar @ 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.