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

Help Трабл с пересчетом

Тема в разделе 'Кодинг/Собственные решения', создана пользователем Organated, 3 фев 2013.

  1. Organated Гуру

    Сообщения:
    164
    Спасибы:
    14
    Сборка бота GHost:
    GhostOne 1.7 mod by Org-code
    Дата начала использования бота:
    1.89.89
    Здравствуйте !Собственно трабл с пересчетом. В общем использую в качестве дб sqlite3 , ну и естественно пересчет очков -> Updatescoreaftergame . К примеру сейчас у меня 200 птс , я набираю !sd он мне пишет USER: PTS:200. Далее я сыграю игру , набираю !sd и все также 200 птс. После того как набираю !topc , вуаля он прибавляет мои очки , которые я получил в игре. И так писать после каждой игры !topc не тру, т.к. не я один играю на боте. Нужно автоматизировать ее . Скрипт отпадает , не пишите чтобы я поставил себе отдельный скрипт( я незнаю как его применить без ДОСа,ибо нужно на это отдельный пост (оффтоп) ). Может Нужны Доработки в коде?! .В качестве птс использую score.
    2) у меня есть скрипт балансовый
    Что мне нужно сделать чтоб бот пересчитывал очки по этому скрипту (БЕЗ ДОСа)
    Не трольте тему плз :prayy:
  2. Ziko Гуру

    Сообщения:
    130
    Спасибы:
    2
    Сборка бота GHost:
    Ghost ++17.1
    Дата начала использования бота:
    01.09.2010
    Skype:
    Мой статус
    Ищи где происходит EventGameEnded и туда встав код обновление очок.
  3. Organated Гуру

    Сообщения:
    164
    Спасибы:
    14
    Сборка бота GHost:
    GhostOne 1.7 mod by Org-code
    Дата начала использования бота:
    1.89.89
    А я вот хотел узнать этот код):limon:
  4. Organated Гуру

    Сообщения:
    164
    Спасибы:
    14
    Сборка бота GHost:
    GhostOne 1.7 mod by Org-code
    Дата начала использования бота:
    1.89.89
    EventGameEnded в Game.cpp этого нет
  5. Ziko Гуру

    Сообщения:
    130
    Спасибы:
    2
    Сборка бота GHost:
    Ghost ++17.1
    Дата начала использования бота:
    01.09.2010
    Skype:
    Мой статус
    а я не писал что оно на game.cpp! то что я намекал находится на ghost.cpp
  6. Organated Гуру

    Сообщения:
    164
    Спасибы:
    14
    Сборка бота GHost:
    GhostOne 1.7 mod by Org-code
    Дата начала использования бота:
    1.89.89
    его там нет:fp:
    LongMan нравится это.
  7. Ziko Гуру

    Сообщения:
    130
    Спасибы:
    2
    Сборка бота GHost:
    Ghost ++17.1
    Дата начала использования бота:
    01.09.2010
    Skype:
    Мой статус
    извиняюсь ищи это: EventGameDeleted
  8. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
    Попробуй просто сыграть игру, потом через 65 минут проверить свои очки (!sd) без ввода команды !topc
    Эм, что за "балансовый скрипт"?
  9. rost Гуру

    Сообщения:
    1.258
    Спасибы:
    150
    Сборка бота GHost:
    LtG
    Дата начала использования бота:
    01.11.2010
    Skype:
    Мой статус
    Типа из DOSa
  10. Suicider Старожила

    Сообщения:
    673
    Спасибы:
    117
    Сборка бота GHost:
    Ghost++ 17.1 by w3gh
    Дата начала использования бота:
    12.07.2011

    :facepalm:

    Organated не слушайте его... Лучше ищите упорно (по всем сырцым -_-) вот это и сделайте как Вам удобно.
    Код:
    m_CalculatingScores
  11. Organated Гуру

    Сообщения:
    164
    Спасибы:
    14
    Сборка бота GHost:
    GhostOne 1.7 mod by Org-code
    Дата начала использования бота:
    1.89.89
    Код:
    m_CalculatingScores = false;
    ghost.cpp
    И вот кусочек из Game.cpp.
    Код:
                // store the stats in the database
     
                if( m_Stats )
                {
                    m_Stats->Save( m_GHost, m_GHost->m_DB, m_CallableGameAdd->GetResult( ) );
                    if (m_GHost->DBType == "mysql")
                    if (m_GHost->m_UpdateDotaScoreAfterGame)
                    {
                        if (!m_GHost->m_CalculatingScores)
                        {
                            string formula = m_GHost->m_ScoreFormula;
                            string mingames = m_GHost->m_ScoreMinGames;
    //                        m_GHost->m_CalculatingScores = true;
                            CONSOLE_Print( "[GAME: " + m_GameName + "] calculating scores..." );
                            m_PairedCalculateScores.push_back( PairedCalculateScores( m_OwnerName, m_GHost->m_DB->ThreadedCalculateScores( formula, mingames ) ) );
                        }
                    }
                    else
                    {
    #ifdef WIN32
                        if (m_GHost->m_UpdateDotaEloAfterGame)
                            if (m_GHost->DBType == "mysql")
                            {
                                CONSOLE_Print( "[GAME: " + m_GameName + "] running update_dota_elo.exe" );
                                system("update_dota_elo.exe");
                            }
    #endif
    Меня в нем смутили вот эти строчки, т.к пересчет именно если мускул база а не sqlite
    Код:
     if (m_GHost->DBType == "mysql")
    . Т.е. если я использую sqlite мне нужно это заменить на sqlite.
  12. ROB4ik Рекомендуемый

    Сообщения:
    224
    Спасибы:
    35
    мне кто-то говорил что SQLite не обновляет самостоятельно к-во score
  13. ROB4ik Рекомендуемый

    Сообщения:
    224
    Спасибы:
    35
    ну или просто
    if (m_GHost->DBType == "mysql" || m_GHost->DBType == "sqlite" )

    посмотри точно как там нужно писать sqlite
  14. Synth (LM) Пантограф!

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

    Сообщения:
    164
    Спасибы:
    14
    Сборка бота GHost:
    GhostOne 1.7 mod by Org-code
    Дата начала использования бота:
    1.89.89
    Код:
    m_CalculatingScores = false;
     
    вот это в Ghost cpp?
  16. Suicider Старожила

    Сообщения:
    673
    Спасибы:
    117
    Сборка бота GHost:
    Ghost++ 17.1 by w3gh
    Дата начала использования бота:
    12.07.2011
    не исключено :D

    но на твоём месте я бы лучше в game.cpp искал бы... но это я.
  17. Organated Гуру

    Сообщения:
    164
    Спасибы:
    14
    Сборка бота GHost:
    GhostOne 1.7 mod by Org-code
    Дата начала использования бота:
    1.89.89
    Слушайте а нельзя ли упростить проблему,тупо после каждой игры автоматизировать команду !topc , Чтобы после Каждой игры он автоматом пересчитывал очки.
  18. Organated Гуру

    Сообщения:
    164
    Спасибы:
    14
    Сборка бота GHost:
    GhostOne 1.7 mod by Org-code
    Дата начала использования бота:
    1.89.89
    В Game.cpp стоит true, а в Ghost.cpp false
  19. Suicider Старожила

    Сообщения:
    673
    Спасибы:
    117
    Сборка бота GHost:
    Ghost++ 17.1 by w3gh
    Дата начала использования бота:
    12.07.2011
    :fp: что я и пытаюсь тебе "сказать", чтобы ты добился этого сам с помощью моих постов...
  20. Ziko Гуру

    Сообщения:
    130
    Спасибы:
    2
    Сборка бота GHost:
    Ghost ++17.1
    Дата начала использования бота:
    01.09.2010
    Skype:
    Мой статус
    Ищем:
    Код:
    void CGHost :: EventGameDeleted( CBaseGame *game )
    после
    Код:
    for( vector<CBNET *> :: iterator i = m_BNETs.begin( ); i != m_BNETs.end( ); i++ )
    {
    (*i)->QueueChatCommand( m_Language->GameIsOver( game->GetDescription( ) ) );
     
    if( (*i)->GetServer( ) == game->GetCreatorServer( ) )
    (*i)->QueueChatCommand( m_Language->GameIsOver( game->GetDescription( ) ), game->GetCreatorName( ), true );
    }
    
    добавим:
    Код:
    m_DB->ThreadedCalculateScores( formula, mingames );
    Помоему ты этого хотел. . .