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

Help Pts - птс статистика

Тема в разделе 'Кодинг/Собственные решения', создана пользователем Archi=), 28 июн 2013.

Статус темы:
Закрыта.
  1. Archi=) Ньюфаг

    Сообщения:
    51
    Спасибы:
    2
    Дата начала использования бота:
    2013
    Доброго времени суток форумчане, опять же облазил форум толкового ничего не нашёл по этому поводу=)

    Подскажите пожалуйста как сделать ПТС статистику на свой бот?
    бот brtGhost

    Буду очень благодарен тому кто тыкнёт меня туда где надо искать =)
  2. Suicider Старожила

    Сообщения:
    673
    Спасибы:
    117
    Сборка бота GHost:
    Ghost++ 17.1 by w3gh
    Дата начала использования бота:
    12.07.2011
    Ты будешь удивлён, но Score это и есть "ПТС"...

    Собственно по сабжу: не нужно изобретать велосипед, уже есть в боте

    З.Ы. БРТ не юзаю)
  3. Archi=) Ньюфаг

    Сообщения:
    51
    Спасибы:
    2
    Дата начала использования бота:
    2013
    что то у меня в боте оно не показывает .
  4. Suicider Старожила

    Сообщения:
    673
    Спасибы:
    117
    Сборка бота GHost:
    Ghost++ 17.1 by w3gh
    Дата начала использования бота:
    12.07.2011
    обнови очки -> (твой триггер)topc [например: !topc]
    поиск по форуму для слабаков?
  5. Archi=) Ньюфаг

    Сообщения:
    51
    Спасибы:
    2
    Дата начала использования бота:
    2013
    вот такая вот ошибочка
    [IMG]

    Я не понимаю в какой из баз нужно править.. Помогите видимо из-за этого у меня очки и не выводятся..
  6. marpool Знакомый модера

    Сообщения:
    118
    Спасибы:
    2
    Сборка бота GHost:
    Ghost One 1.7.266
    ghostdbmysql.cpp
  7. Archi=) Ньюфаг

    Сообщения:
    51
    Спасибы:
    2
    Дата начала использования бота:
    2013
    а что именно?
  8. Archi=) Ньюфаг

    Сообщения:
    51
    Спасибы:
    2
    Дата начала использования бота:
    2013
    уф.. бесит.. всё из вас нужно вытяягивать.. толкового ничего никто не скажет
  9. marpool Знакомый модера

    Сообщения:
    118
    Спасибы:
    2
    Сборка бота GHost:
    Ghost One 1.7.266
    у тебя где-то ошибка(формула или ghostdbmysql.cpp)
    Скажи мне ты формулу юзаеш дефолт или сам чудил?
  10. Archi=) Ньюфаг

    Сообщения:
    51
    Спасибы:
    2
    Дата начала использования бота:
    2013
    сам чудил её тут на форуме выкладывали, вот она

    ((kills-deaths+assists*0.7)*0.6+towerkills*0.8+raxkills+creepkills*0.02+creepdenies*0.08+neutralkills*0.03+courierkills*0.04)*0.5+(wins/totgames*2)+(totgames*0.002))
  11. marpool Знакомый модера

    Сообщения:
    118
    Спасибы:
    2
    Сборка бота GHost:
    Ghost One 1.7.266
    попробуй
    В ghost.cfg
    Код:
    (((wins-losses)/totgames)+(kills-deaths+assists/2)+(creepkills/100+creepdenies/10+neutralkills/50)+(raxkills/6)+(towerkills/11))
    и
    ghostdbmysql.cpp (MySQLCalculateScores)
    Код:
    bool MySQLCalculateScores( void *conn, string *error, uint32_t botid, string formula, string mingames )
    {
    bool Success = false;
    
    string Query = "select name,server, (" + formula + ") as totalscore from(select *, (kills/deaths) as killdeathratio, (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(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(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";
    Query+=" group by gp.name having totgames >= " + mingames + ") as h) as i ORDER BY totalscore desc, name asc";
    string Query2;
    string Query3 = "DELETE from scores";
    string name;
    string server;
    double Score = -100000.0;
    
    vector<string> names;
    vector<double> scores;
    vector<string> servers;
    
    if( mysql_real_query( (MYSQL *)conn, Query3.c_str( ), Query3.size( ) ) != 0 )
    *error = mysql_error( (MYSQL *)conn );
    
    if( mysql_real_query( (MYSQL *)conn, Query.c_str( ), Query.size( ) ) != 0 )
    *error = mysql_error( (MYSQL *)conn );
    else
    {
    Success = true;
    MYSQL_RES *Result = mysql_store_result( (MYSQL *)conn );
    
    if( Result )
    {
    vector<string> Row = MySQLFetchRow( Result );
    
    while( Row.size( ) == 3 )
    {
    names.push_back(MySQLEscapeString( conn, Row[0] ));
    servers.push_back(MySQLEscapeString( conn, Row[1]));
    scores.push_back(UTIL_ToDouble( Row[2] ));
    Row = MySQLFetchRow( Result );
    }
    mysql_free_result( Result );
    }
    else
    *error = mysql_error( (MYSQL *)conn );
    }
    if (Success)
    for (uint32_t i = 0; i<names.size();i++)
    {
    Query2 = "INSERT into scores (category,name,server,score) VALUES ('dota_elo','"+names[i]+"','"+servers[i]+"',"+UTIL_ToString(scores[i],6)+")";
    if( mysql_real_query( (MYSQL *)conn, Query2.c_str( ), Query2.size( ) ) != 0 )
    *error = mysql_error( (MYSQL *)conn );
    }
    names.clear();
    servers.clear();
    scores.clear();
    return Success;
    }
    Потом компильни
    запусти бота и юзни !topc
  12. marpool Знакомый модера

    Сообщения:
    118
    Спасибы:
    2
    Сборка бота GHost:
    Ghost One 1.7.266
    а ну да в ghostdbmysql.cpp не просто куда-то вставить этот код, а заменить свой этим
  13. Archi=) Ньюфаг

    Сообщения:
    51
    Спасибы:
    2
    Дата начала использования бота:
    2013
    f
    можно поставить вот такую формулу?
    ((((wins-losses)/totgames)+(kills-deaths+assists/1.8)+(creepkills/50+creepdenies/8+neutralkills/15)+(raxkills/6)+(towerkills/11))*log(totgames+1)*50)

    а то ту что ты мне скинул не очень то рациональная, и все пытаются избавится от неё .

  14. marpool Знакомый модера

    Сообщения:
    118
    Спасибы:
    2
    Сборка бота GHost:
    Ghost One 1.7.266
    да ты сначала проверь будет ли норм работать, а потом суй что хочеш
    Archi=) нравится это.
  15. Archi=) Ньюфаг

    Сообщения:
    51
    Спасибы:
    2
    Дата начала использования бота:
    2013
    проверил уже с этой формулой.
    ((((wins-losses)/totgames)+(kills-deaths+assists/1.8)+(creepkills/50+creepdenies/8+neutralkills/15)+(raxkills/6)+(towerkills/11))*log(totgames+1)*50)

    просто поменял формулу а в cpp ничего не менял, так вот работает всё =) спасибо тебе)
  16. marpool Знакомый модера

    Сообщения:
    118
    Спасибы:
    2
    Сборка бота GHost:
    Ghost One 1.7.266
    для спасибо есть кнопка :spy:
  17. Archi=) Ньюфаг

    Сообщения:
    51
    Спасибы:
    2
    Дата начала использования бота:
    2013
    так всё равно не понял птс как сделать?
  18. marpool Знакомый модера

    Сообщения:
    118
    Спасибы:
    2
    Сборка бота GHost:
    Ghost One 1.7.266
    Код:
    ((((wins-losses)/totgames)+(kills-deaths+assists/1.8)+(creepkills/50+creepdenies/8+neutralkills/15)+(raxkills/6)+(towerkills/11))*log(totgames+1)*50)
    это и есть твой птс
  19. Sparko_Dima Старожила

    Сообщения:
    744
    Спасибы:
    104
    Сборка бота GHost:
    Ghost Sparko
    Дата начала использования бота:
    10.10.09
    хахахахахахаха заходишь languages папку находишь russian.cfg и переменовываешь Score На что угодно походу это так сложно 0995 помойму в брт ланг
  20. Archi=) Ньюфаг

    Сообщения:
    51
    Спасибы:
    2
    Дата начала использования бота:
    2013
    я уже разобрался. тему закрывать можете.
Статус темы:
Закрыта.