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

Solved Автобаланс

Тема в разделе 'Кодинг/Собственные решения', создана пользователем Crazy, 23 авг 2012.

  1. Crazy Ньюфаг

    Сообщения:
    2
    Спасибы:
    0
    Сборка бота GHost:
    Ghost One 1.7.266
    Кому не сложно выложыте код для автобаланса игроков по PTS очкам
  2. Suicider Старожила

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

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


    найди в game.cpp
    Код:
    //
    // !MUTEALL
    //
    
    и выше вставляй
    Код:
    //
    // !TEAMBALANCE (adm only)
    //
    
    else if( (Command == "teambalance" || Command == "tb" ) && !m_GameLoaded)
    {
    BalanceSlots();
    
    SendAllChat("- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -");
    
    unsigned char  team;
    double team1score = 0;
    double team2score = 0;
    double allteamscore = 0;
    double team1proc = 0;
    double team2proc = 0;
       
    
    
    for( vector<CGamePlayer *> :: iterator i = m_Players.begin( ); i != m_Players.end( ); ++i )
    {
    team = m_Slots[GetSIDFromPID((*i)->GetPID())].GetTeam();
    
      if((*i)->GetScore( ) > 0)
    {
    if( team == 0 )
    team1score += (*i)->GetScore( );
    else if( team == 1 )
    team2score += (*i)->GetScore( );
    } else {
    ///// тут стоит очки, которые бот посчитает игрокам, несыгравшим ни ОДНОЙ игры, можешь убрать это, или 1000 исправь на 0
    if( team == 0 )
    team1score += 1000;
    else if( team == 1 )
    team2score += 1000;
    }
    
    }
    
    allteamscore = team1score + team2score;
    team1proc = team1score/allteamscore*100;
    team2proc = 100 - team1proc;
    
     
     
     
    
    SendChat( (*i)->GetPID(), "sentinel - " + UTIL_ToString( team1score, 0 ) + " (" + UTIL_ToString( team1proc, 0 ) + "%) VS (" + UTIL_ToString( team2proc, 0 ) + "%) " + UTIL_ToString( team2score, 0 ) + " - scourge");
    SendChat( (*i)->GetPID(), "- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -");
    }
    
    } 

    Но при этом я закрыл вывод очков в game_base.cpp, найди
    Код:
     if( TeamHasPlayers )
     SendAllChat( m_GHost->m_Language->GetLang("lang_0197", "$TEAM$", UTIL_ToString( i + 1 ), "$SCORE$", UTIL_ToString( TeamScore, 0 ) ) ); // TeamCombinedScore
    
    и сделай вот так
    Код:
     //if( TeamHasPlayers )
     //SendAllChat( m_GHost->m_Language->GetLang("lang_0197", "$TEAM$", UTIL_ToString( i + 1 ), "$SCORE$", UTIL_ToString( TeamScore, 0 ) ) ); // TeamCombinedScore
    



    2-й вариант команды более простой))

    найди в game.cpp
    Код:
    //
    // !MUTEALL
    //
    
    и выше вставляй
    Код:
    //
    // !TEAMBALANCE (adm only)
    //
    
    else if( (Command == "teambalance" || Command == "tb" ) && !m_GameLoaded)
    {
    BalanceSlots();
    }
    
    fenlod нравится это.
  4. Crazy Ньюфаг

    Сообщения:
    2
    Спасибы:
    0
    Сборка бота GHost:
    Ghost One 1.7.266
    спс большое
  5. Inhuman Пил пиво с админом

    Сообщения:
    147
    Спасибы:
    6
    Сборка бота GHost:
    BrtGhost rev 1.81
    Дата начала использования бота:
    15.09.2010
    а как сделать чтобы автобаланс сразу был при хосте игры? т.е. не надо было бы вводить эту команду в лобби
  6. rost Гуру

    Сообщения:
    1.258
    Спасибы:
    150
    Сборка бота GHost:
    LtG
    Дата начала использования бота:
    01.11.2010
    Skype:
    Мой статус
    автоматом ее добавить нужно, у меня после пропинговки (точнее заместь нее, если он включен, а если нет, то тогда пропинговка)
  7. Inhuman Пил пиво с админом

    Сообщения:
    147
    Спасибы:
    6
    Сборка бота GHost:
    BrtGhost rev 1.81
    Дата начала использования бота:
    15.09.2010
    неправильно выразился, точнее чтобы выводило "при пройгрыше -стока птс при победе + стока птс" на каком то боте видел
  8. rost Гуру

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