seriych Posted October 14, 2015 Author Share Posted October 14, 2015 тут такой нежданчик случился. Оказывается метод в API, который бои на танках выдает (я раньше думал бесполезный, ибо есть другой, который кроме боев еще много всего выдает), умеет сразу много игроков в одном запросе обрабатывать. Соответственно можно сделать нормальные рейтинги :-) на форуме соответственно тоже @ Quote Link to comment Short link Share on other sites More sharing options...
Progrev_T Posted October 14, 2015 Share Posted October 14, 2015 Кхммм... Замечательно конечно, но я нифига не понял. По-подробней можно? @ Quote Link to comment Short link Share on other sites More sharing options...
seriych Posted October 14, 2015 Author Share Posted October 14, 2015 (edited) Замечательно конечно, но я нифига не понял. По-подробней можно? http://ru.wargaming.net/developers/api_explorer/wot/account/tanks/?application_id=demo&fields=tank_id%2Cstatistics.battles&account_id=40%2C468765&http_method=GET&run=1 Edited October 14, 2015 by seriych @ Quote Link to comment Short link Share on other sites More sharing options...
HellQwer Posted October 14, 2015 Share Posted October 14, 2015 (edited) тут такой нежданчик случился. Оказывается метод в API, который бои на танках выдает (я раньше думал бесполезный, ибо есть другой, который кроме боев еще много всего выдает), умеет сразу много игроков в одном запросе обрабатывать. Соответственно можно сделать нормальные рейтинги :-) wr2.png на форуме соответственно тоже Ну в другом скрипте статистик батлс юзается, если ты об этом // processing information from player API function apiInfoHnd(resp) { var data = JSON.parse(resp).data; for (var a in data) { if (data.hasOwnProperty(a)) { // store stats s[data[a].account_id].u = { name: data[a].nickname, id: data[a].account_id, cid: data[a].clan_id, bat: data[a].statistics.all.battles, win: (data[a].statistics.all.wins/data[a].statistics.all.battles)*100, dmg: data[a].statistics.all.damage_dealt/data[a].statistics.all.battles, frag: data[a].statistics.all.frags/data[a].statistics.all.battles, spot: data[a].statistics.all.spotted/data[a].statistics.all.battles, def: data[a].statistics.all.dropped_capture_points/data[a].statistics.all.battles, wgr: data[a].global_rating, lng: data[a].client_language }; } } reqHnd(sc.api.v, apiVehHnd); } // processing information from vehicle API and calculate WN8 function apiVehHnd(resp) { var data = JSON.parse(resp).data; for (var p in data) { if (data.hasOwnProperty(p)) { var rWin, rDmg, rFrag, rSpot, rDef; if (s[p].u.bat > 0) { for (var v in data[p]) { if (data[p].hasOwnProperty(v)) { for (var _so=0; _so<statObj.length; _so++) { if (statObj[_so].IDNum == data[p][v].tank_id) { var vehStat = statObj[_so]; s[p].v.frag += vehStat.expFrag *data[p][v].statistics.battles; s[p].v.dmg += vehStat.expDamage *data[p][v].statistics.battles; s[p].v.spot += vehStat.expSpot *data[p][v].statistics.battles; s[p].v.def += vehStat.expDef *data[p][v].statistics.battles; s[p].v.win += vehStat.expWinRate *data[p][v].statistics.battles; break; } } } } rWin = Math.max(((s[p].u.win /(s[p].v.win /s[p].u.bat)-0.71)/(1-0.71)),0); rDmg = Math.max(((s[p].u.dmg /(s[p].v.dmg /s[p].u.bat)-0.22)/(1-0.22)),0); rFrag = Math.max(Math.min(rDmg+0.2,((s[p].u.frag/(s[p].v.frag/s[p].u.bat)-0.12)/(1-0.12))),0); rSpot = Math.max(Math.min(rDmg+0.1,((s[p].u.spot/(s[p].v.spot/s[p].u.bat)-0.38)/(1-0.38))),0); rDef = Math.max(Math.min(rDmg+0.1,((s[p].u.def /(s[p].v.def /s[p].u.bat)-0.10)/(1-0.10))),0); s[p].wn8 = colStat(980*rDmg + 210*rDmg*rFrag + 155*rFrag*rSpot + 75*rDef*rFrag + 145*Math.min(1.8,rWin),"wn8",0); } else { s[p].wn8 = colStat(0,"wn8",0); } } } statInsert(); } Edited October 14, 2015 by HellQwer @ Quote Link to comment Short link Share on other sites More sharing options...
Kapany3uk Posted October 14, 2015 Share Posted October 14, 2015 ...Соответственно можно сделать нормальные рейтинги :-) Если в окне результатов боя (как на скрине) будет отображаться статистика (да ещё и настраиваемая средствами хвм) это ж какое подспорье для офицеров кланов! Да и так сразу будет видно: результат случайный или закономерный))) и не надо лезть в "достижения" игрока... @ Quote Link to comment Short link Share on other sites More sharing options...
BADoBEST Posted October 14, 2015 Share Posted October 14, 2015 Если в окне результатов боя (как на скрине) будет отображаться статистика (да ещё и настраиваемая средствами хвм) это ж какое подспорье для офицеров кланов! Да и так сразу будет видно: результат случайный или закономерный))) и не надо лезть в "достижения" игрока... это же на сайте реплеев, к сожалению @ Quote Link to comment Short link Share on other sites More sharing options...
Kapany3uk Posted October 14, 2015 Share Posted October 14, 2015 (edited) это же на сайте реплеев, к сожалениютупанул, ёпрст.Но идея хороша! Вот бы её и в клиент... Edited October 14, 2015 by Kapany3uk 1 @ Quote Link to comment Short link Share on other sites More sharing options...
BADoBEST Posted October 14, 2015 Share Posted October 14, 2015 тупанул, ёпрст. Но идея хороша! Вот бы её и в клиент... сколько в танки играю, столько об этом мечтаю. @ Quote Link to comment Short link Share on other sites More sharing options...
StranikS_Scan Posted October 14, 2015 Share Posted October 14, 2015 Оказывается метод в API, который бои на танках выдает (я раньше думал бесполезный, ибо есть другой, который кроме боев еще много всего выдает), умеет сразу много игроков в одном запросе обрабатывать. Я может не совсем понял, но вроде давно уже так. Моды же альтернативные XVM, показывающие стату они его юзает. Вот например: players = [] for pl in arena.vehicles.values(): players.append(str(pl['accountDBID'])) res = ','.join(players) request = 'http://api.worldoftanks.ru/wot/account/info/?application_id=demo&fields=statistics.all&account_id=' + res import urllib2 import json players = json.loads(urllib2.urlopen(request).read())['data'] @ Quote Link to comment Short link Share on other sites More sharing options...
seriych Posted October 14, 2015 Author Share Posted October 14, 2015 (edited) Лучше скажите, как вежливо обратиться к серваку, чтобы он мне файлик отдал: xmlhttp.open("GET", 'http://www.wnefficiency.net/exp/expected_tank_values_latest.json', true); нифига не хочет работать. А кидаю тот же файл в дропбокс - работает: xmlhttp.open("GET", 'https://dl.dropboxusercontent.com/u/16986523/expected_tank_values_latest.json', true); Edited October 14, 2015 by seriych @ Quote Link to comment Short link Share on other sites More sharing options...
seriych Posted November 5, 2015 Author Share Posted November 5, 2015 скоро будем тестить @ Quote Link to comment Short link Share on other sites More sharing options...
Progrev_T Posted November 5, 2015 Share Posted November 5, 2015 Лучше б ввели дополнительные две колонки: "урон, нанесённый с вашей помощью" и "суммарный урон" (то есть, урон + урон с твоей помощью). 1 @ Quote Link to comment Short link Share on other sites More sharing options...
seriych Posted November 6, 2015 Author Share Posted November 6, 2015 Лучше б ввели дополнительные две колонки: "урон, нанесённый с вашей помощью" с начкока не получилось - сортировка вырубается.Закончу с рейтингами, попробую получше поковыряться 1 @ Quote Link to comment Short link Share on other sites More sharing options...
seriych Posted November 6, 2015 Author Share Posted November 6, 2015 скоро будем тестить Тестим: https://bitbucket.org/seriych/wotreplaysextendedstat/raw/tip/wotreplays_ext_stat.user.js @ Quote Link to comment Short link Share on other sites More sharing options...
seriych Posted November 7, 2015 Author Share Posted November 7, 2015 @Progrev_T, у тебя какой браузер? @ Quote Link to comment Short link Share on other sites More sharing options...
SkepticalFox Posted November 7, 2015 Share Posted November 7, 2015 Лучше скажите, как вежливо обратиться к серваку, чтобы он мне файлик отдал:fetch разве не в моде уже? @ Quote Link to comment Short link Share on other sites More sharing options...
seriych Posted November 7, 2015 Author Share Posted November 7, 2015 (edited) fetch разве не в моде уже? я вообще не в курсе что в моде, а что нет. Там вроде от настроек сервера зависит и fetch, наверное, не поможет, плюс надо как-то в опере 12-й еще чтобы работало. Короче, я закинул на битбакет- оттуда качает норм. сейчас другая проблема всплыла - по идее надо поддержку @run-at document_idle, а оно не везде есть. В violentmonkey не пашет, в greasemonkey 4 дня назад добавили и в релизе еще нет. Придется пока возвращать кусок кода в старое место, а то уже в текущем релизе косяк- не выделяет автора реплея на второй вкладке. lol, посмотрел код violentmonkey - там document-idle и все подобные через тире написаны вместо подчеркивания :-) Edited November 7, 2015 by seriych @ Quote Link to comment Short link Share on other sites More sharing options...
Progrev_T Posted November 7, 2015 Share Posted November 7, 2015 (edited) @Progrev_T, у тебя какой браузер? Firefox. Вчера скрипт пробовал, всё нормально работало. Edited November 7, 2015 by Progrev_T @ Quote Link to comment Short link Share on other sites More sharing options...
seriych Posted November 7, 2015 Author Share Posted November 7, 2015 Firefox печалька. Вот только в нем и не работает пока :-) в greasemonkey 4 дня назад добавили и в релизе еще нет. всё нормально работало. не выделяет автора реплея на второй вкладке. это в принципе фигня. Но с добавлением ассита уже хуже @ Quote Link to comment Short link Share on other sites More sharing options...
Progrev_T Posted November 7, 2015 Share Posted November 7, 2015 не выделяет автора реплея на второй вкладке. Не знаю, я себя нормально вижу. @ 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.