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

!loaderkick (кик качеров)

Тема в разделе 'Кодинг/Собственные решения', создана пользователем Suro, 30 дек 2010.

Статус темы:
Закрыта.
  1. Suro Ньюфаг

    Сообщения:
    15
    Спасибы:
    0
    Сегодня утром вышло обновление доты до 6,70с и, как всегда, создав игру налетело много качеров. Ждать пока они скачают и не факт, что останутся в игре, не хотелось, а кикать !open и искать на каком слоте качер было лень. Поэтому было принято решение придумать команду которая будет это делать за меня...

    ВЕРСИЯ GHOST - GHOST++ 17.1

    В game_base.cpp в самом низу добавляем

    Код:
    void CBaseGame :: DeleteDownloadingMapPlayer( )
    {
    			// check if everyone has the map and kick who not have it.
    
    			string StillDownloading;
    
    			for( vector<CGameSlot> :: iterator i = m_Slots.begin( ); i != m_Slots.end( ); i++ )
    			{
    				if( (*i).GetSlotStatus( ) == SLOTSTATUS_OCCUPIED && (*i).GetComputer( ) == 0 && (*i).GetDownloadStatus( ) != 100 )
    				{
    					CGamePlayer *Player = GetPlayerFromPID( (*i).GetPID( ) );
    
    					if( Player )
    					{
    						Player->SetDeleteMe( true );
    						Player->SetLeftCode( PLAYERLEAVE_LOBBY );
    						OpenSlot( GetSIDFromPID( Player->GetPID( ) ), false );
    					}
    				}
    			}
    }
    В game_base.h после virtual void DeleteFakePlayer( ); добавляем:
    Код:
    virtual void DeleteDownloadingMapPlayer( );
    В game.cpp после

    Код:
    			//
    			// !FAKEPLAYER
    			//
    
    			if( Command == "fakeplayer" && !m_CountDownStarted )
    			{
    				if( m_FakePlayerPID == 255 )
    					CreateFakePlayer( );
    				else
    					DeleteFakePlayer( );
    			}
    добавляем:

    Код:
    			//
    			// !LOADERKICK
    			//
    
    			if( ( Command == "loaderkick" || Command == "lk" ) && !m_CountDownStarted )
    			{
    				DeleteDownloadingMapPlayer( );
    			}
    Теперь набрав команду !LK качеры отваливаются.

    P.S. Код написан любителем, на профессионализм в с++ не претендую, возможны баги - используйте на свой страх и риск!
    P.S.S. Возможно есть уже готовое решение этой проблемы где-то в недрах ghost`a - я хз, не знаю, а искать мне было лень.
    P.S.S.S. Критика и недовольство воспринимается крайне негативно. Тема под ахраной белых котиков. Знаете как сделать круче - изложите как.
    P.S.S.S.S. всем спасибо, всем удачной игры.
  2. Deals Старожила

    Сообщения:
    784
    Спасибы:
    21
    Сборка бота GHost:
    Ghost One 1.7.266
    Skype:
    Мой статус
    Вау. Ты изобрел велосипед. Ты второй автор его.
    А вот и первый велосипед.
    Код:
    # whether to allow map downloads or not
    #  set to 0 to disable map downloads
    #  set to 1 to enable map downloads
    #  set to 2 to enable conditional map downloads (an admin must start each map download with the !download or !dl command)
    
    bot_allowdownloads = 0
  3. festival Старожила

    Сообщения:
    368
    Спасибы:
    0
    команда прикольная, просто зачем? Качеры все равно зайдут, будешь сидеть !lk !lk !lk не проще ли не пускать их?
  4. Suro Ньюфаг

    Сообщения:
    15
    Спасибы:
    0
    Deals, в твоем "велосипеде" нету кика, там просто указывается дать возможность или не дать возможность качать карту... если не давать, качер будет висеть мертвым грузом. Так что этот "велосипед" уступает в скорости моему.

    festival, проще. Нужно будет подумать как сделать.
  5. Deals Старожила

    Сообщения:
    784
    Спасибы:
    21
    Сборка бота GHost:
    Ghost One 1.7.266
    Skype:
    Мой статус
    :facepalm: :facepalm: :facepalm:
    Код:
    deleting player [P_r_O-F_r_E_e]: doesn't have the map and map downloads are disabled
    И все-же ты изобрел велосипед...
    :facepalm: :facepalm: :facepalm:
    :lol:
  6. Suro Ньюфаг

    Сообщения:
    15
    Спасибы:
    0
    А нет, точно, есть )))) :lol:

    ну вообще в свое оправдание я процитирую великую цитату великого человека:

  7. festival Старожила

    Сообщения:
    368
    Спасибы:
    0
    Уже сделано, вон Deals тыкнул.
    Особенности: Как я понял, если ставишь значение 2, то качеры все равно заходят и не качают карту, тупа 0 светится возле ника, если прописать !downloads то как бы включается 0 и будет кикать всех у кого карты нету.
    Если тебя так напрягают качеры то сразу можешь 0 в конфиг поставить.
  8. Deals Старожила

    Сообщения:
    784
    Спасибы:
    21
    Сборка бота GHost:
    Ghost One 1.7.266
    Skype:
    Мой статус
    Ну да. Проще написать более глупый код чем найти уже написанный.
    !kl !kl !kl
    А если нету никого и бот на автохосте?
    P.S.: Т.е. !lk ... я уже попутал...
  9. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
    Пиздец, самая тупая тема в жизни.
Статус темы:
Закрыта.