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

Help Старт после 3 разового пинга

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

  1. Amaranthe Ньюфаг

    Сообщения:
    22
    Спасибы:
    0
    Дата начала использования бота:
    14.12.1987
    Что необходимо убрать в исходниках чтобы бот не пинговал при фулл хосте а сразу запускал игру? с меня спасибка
  2. s1f0N Наш человек

    Сообщения:
    113
    Спасибы:
    22
    Сборка бота GHost:
    Brt
    Дата начала использования бота:
    16.05.2010
    Код:
        // try to auto start every 10 seconds
     
        if(GetTime() - m_SlotsOccupiedTime > 10 && !m_CountDownStarted && m_AutoStartPlayers != 0)
        {
            StartCountDownAuto( m_GHost->m_RequireSpoofChecks );
            m_LastAutoStartTime = GetTime( );
        }
    вот тут повороти, файл game_base.cpp (я посто хз, у меня походу же вырезана проверка офк я незнаю) посмотри и сверь
    ZeratuL1986 нравится это.
  3. MuP .

    Сообщения:
    653
    Спасибы:
    202
    Сборка бота GHost:
    Ghost++ rev 579
    Дата начала использования бота:
    00.00.0000
    -_- Как мало инфы, тут либо имеется в виду автохост либо просто ручной хост.
    Если автохост - править бота, но кажется идиотизм слегка, там 15 секунд надо на 3-х разовый пинг.
    Если ручной хост - !start force(прочитать ReadMe кажется невозможно?)
  4. Amaranthe Ньюфаг

    Сообщения:
    22
    Спасибы:
    0
    Дата начала использования бота:
    14.12.1987
    имеется ввиду автохост, ну вот даже эти 15 секунд не нужны
  5. Amaranthe Ньюфаг

    Сообщения:
    22
    Спасибы:
    0
    Дата начала использования бота:
    14.12.1987
    это не то, как то помню уже была подобная тема, вот кстати и она http://forums.w3gh.ru/post13317.html но почему то бесследно исчезла
  6. MuP .

    Сообщения:
    653
    Спасибы:
    202
    Сборка бота GHost:
    Ghost++ rev 579
    Дата начала использования бота:
    00.00.0000
    Код:
                // check if everyone has been pinged enough (3 times) that the autokicker would have kicked them by now
                // see function EventPlayerPongToHost for the autokicker code
    
                string NotPinged;
    
                            for( vector<CGamePlayer *> :: iterator i = m_Players.begin( ); i != m_Players.end( ); ++i )
                {
                    if( !(*i)->GetReserved( ) && (*i)->GetNumPings( ) < 3 )
                    {
                        if( NotPinged.empty( ) )
                            NotPinged = (*i)->GetName( );
                        else
                            NotPinged += ", " + (*i)->GetName( );
                    }
                }
    
                if( !NotPinged.empty( ) )
                    SendAllChat( m_GHost->m_Language->PlayersNotYetPinged( NotPinged ) );
    вырезать
  7. Mr_LiSa Старожила

    Сообщения:
    421
    Спасибы:
    3
    Сборка бота GHost:
    Ghost One 1.7.266
    Skype:
    Мой статус
    Мир а какой будет результат ?
    ласт игрок заходит и сразу старт ?
  8. MuP .

    Сообщения:
    653
    Спасибы:
    202
    Сборка бота GHost:
    Ghost++ rev 579
    Дата начала использования бота:
    00.00.0000
    Убирается только проверка пинга, если спуфчек полностью отключен, то по идее сразу отсчет поедет.
    Можно вообще сделать без отсчета, как только последний заходит - начинается загрузка
    Для ручного хоста меняем функцию StartCountDown, для автохоста StartCountDownAuto
  9. Amaranthe Ньюфаг

    Сообщения:
    22
    Спасибы:
    0
    Дата начала использования бота:
    14.12.1987
    нихера что то не прокатило
  10. Guard Старожила

    Сообщения:
    473
    Спасибы:
    47
    Сборка бота GHost:
    Ghost++ RAKAL Edition
    Дата начала использования бота:
    00.00.2009
    Skype:
    Мой статус
    Извиняюсь за бестактный вопрос. А Вы компилировали?
  11. Amaranthe Ньюфаг

    Сообщения:
    22
    Спасибы:
    0
    Дата начала использования бота:
    14.12.1987
    разумеется...
  12. MuP .

    Сообщения:
    653
    Спасибы:
    202
    Сборка бота GHost:
    Ghost++ rev 579
    Дата начала использования бота:
    00.00.0000
    Менял StartCountDownAuto?
  13. Amaranthe Ньюфаг

    Сообщения:
    22
    Спасибы:
    0
    Дата начала использования бота:
    14.12.1987
    ты же написал что это для ручного хоста...
  14. MuP .

    Сообщения:
    653
    Спасибы:
    202
    Сборка бота GHost:
    Ghost++ rev 579
    Дата начала использования бота:
    00.00.0000
    Что я там говоришь писал?
  15. MuP .

    Сообщения:
    653
    Спасибы:
    202
    Сборка бота GHost:
    Ghost++ rev 579
    Дата начала использования бота:
    00.00.0000
    Детально углубился в этот вопрос. Для автохоста в game_base.cpp меняем void CBaseGame :: StartCountDownAuto( bool requireSpoofChecks )
    Выпиливаем секцию про проверку пинга, как показано выше. А также по желанию мотаем в конец данного метода, ищем
    Код:
            if( StillDownloading.empty( ) && NotSpoofChecked.empty( ) && NotPinged.empty( ) )
            {
                m_CountDownStarted = true;
                m_CountDownCounter = 10;
            }
    Меняем на
    Код:
            if( !m_GameLoading && !m_GameLoaded && StillDownloading.empty( ) && NotSpoofChecked.empty( ) )
                EventGameStarted( );
    Тогда при отключенном спуфчеке игра почти сразу будет начинаться без отчета(т.е. сразу загрузка карты), что обидит некий процент игроков, которые любят выходить во время отсчета.*
    *не тестировалось в реальных условиях