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

score

Тема в разделе 'Основные вопросы', создана пользователем rost, 10 дек 2011.

  1. rost Гуру

    Сообщения:
    1.258
    Спасибы:
    150
    Сборка бота GHost:
    LtG
    Дата начала использования бота:
    01.11.2010
    Skype:
    Мой статус
    Где конкретно запрос на score ??
    Чето ищу, нашол только ну суммарную выборку (киллс деас и тд...)
    А оно же берет просто както скоре, тока невижу запроса :stenka: :stenka:
  2. ViperNight ▒▒▒▒▒▒▒▒▒

    Сообщения:
    311
    Спасибы:
    154
    Сборка бота GHost:
    GHost++ r597M
    Дата начала использования бота:
    20.01.2007
    Skype:
    Мой статус
    Для GHost++ & One - ghostdbmysql.cpp

    Код:
    string Query = "SELECT score FROM scores WHERE category='" + EscCategory + "' AND name='" + EscName + "' AND server='" + EscServer + "'";
  3. rost Гуру

    Сообщения:
    1.258
    Спасибы:
    150
    Сборка бота GHost:
    LtG
    Дата начала использования бота:
    01.11.2010
    Skype:
    Мой статус
    странно искал по scores не нашел, сек проверю мб просто рак глаз :facepalm:
  4. rost Гуру

    Сообщения:
    1.258
    Спасибы:
    150
    Сборка бота GHost:
    LtG
    Дата начала использования бота:
    01.11.2010
    Skype:
    Мой статус
    Странно че так много where ну ок.
    Как достать еще 1 значение из scores и вытащить его из game.cpp и bnet.cpp
    ну типа как kills только чтобы оно брало именно из scores (нужно кароче в !sd всунуть скажем так)
    Мой вариант (накидал на быструю):
    Код:
    string Query = "SELECT score, needvalue FROM scores WHERE category='" + EscCategory + "' AND name='" + EscName + "' AND server='" + EscServer + "'";
    дальше там чтото типа, не сильно всохну че тут нужно
    Код:
    if( Row.size( ) == 1 )
    				Score = UTIL_ToDouble( Row[0] );
    			/* else
    				*error = "error checking score [" + category + " : " + name + " : " + server + "] - row doesn't have 1 column"; */
    
    			mysql_free_result( Result );
    Ну и получитсо ли
    Код:
    Summary = m_GHost->m_Language->GetLang(sd_lang,
    					  "$USER$", i->second->GetName( ),
    					  "$TOTALGAMES$", UTIL_ToString(DotAPlayerSummary->GetTotalGames( )),
    					  "$TOTALWINS$", UTIL_ToString( DotAPlayerSummary->GetTotalWins( ) ),
                                              "$TOTALLOSSES$", UTIL_ToString( DotAPlayerSummary->GetTotalLosses( ) ),
    					  "$COUNT$", leave_games_count,
    					  "$RANK$", RankS,
    					  "$LEAVE$", UTIL_ToString(DotAPlayerSummary->GetLeaveCount()),
    					  "$LEAVEPCNT$", leave_games_count,
    					  "$SCORE$", UTIL_ToString(DotAPlayerSummary->GetScore(), 0),
    					  "$WINS$", UTIL_ToString( DotAPlayerSummary->GetWinsPerGame( )),
    					  "$CLASS$", player_class,
    					  "$KILLS$", UTIL_ToString( DotAPlayerSummary->GetKillsPerGame( )),
    					  "$DEATHS$", UTIL_ToString( DotAPlayerSummary->GetDeathsPerGame( )),
    					  "$ASSISTS$", UTIL_ToString( DotAPlayerSummary->GetAssistsPerGame( )),
    					  "$CKILLS$", UTIL_ToString( DotAPlayerSummary->GetCreepKillsPerGame( )),
    					  "$CDENIED$", UTIL_ToString( DotAPlayerSummary->GetCreepDeniesPerGame( )));
    Добавить чтото типа
    Код:
    					  "$NEEDVALUE$", UTIL_ToString(DotAPlayerSummary->GetNeedValue(), 0),
    хз, прокоментируйте чето лажа выходит... :opasnoste:
  5. Synth (LM) Пантограф!

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

    Код:
    return Score;
    Копируй поэтапно все что связано с LeaveCount, поменяв тока запрос и офк названия функций и калабл.
  6. rost Гуру

    Сообщения:
    1.258
    Спасибы:
    150
    Сборка бота GHost:
    LtG
    Дата начала использования бота:
    01.11.2010
    Skype:
    Мой статус
    А тут
    Код:
    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, count(*) as totgames...
    Это влияет на !SD, ну тобишь там где GetTotalKills - это от сюда берет число?? Если изменю выборку под себя покатит?
  7. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
    Чето не пойму, ты мне показываешь уже другую функцию, не та что была выше. Тебе где нужно и что нужно, напиши точно.
  8. rost Гуру

    Сообщения:
    1.258
    Спасибы:
    150
    Сборка бота GHost:
    LtG
    Дата начала использования бота:
    01.11.2010
    Skype:
    Мой статус
    Вот мой последний пост да.
    Я пишу !sd мне нужно чтобы кпримеру GetTotalKills - вывело не килс, а то что я туда впишу (в подсчет, я тоже указал)
    Вот, сработает?
  9. Synth (LM) Пантограф!

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

    Сообщения:
    1.258
    Спасибы:
    150
    Сборка бота GHost:
    LtG
    Дата начала использования бота:
    01.11.2010
    Skype:
    Мой статус
    Ну я уже зделал, просто уточнить решил. Ок думаю волноватсо небуду, так как на положительныей результат и расчитывал, это легче мне чем щас мудиться из скоре вытаскивать время тратить, ну его...
    Спс :bIbIbIblya:
  11. Synth (LM) Пантограф!

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

    Сообщения:
    1.258
    Спасибы:
    150
    Сборка бота GHost:
    LtG
    Дата начала использования бота:
    01.11.2010
    Skype:
    Мой статус
    ??
    я про то, что это зделал уже, а по поводу вывода еще одного value из скорес это долго мудить)
  13. Mefix Наш человек

    Сообщения:
    114
    Спасибы:
    3
    Ммм.. Почему долго? Я запрос переписал, у меня выводится !sd, !statsdota, при заходе игры, всё из новой отдельной таблицы. Я только с Leave count не разобрался. Ибо не могу найти место, где для неё идёт чтение из массива по count где left < время игры - 180. Я хочу чтобы ливы отдельно были тоже в таблице.
  14. rost Гуру

    Сообщения:
    1.258
    Спасибы:
    150
    Сборка бота GHost:
    LtG
    Дата начала использования бота:
    01.11.2010
    Skype:
    Мой статус
    Я неговорю за СД. Я по своему отпимизировал.
    У меня выводит скоре 1-о число, нечего вообще не считает, 1 таблица, 1 число, после окончания игры нету перещета, так что бот немучает все таблицы.
    Мне требывалось другое, но я решил по своему, просто очистил запрос, оставил только подсчет нужного для моего значения. Так что оно берет только Килс Деас Ассистс... и нечего ненагружает, так как тут через 2 таблицы прыгает, и нечего сложного, Select да Sum
    А хотел зделать тоже 1-м числом, чтобы как скоре выводило, но нестал заморачиваться -_-
  15. Mefix Наш человек

    Сообщения:
    114
    Спасибы:
    3
    Ну прыгать не прыгать. Я пытаюсь сделать оптимизацию, с возможностью указания под опенстатс. То есть, усе данные из одной таблицы. Единственное я вот ещё не решил. Мне в боте добавление новых значений в эту таблицу прописывать. или всётаки триггер на Mysql написать, который новые бы значения просчитывал и записывал.
  16. rost Гуру

    Сообщения:
    1.258
    Спасибы:
    150
    Сборка бота GHost:
    LtG
    Дата начала использования бота:
    01.11.2010
    Skype:
    Мой статус
    Ну думай сам, как по мне то лутше бота освобождать. Меньше работы, меньше лагает... :bIbIbIblya:
  17. Mefix Наш человек

    Сообщения:
    114
    Спасибы:
    3
    Ну эт конечно да.. Любой бот будет вылетать, если он начнёт пересчитывать все знаения очков для всех игроков, каждый раз когда игра закончилась. То есть раз в 5 минут это минимум, а когда БД находится ещё где-то удалённо... То за 5 минут ещё эти данные не занесутся )))

    ЗЫ: я думаю по возможности лучше сделать и так и так. ))) Так сказать про запас.
  18. rost Гуру

    Сообщения:
    1.258
    Спасибы:
    150
    Сборка бота GHost:
    LtG
    Дата начала использования бота:
    01.11.2010
    Skype:
    Мой статус
    Я это понял вскоре как меня напрягали эти скачки раз в 3-5 минут. Ну и вдуплил про перещет. И зделал чтобы щитало только игроков которые играли. Ну и сама формула)) 2 значения плюсует. Очки за и очки против) ;D
  19. Mefix Наш человек

    Сообщения:
    114
    Спасибы:
    3
    Ммм. а как ты организовал чтобы именно только те кто играли? для них стата считалась. интересно код увидеть.
  20. rost Гуру

    Сообщения:
    1.258
    Спасибы:
    150
    Сборка бота GHost:
    LtG
    Дата начала использования бота:
    01.11.2010
    Skype:
    Мой статус
    Кто говорил про код бота?) :spy: