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

GhostOne Проверить что у игрока меньше 20 игр и выкинуть

Тема в разделе 'Основные вопросы', создана пользователем MAMA_YA_DNO, 4 май 2013.

  1. MAMA_YA_DNO Гуру

    Сообщения:
    187
    Спасибы:
    9
    Сборка бота GHost:
    Ghost Rakata Edition
    Дата начала использования бота:
    15.08.2012
    В общем я пытался это сделать, проверять я собирался в месте где кикает забаненных, но потом столкнулся с проблемой, я никак не мог понять как перенести из game.cpp в game_base.cpp значения выдаваемые через GamePlayerSummary. Все мои попытки провалились. Жду помощи.
  2. Doterok Старожила

    Сообщения:
    923
    Спасибы:
    171
    Сборка бота GHost:
    Ghost ++ 17.2
    Дата начала использования бота:
    2011
    Код:
    // check if we're only allowing certain scores
    if (!m_ScoreCheckChecked)
    if ( m_ScoreCheck && !Reserved && !m_Map->GetMapMatchMakingCategory( ).empty( )/* && m_Map->GetMapGameType( ) == GAMETYPE_CUSTOM*/ )
    {
    // scorechecking is enabled
    // start a database query to determine the player's score
    // when the query is complete we will call EventPlayerJoinedWithScore
     
    m_ScoreChecks.push_back( m_GHost->m_DB->ThreadedScoreCheck( m_Map->GetMapMatchMakingCategory( ), joinPlayer->GetName( ), JoinedRealm ) );
    return;
    }
     
    string sc = "0";
    string ra = "0";
    string reqScore = UTIL_ToString(m_Scores, 2);
    double Score;
    bool ScoreChecked = false;
     
    if (m_ScoreCheckChecked)
    {
    uint32_t scorecount = m_GHost->ScoresCount();
     
    sc = UTIL_ToString(m_ScoreCheckScore, 2);
    ra = UTIL_ToString(m_ScoreCheckRank);
     
    ScoreChecked = true;
    Score = m_ScoreCheckScore;
    bool allow = false;
    allow = (m_GHost->m_AllowNullScoredPlayers && (Score==0));
    if (!allow)
    if (Score<m_Scores)
    {
    string n=joinPlayer->GetName();
    if (m_GHost->m_Verbose)
    SendAllChat( tr("lang_1001", "$NAME$", n, "$SCORE$", sc, "$REQSCORE$", reqScore) );  // AutokickingPlayerForDeniedScore( n, sc, reqScore )
     
    vector<CGameSlot> Slots = m_Map->GetSlots( );
    potential->Send( m_Protocol->SEND_W3GS_SLOTINFOJOIN( 1, potential->GetSocket( )->GetPort( ), potential->GetExternalIP( ), Slots, 0, m_Map->GetMapLayoutStyle( ), m_Map->GetMapNumPlayers( ) ) );
    potential->SetDeleteMe( true );
    return;
    }
    }
    
    погляди в эту сторону