demon_g_-1985 0 #419522 Posted January 29, 2018 10 минут назад, SEREGA_SF сказал: @demon_g_-1985, для начала - изучи в школе значения слов. Затем изучи, внимательно изучи (а главное пойми хотя бы примерно), как всё это работает (wn8), и уж потом приходи возмущаться)) Тя в школе видимо не очень то любили, а тут умничать начал. Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #419524 Posted January 29, 2018 2 минуты назад, demon_g_-1985 сказал: Тя в школе видимо не очень то любили, а тут умничать начал. А тебя в школе однозначно все обожали, судя по интеллектуальности постов. Наверно за то, что ты был тупее всех, и потому любому ученику легко было выделиться на твоем фоне. 4 2 Quote Share this post Link to post Short link Share on other sites
SEREGA_SF 611 #419534 Posted January 30, 2018 @demon_g_-1985, для особо "одаренных" перевожу твою ересь: 13 часов назад, demon_g_-1985 сказал: Верните старые фиктивные значения! Верните старые фальшивые значения! Может так до пацаненка дойдет...чему ж вас там сейчас обучают, что такую ахинею умудряетесь нести(( то ли учителя нихрена не преподают, то ли молодежь так оскудела разумом(( 1 Quote Share this post Link to post Short link Share on other sites
Andrey046 0 #419714 Posted February 3, 2018 Смешно. Был "зеленым" - подняли планку "позеленения" до 1550. Ладно - проглотил пилюлю- из кожи вон лез , чтобы добраться до заветной цели ( а при 49К боев это полная жопа) - добрался - и- по прежнему желтый ( причем на всех сторонних сайтах ВН8 на 2 пункта выше). Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #419715 Posted February 3, 2018 (edited) 13 минут назад, Andrey046 сказал: Смешно. Был "зеленым" - подняли планку "позеленения" до 1550. Ладно - проглотил пилюлю- из кожи вон лез , чтобы добраться до заветной цели ( а при 49К боев это полная жопа) - добрался - и- по прежнему желтый ( причем на всех сторонних сайтах ВН8 на 2 пункта выше). Интересно, сколько лет тебе потребуется, чтобы сообразить, что расчет идёт динамически и планки плавают в зависимости от статистики серверов и их ни кто вручную не задает. Edited February 3, 2018 by StranikS_Scan 2 2 Quote Share this post Link to post Short link Share on other sites
1eshii 26 #420446 Posted February 8, 2018 (edited) Когда Бирюзовый вн8 сделаете 3100 ?? а фиолетовый 4500 ! .все для 100 человек в рандоме .авхвахвхахва,2408 вн8 когда будет зеленый меняю на рейтинг от вг в хвм .удачи вам в своем рейтинге у людей по 30-40-50 к боев у них по 2300-2400 вн8 .но считаете уровень вн8 все растет и растет из за твинков и нуботвинков ,как же справедливо кто стока боев отыграл ...у Креспикса видел мод пак у него было 4200 на твп 10 и была бирюза интересно скока на ру сервере людей делают дамаг больше него .для кого этот тогда рейтинг для избранных с патентом Кислого когда ему суют в тиму норм челиков против ботов ...молодцы ребята... Edited February 8, 2018 by 1eshii 1 Quote Share this post Link to post Short link Share on other sites
jopatanki 0 #420470 Posted February 8, 2018 (edited) Привет! Быстренько накидал программу для расчета WN8. Результат моих расчетов 1594, а в игре 1704. Почему? Через WG API получил статку по своим танкам. скачал свежую таблицу WN8 https://static.modxvm.com/wn8-data-exp/json/wn8exp.json Все мои танки есть в таблице WN8 Мой ник: TT_u_k_a_4_u #include <vector> #include <string> #include <exception> #include "elements.h" #include "reader.h" float GetExpDmg(const json::Object& obj, unsigned tankID) { const json::Array& data = obj["data"]; for (json::Array::const_iterator it = data.Begin(); it != data.End(); it++) { const json::Object& item = *it; const json::Number& idn = item["IDNum"]; unsigned IDNum = idn.Value(); if (IDNum == tankID) { const json::Number& ex = item["expDamage"]; return ex.Value(); } } return 0.0; } float GetExpFrag(const json::Object& obj, unsigned tankID) { const json::Array& data = obj["data"]; for (json::Array::const_iterator it = data.Begin(); it != data.End(); it++) { const json::Object& item = *it; const json::Number& idn = item["IDNum"]; unsigned IDNum = idn.Value(); if (IDNum == tankID) { const json::Number& ex = item["expFrag"]; return ex.Value(); } } return 0.0; } float GetExpSpot(const json::Object& obj, unsigned tankID) { const json::Array& data = obj["data"]; for (json::Array::const_iterator it = data.Begin(); it != data.End(); it++) { const json::Object& item = *it; const json::Number& idn = item["IDNum"]; unsigned IDNum = idn.Value(); if (IDNum == tankID) { const json::Number& ex = item["expSpot"]; return ex.Value(); } } return 0.0; } float GetExpDef(const json::Object& obj, unsigned tankID) { const json::Array& data = obj["data"]; for (json::Array::const_iterator it = data.Begin(); it != data.End(); it++) { const json::Object& item = *it; const json::Number& idn = item["IDNum"]; unsigned IDNum = idn.Value(); if (IDNum == tankID) { const json::Number& ex = item["expDef"]; return ex.Value(); } } return 0.0; } float GetExpWin(const json::Object& obj, unsigned tankID) { const json::Array& data = obj["data"]; for (json::Array::const_iterator it = data.Begin(); it != data.End(); it++) { const json::Object& item = *it; const json::Number& idn = item["IDNum"]; unsigned IDNum = idn.Value(); if (IDNum == tankID) { const json::Number& ex = item["expWinRate"]; return ex.Value(); } } return 0.0; } int main(int argc, char* argv[]) { std::string wn8tablestr; FILE* f = fopen("wn8table.json", "rb"); if (f) { char b[1025]; size_t sz; while ((sz=fread(&b, 1, 1024, f)) != 0) { b[sz] = 0; wn8tablestr += b; } fclose(f); f = nullptr; } json::Object wb8table; std::istringstream stream(wn8tablestr); json::Reader::Read(wb8table, stream); std::string usertanksStr; f = fopen("user_tanks.json", "rb"); if (f) { char b[1025]; size_t sz; while ((sz = fread(&b, 1, 1024, f)) != 0) { b[sz] = 0; usertanksStr += b; } fclose(f); } json::Object userTanks; std::istringstream stream2(usertanksStr); json::Reader::Read(userTanks, stream2); const char* userID = "24889739"; json::Object& data = userTanks["data"]; json::Array& tanks = data[userID]; //1594 float sumDmg = 0; float sumExpDmg = 0; float sumFrags = 0; float sumExpFrags = 0; float sumSpot = 0; float sumExpSpot = 0; float sumDef = 0; float sumExpDef = 0; float sumWin = 0; float sumExpWin = 0; for (json::Array::const_iterator it = tanks.Begin(); it != tanks.End(); it++) { const json::Object& item = *it; const json::Number& tid = item["tank_id"]; unsigned tankID = tid.Value(); const json::Object& all = item["all"]; const json::Number& b = all["battles"]; float battles = b.Value(); const json::Number& dd = all["damage_dealt"]; float dmg = dd.Value(); float expDmg = GetExpDmg(wb8table, tankID); if (expDmg == 0) { printf("skip %u\n", tankID); continue; } const json::Number& f = all["frags"]; float frags = f.Value(); float expFrags = GetExpFrag(wb8table, tankID); const json::Number& s = all["spotted"]; float spotted = s.Value(); float expSpot = GetExpSpot(wb8table, tankID); const json::Number& dcp = all["dropped_capture_points"]; float def = dcp.Value(); float expDef = GetExpDef(wb8table, tankID); const json::Number& w = all["wins"]; float win = w.Value(); float expWin = GetExpWin(wb8table, tankID) / 100.0; sumDmg += dmg; sumExpDmg += battles * expDmg; sumFrags += frags; sumExpFrags += battles * expFrags; sumSpot += spotted; sumExpSpot += battles * expSpot; sumDef += def; sumExpDef += battles * expDef; sumWin += win; sumExpWin += battles * expWin; } float rDamage = sumDmg / sumExpDmg; float rFrag = sumFrags / sumExpFrags; float rSpot = sumSpot / sumExpSpot; float rDef = sumDef / sumExpDef; float rWin = sumWin / sumExpWin; float rWinc = std::max(0.0, (rWin - 0.71) / (1.0 - 0.071)); float rDamagec = std::max(0.0, (rDamage - 0.22) / (1.0 - 0.22)); float rFragc = std::max(0.0, std::min(rDamagec + 0.2, (rFrag - 0.12) / (1.0 - 0.12))); float rSpotc = std::max(0.0, std::min(rDamagec + 0.1, (rSpot - 0.38) / (1.0 - 0.38))); float rDefc = std::max(0.0, std::min(rDamagec + 0.1, (rDef - 0.10) / (1.0 - 0.10))); float wn8 = 980.0 * rDamagec + 210.0 * rDamagec * rFragc + 155.0 * rFragc * rSpotc + 75.0 * rDefc * rFragc + 145.0 * std::min(1.8f, rWinc); printf("wn8: %.2f", wn8); getchar(); return 0; } user_tanks.json wn8table.json Edited February 8, 2018 by jopatanki Quote Share this post Link to post Short link Share on other sites
seriych 2,178 #420486 Posted February 8, 2018 2 часа назад, jopatanki сказал: Результат моих расчетов 1594, а в игре 1704. Почему? Винрейт случаем нигде лишний раз на 100 не делишь? Там как раз в твоем случае около 100 баллов оно дает. Quote Share this post Link to post Short link Share on other sites
jopatanki 0 #420499 Posted February 9, 2018 @seriych нет. Лишний раз не делю. Все делал как написал incognitoCap: post Quote Share this post Link to post Short link Share on other sites
sirmax 5,499 #420501 Posted February 9, 2018 11 часов назад, jopatanki сказал: float expWin = GetExpWin(wb8table, tankID) / 100.0; Серыч, наверно, про это. Quote Share this post Link to post Short link Share on other sites
jopatanki 0 #420503 Posted February 9, 2018 @sirmax ну короче нашёл косяк float rWinc = std::max(0.0, (rWin - 0.71) / (1.0 - 0.071)) заменил на float rWinc = std::max(0.0, (rWin - 0.71) / (1.0 - 0.71)); Теперь результат 1632. Все равно не сходится @sirmax если убрать деление на 100 то получается 1474. Quote Share this post Link to post Short link Share on other sites
1eshii 26 #420558 Posted February 9, 2018 У меня тут вопрос возник по какому принципу дали вн8 новым танкам ?? на 430у за 3400 дамага .1.2 фраг за бой дали всего 2200 вн8 . слов просто нет .а чего 1200 вн8 не дали .. Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #420574 Posted February 9, 2018 @1eshii кто дал? Откуда эта картинка? Quote Share this post Link to post Short link Share on other sites
1eshii 26 #420582 Posted February 9, 2018 26 минут назад, ktulho сказал: @1eshii кто дал? Откуда эта картинка? http://wotomatic.net Quote Share this post Link to post Short link Share on other sites
ktulho 5,790 #420596 Posted February 9, 2018 @1eshii а при чем здесь XVM? Спрашивайте у разработчиков wotomatic. 1 Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #420602 Posted February 9, 2018 1 час назад, 1eshii сказал: за бой дали всего О чем это вы? WN8 не считается "за бой". Что правда не мешает каламбурить, но это проблемы тех кто пытается так что-то считать. 1 Quote Share this post Link to post Short link Share on other sites
sech_92 469 #420669 Posted February 10, 2018 16 часов назад, StranikS_Scan сказал: WN8 не считается "за бой". 19 часов назад, 1eshii сказал: 1.2 фраг за бой Он о среднем показателе фрагов за бой, читай внимательнее 1 Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #420670 Posted February 10, 2018 Только что, sech_92 сказал: Он о среднем показателе фрагов за бой, читай внимательнее В смысле? Он пишет "на 430у за 3400 дамага .1.2 фраг за бой дали всего 2200 вн8", что именно внимательного тут нужно прочитать? Quote Share this post Link to post Short link Share on other sites
sech_92 469 #420671 Posted February 10, 2018 5 минут назад, StranikS_Scan сказал: что именно внимательного тут нужно прочитать? Картинку прочитать, на которой видно, что это средние показатели за (аж целых!) пять боёв Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #420674 Posted February 10, 2018 Только что, sech_92 сказал: Картинку прочитать, на которой видно, что это средние показатели за (аж целых!) пять боёв В смысле что 2200 это 2232? Quote Share this post Link to post Short link Share on other sites