1. Соблюдайте Правила форума и проявляйте уважение к другим участникам беседы.

Подсчет статистики

Тема в разделе 'Запуск и Поддержка', создана пользователем festival, 4 янв 2011.

Статус темы:
Закрыта.
  1. festival Старожила

    Сообщения:
    368
    Спасибы:
    0
    Кто разбирается подскажите, как сделать аналогичный подсчет статы если можно на пальцах.
    [IMG]
    Для тех кто не въехал, в этом подсчете даже у проигравших игроков есть шанс получить + в стату, не то что шаблон: выиграл +5 ( даже со статом 2:20), проиграл -3 (даже со счетом 20:5), вышел раньше времени -10.

    Думаю эта информация будет интересна не только мне.
  2. ____ROB____ Старожила

    Сообщения:
    1.008
    Спасибы:
    22
    Сборка бота GHost:
    Ghost One 1.5
    ну... поставь формулу на сайт, такую как и на боте
    и всё... (я поставил формулу брт)
  3. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    у брт не формула...
    надо поставить чтобы значение брало из базы..
  4. ____ROB____ Старожила

    Сообщения:
    1.008
    Спасибы:
    22
    Сборка бота GHost:
    Ghost One 1.5
    ладно... забираю свои слова обратно, по-поводу брт
    сайт статистики юзает стандартный метод топа? (выграл+5 ливнул-3? )
    так поставь что бы юзал формулу заданую тобой !

    Код:
    ((((kills-deaths+assists*0.5+towerkills*0.5+raxkills*0.2+(courierkills+creepdenies)*0.1+neutralkills*0.03+creepkills*0.03) * .2)+(wins-losses)))
    
    (ето как вариант)
  5. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
    Код:
    $ScoreMethod = '1';
    $scoreFormula = '((((wins-losses)/totgames)+(kills-deaths+assists/1.8)+(creepkills/100+creepdenies/10+neutralkills/50)+(raxkills/6)+(towerkills/11))'; 
    $DBScore = '1';
    $minPlayedRatio = '0.6';
    $minGamesPlayed = '1';
    $UserPointsOnGamePage = '1';
    $AccuratePointsCalculation = '1';
    Сделай так.
  6. ____ROB____ Старожила

    Сообщения:
    1.008
    Спасибы:
    22
    Сборка бота GHost:
    Ghost One 1.5
    опять я не то написал :opasnoste:
  7. md_hedji Олд-фаг

    Сообщения:
    24
    Спасибы:
    0
    как всегда)
  8. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
    q necroposter -> next (NECRO)post ban
  9. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    хДД некро?) лолс
  10. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
    u next
  11. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    хД мой форум мои правила?)
    это наша корова и мы её доим=)
  12. festival Старожила

    Сообщения:
    368
    Спасибы:
    0
    HELLICOPTER, сделал как ты написал, в формулу к конце дописал одну скобку ")" и ошибку выбивает при попытке открыть инфу о игре:
    Код:
    MySQL Error: 1064 ( You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'as totalscore FROM ( SELECT gp.name as name, bans.name as banname, avg(d' at line 1)
    \n
    По тестил, если вот например отключить опцию:
    Accurate points calculation то инфа о играх открывается нормально.

    Очки вроде как высчитывает как я хотел, некоторые проигравшие получили + в стату интересно эта опция обязательна и известно ли как исправить ошибку мою?
  13. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
    Можно, я просто не дефолтную формулу дал. Хочешь хорошую формулу? Но там очки будут сильно оличаться.
  14. festival Старожила

    Сообщения:
    368
    Спасибы:
    0
    Если есть классная формула, которая адекватно бы оценила как показал себя каждый игрок не смотря на то кто победил то давай.
    А что относительно моего еррора, проблема в формуле?
  15. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
    Да.

    Код:
    ((((wins-losses)/totgames)+(kills-deaths+assists/1.8)+(creepkills/100+creepdenies/10+neutralkills/50)+(raxkills/6)+(towerkills/11))*log(totgames+1)*50)*(avgleft/avgduration)
    Open Stats

    В common.php измени:
    function GetScoreBefore
    Код:
    avg(dp.neutralkills) as neutralkills, avg(dp.deaths)
    на
    Код:
    avg(dp.neutralkills) as neutralkills, avg(gp.left) as avgleft, avg(ga.duration) as avgduration, avg(dp.deaths)
    В GetScoreAfter - тоже самое.

    В config.php
    Код:
    $DBScore = '1';

    Ghost


    ghostdbmysql.cpp:
    bool MySQLCalculateScores:
    Код:
    string Query = " ИТД
    на
    Код:
    string Query = "select name,server, (" + formula + ") as totalscore from(select *, (kills/deaths) as killdeathratio, (left1/duration) as leftratio, (totgames-wins) as losses from (select gp.name as name,ga.server as server,gp.gameid as gameid, gp.colour as colour, avg(dp.courierkills) as courierkills, sum(dp.raxkills) as raxkillstotal, sum(dp.towerkills) as towerkillstotal, sum(ga.duration) as duration, sum(gp.left) as left1, sum(dp.assists) as assiststotal, sum(dp.courierkills) as courierkillstotal, sum(dp.creepdenies) as creepdeniestotal, sum(dp.creepkills) as creepkillstotal, sum(dp.neutralkills) as neutralkillstotal, sum(dp.deaths) as deathstotal, sum(dp.kills) as killstotal, avg(dp.raxkills) as raxkills,avg(dp.towerkills) as towerkills, avg(dp.assists) as assists, avg(dp.creepdenies) as creepdenies, avg(dp.creepkills) as creepkills, avg(gp.left) as avgleft, avg(ga.duration) as avgduration, avg(dp.neutralkills) as neutralkills, avg(dp.deaths) as deaths, avg(dp.kills) as kills,count(*) as totgames, SUM(case when((dg.winner = 1 and dp.newcolour < 6) or (dg.winner = 2 and dp.newcolour > 6)) then 1 else 0 end) as wins from gameplayers as gp, dotagames as dg, games as ga,dotaplayers as dp where dg.winner <> 0 and dp.gameid = gp.gameid and dg.gameid = dp.gameid and dp.gameid = ga.id and gp.gameid = dg.gameid and gp.colour = dp.colour";
    
  16. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
    Средний диапазон очков у "среднего" дотера - 900~1300 птс
    Нубом считается значение ниже 200 птс
  17. festival Старожила

    Сообщения:
    368
    Спасибы:
    0
    Спасибо за труд, сейчас посмотрим на результаты чудо формулы.
  18. Inhuman Пил пиво с админом

    Сообщения:
    147
    Спасибы:
    6
    Сборка бота GHost:
    BrtGhost rev 1.81
    Дата начала использования бота:
    15.09.2010
    почему то не открывает никогда 1-ые игры в стате, т.е. хочу допустим открыть игры с названием
    autohost #1-9 - не открываются, пишет на сайте что страница недоступна, хотя все остальные после 10 открываются нормально
  19. 1100 Ньюфаг

    Сообщения:
    50
    Спасибы:
    0
    мм ну где пруф скрин?
Статус темы:
Закрыта.