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

OpenSource !votestart + !go

Тема в разделе 'Кодинг/Собственные решения', создана пользователем ]PaLaCh[, 10 май 2013.

  1. AlexGhost Давний приятель

    Сообщения:
    17
    Спасибы:
    1
    Если не сложно Палач скажи пожалуйста что именно изменить! Это не мне одному понадобится в дальшейшем... Реально это "2к голосов требуется тыры пыры.." не очень приятны. Обьясни за спасибку! Хотя ты должен это был в первом посте хоть как то оговорить.. Но увы..
  2. ]PaLaCh[ Гуру

    Сообщения:
    139
    Спасибы:
    35
    Сборка бота GHost:
    GHost One PaLACh
    Дата начала использования бота:
    10.11.2012
    :fp:
    найди
    Код:
        m_VoteKickAllowed = CFG->GetInt( "bot_votekickallowed", 1 ) == 0 ? false : true;
        m_VoteKickPercentage = CFG->GetInt( "bot_votekickpercentage", 100 );
     
        if( m_VoteKickPercentage > 100 )
        {
            m_VoteKickPercentage = 100;
            CONSOLE_Print( "[GHOST] warning - bot_votekickpercentage is greater than 100, using 100 instead" );
        }
    перед ним вставляешь
    Код:
        m_VoteStartAllowed = CFG->GetInt( "bot_votestartallowed", 1 ) == 0 ? false : true;
        m_VoteStartAutohostOnly = CFG->GetInt( "bot_votestartautohostonly", 1 ) == 0 ? false : true;
        m_VoteStartMinPlayers = CFG->GetInt( "bot_votestartminplayers", 8 );
        m_VoteStartPercentalVoting = CFG->GetInt( "bot_votestartpercentalvoting", 1) == 0 ? false : true;
        m_VoteStartPercent = CFG->GetInt( "bot_votestartpercent", 60);
     
            if( m_VoteStartPercent > 100 )
        {
            m_VoteStartPercent = 100;
            CONSOLE_Print( "[GHOST] warning - bot_votestartpercent is greater than 100, using 100 instead" );
        }
        
    найди
    Код:
    m_VoteKickAllowed = CFG->GetInt( "bot_votekickallowed", 1 ) == 0 ? false : true;
        m_VoteKickPercentage = CFG->GetInt( "bot_votekickpercentage", 100 );
    перед ним вставляешь
    Код:
        m_VoteStartAllowed = CFG->GetInt( "bot_votestartallowed", 1 ) == 0 ? false : true;
        m_VoteStartAutohostOnly = CFG->GetInt( "bot_votestartautohostonly", 1 ) == 0 ? false : true;
        m_VoteStartMinPlayers = CFG->GetInt( "bot_votestartminplayers", 8 );
        m_VoteStartPercentalVoting = CFG->GetInt( "bot_votestartpercentalvoting", 1) == 0 ? false : true;
        m_VoteStartPercent = CFG->GetInt( "bot_votestartpercent", 60);
    найди
    Код:
        if( m_VoteKickPercentage > 100 )
        {
            m_VoteKickPercentage = 100;
            CONSOLE_Print( "[GHOST] warning - bot_votekickpercentage is greater than 100, using 100 instead" );
        }
    
    перед ним вставляешь
    Код:
        if( m_VoteStartPercent > 100 )
        {
            m_VoteStartPercent = 100;
            CONSOLE_Print( "[GHOST] warning - bot_votestartpercent is greater than 100, using 100 instead" );
        }
    Begzod и AlexGhost нравится это.
  3. AlexGhost Давний приятель

    Сообщения:
    17
    Спасибы:
    1
    Ну да я же такой тупой этого не сделал..
  4. ]PaLaCh[ Гуру

    Сообщения:
    139
    Спасибы:
    35
    Сборка бота GHost:
    GHost One PaLACh
    Дата начала использования бота:
    10.11.2012
    Вставить код думаю знаешь где
  5. AlexGhost Давний приятель

    Сообщения:
    17
    Спасибы:
    1
    Спасибо, все работает.
  6. silenser Давний приятель

    Сообщения:
    240
    Спасибы:
    3
    Сборка бота GHost:
    Ghost one be sisiee
    Дата начала использования бота:
    01.01.2012
    Народ скажите а как сделать чтобы вотестарт работал есле игроки например все в 1 тиме просто на кеторых картах тима 1 только...
  7. ]PaLaCh[ Гуру

    Сообщения:
    139
    Спасибы:
    35
    Сборка бота GHost:
    GHost One PaLACh
    Дата начала использования бота:
    10.11.2012
    он и работа там где даже 1 тима
  8. silenser Давний приятель

    Сообщения:
    240
    Спасибы:
    3
    Сборка бота GHost:
    Ghost one be sisiee
    Дата начала использования бота:
    01.01.2012
    класс. тогда запилю в бота когда починю
  9. silenser Давний приятель

    Сообщения:
    240
    Спасибы:
    3
    Сборка бота GHost:
    Ghost one be sisiee
    Дата начала использования бота:
    01.01.2012
    подскажите пожалуйста как сделать чтобы 1 нельзя было стартовать. есле 1 игрок в лоббе игры сидит. И выводилось сообщение не играй сам с собой .заранее спасибо да и можно перевести я думаю будет полездно многим а то у меня с англом проблемы .
    Заранее спасибо тем кто помог!
    Код:
    ## Added with patch votestart ##
    # Set bot_votestartpercentalvoting to 1 for set the number of player who have to vote in percent
    # or set bot_votestartpercentalvoting to 0 for set an absolute value
    bot_votestartpercentalvoting = 1
     
    # set bot_votestartallowed to 1 to allow votestart otherwise to 0
    bot_votestartallowed = 1
     
    # if you like to have votestart only in autohosted games set bot_votestartautohostonly to 0
    # if you like to have votestart in all games set it to 1
    bot_votestartautohostonly = 1
     
    # This value will be ignored if bot_votestartpercentalvoting is set to 0
    # else it set the percent of users joined the game who has to vote for starting the game
    # set it to a value between 0 and 100
    # example for needed votes joinedplayer/needed_votes
    # for 60%:
    # 1/1 2/2 2/3 3/4
    bot_votestartpercent = 90
     
    # if bot_votestartpercentalvoting is set to 1, bot_votestartminplayers will set the minimal
    # players who has to have joined the game, to make it possible to startvote.
    # othervise it will set the number of needed votes for starting the game!
    bot_votestartminplayers = 2
  10. Doterok Старожила

    Сообщения:
    923
    Спасибы:
    171
    Сборка бота GHost:
    Ghost ++ 17.2
    Дата начала использования бота:
    2011
    добавь в команду
  11. silenser Давний приятель

    Сообщения:
    240
    Спасибы:
    3
    Сборка бота GHost:
    Ghost one be sisiee
    Дата начала использования бота:
    01.01.2012
    я добавил в команду пишет когда 2 игрока
    в лобби 1 рак старт не возможен
    лобби в игре 3 перед добавдением кода стартовало...
  12. silenser Давний приятель

    Сообщения:
    240
    Спасибы:
    3
    Сборка бота GHost:
    Ghost one be sisiee
    Дата начала использования бота:
    01.01.2012
    да даже когда все тимы заняты были по 1 игроку старт был невозможен.
  13. Doterok Старожила

    Сообщения:
    923
    Спасибы:
    171
    Сборка бота GHost:
    Ghost ++ 17.2
    Дата начала использования бота:
    2011
    знак смени
    :D
    > на <
  14. silenser Давний приятель

    Сообщения:
    240
    Спасибы:
    3
    Сборка бота GHost:
    Ghost one be sisiee
    Дата начала использования бота:
    01.01.2012
    if( m_Players.size( ) < 1 )
    {
    SendChat( player->GetPID(), "в лобби 1 рак старт не возможен");
    return HideCommand;
    }
    не работает... стартует всегда..
  15. MuP .

    Сообщения:
    653
    Спасибы:
    202
    Сборка бота GHost:
    Ghost++ rev 579
    Дата начала использования бота:
    00.00.0000
    если 1 игрок то ставить надо <=
    иначе данное условие выполняется только при 0 человек, т.е. никогда
  16. ]PaLaCh[ Гуру

    Сообщения:
    139
    Спасибы:
    35
    Сборка бота GHost:
    GHost One PaLACh
    Дата начала использования бота:
    10.11.2012
    :fp:

    ты знаешь есть такая программа как переводчик
    ладно вот русская команда и тут я добавил что когда люди голосуют за старт игры оно пишет что проголосовало 7\10
    Код:
        //
        // !VOTESTART
        //
       
        else if( Command == "votestart" || Command == "go"|| Command == "го")
        {
            bool votestartAuth = player->GetSpoofed( ) && ( AdminCheck || RootAdminCheck || IsOwner( User ) );
            bool votestartAutohost = m_GameState == GAME_PUBLIC && !m_GHost->m_AutoHostGameName.empty( ) && m_GHost->m_AutoHostMaximumGames != 0 && m_GHost->m_AutoHostAutoStartPlayers != 0 && m_AutoStartPlayers != 0;
     
            if( m_GHost->m_VoteStartAllowed && !m_CountDownStarted && (votestartAuth || votestartAutohost || !m_GHost->m_VoteStartAutohostOnly) )
            {
                if( m_GHost->m_CurrentGame->GetLocked( ) )
                {
                    SendChat( player, " Ошибка: на старт игры потому что игра заблокирована. Владелец " + m_OwnerName );
                    return HideCommand;
                }
     
     
                if(m_StartedVoteStartTime == 0)
                { //need >minplayers or admin to START a votestart
                    if (GetNumHumanPlayers() < m_GHost->m_VoteStartMinPlayers && !votestartAuth)
                    { //need at least eight players to votestart
                        SendChat( player, " Вы не можете использовать команду нужно, • " + UTIL_ToString(m_GHost->m_VoteStartMinPlayers) + " • или более игроков!" );
                        return HideCommand;
                    }
     
                    for( vector<CGamePlayer *> :: iterator i = m_Players.begin( ); i != m_Players.end( ); ++i )
                        (*i)->SetStartVote( false );
     
                    m_StartedVoteStartTime = GetTime();
               
                    CONSOLE_Print( "[Игра: " + m_GameName + "] голосования создано игроком [" + User + "]" );
                }
     
                player->SetStartVote(true);
                   
                uint32_t VotesNeeded;
                uint32_t Votes = 0;
     
     
                for( vector<CGamePlayer *> :: iterator i = m_Players.begin( ); i != m_Players.end( ); ++i )
                {
                    if( (*i)->GetStartVote( ) )
                        ++Votes;
                }
     
     
                if( m_GHost->m_VoteStartPercentalVoting)
                {
                    VotesNeeded = ((uint32_t) (GetNumHumanPlayers() *  (m_GHost->m_VoteStartPercent - 1) / 100)) + 1;
                }
                else
                {
                    VotesNeeded = m_GHost->m_VoteStartMinPlayers;
                }
           
                if( Votes < VotesNeeded )
                {
                    SendAllChat("[ " + User + " ] " + " Проголосовал " + UTIL_ToString( Votes )+"/"+ UTIL_ToString(VotesNeeded)+ " необходимо для начала, регистрировать голос " + string( 1, m_GHost->m_CommandTrigger )+"го или " + string( 1, m_GHost->m_CommandTrigger )+ "go.");
                }
                else
                {
                    StartCountDown( true );
                }
     
            }
        }
    
    по поводу числа игроков
    Код:
    bot_votestartminplayers = 2
    ставляешь 1 2 скоко нужно ето в кофиге
  17. silenser Давний приятель

    Сообщения:
    240
    Спасибы:
    3
    Сборка бота GHost:
    Ghost one be sisiee
    Дата начала использования бота:
    01.01.2012
    а старое что удалять?!
  18. ]PaLaCh[ Гуру

    Сообщения:
    139
    Спасибы:
    35
    Сборка бота GHost:
    GHost One PaLACh
    Дата начала использования бота:
    10.11.2012
    замени ето на старую
  19. silenser Давний приятель

    Сообщения:
    240
    Спасибы:
    3
    Сборка бота GHost:
    Ghost one be sisiee
    Дата начала использования бота:
    01.01.2012
    ПОЛучается полный брет во 1 не работает во 2 когда 1 раз стартует стартует до песконечности тоесть
    Код:
                  ╬: 5. . .
                  ╬: 4. . .
                  ╬: 3. . .
                  ╬: 2. . .
            silenser: !A
                  ╬: Старт отменён!
                DSBM:  Привет!Есле вы хотите получить админку от бота напишите ключи от warcraft 3 roc and tft.Также можно от diablo 2 and war2.
                  ╬: 5. . .
                  ╬: 4. . .
            silenser: !A
                  ╬: Старт отменён!
                  ╬: 5. . .
                  ╬: 4. . .
            silenser: !
                  ╬: 3. . .
                  ╬: 2. . .
            silenser: !A
                  ╬: Старт отменён!
                  ╬: 5. . .
            silenser: !A
                  ╬: Старт отменён!
                  ╬: 5. . .
                  ╬: 4. . .
                  ╬: 3. . .
                  ╬: 2. . .
                DSBM: Пока!
  20. silenser Давний приятель

    Сообщения:
    240
    Спасибы:
    3
    Сборка бота GHost:
    Ghost one be sisiee
    Дата начала использования бота:
    01.01.2012
    переводчик настолько плохо переводит что лучше им и непереводить я не чего не понял из его перевода