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

GhostOne Варн за дисконект

Тема в разделе 'Запуск и Поддержка', создана пользователем Guard, 5 сен 2011.

  1. Guard Старожила

    Сообщения:
    473
    Спасибы:
    47
    Сборка бота GHost:
    Ghost++ RAKAL Edition
    Дата начала использования бота:
    00.00.2009
    Skype:
    Мой статус
    Ну в общем-то по сабжу... Как реализовать?..
  2. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
    Добавляешь в каждый евент дисконекта по строчке:
    Код:
    m_GHost->m_Callables.push_back( m_GHost->m_DB->ThreadedBanAdd( player->GetSpoofedRealm( ), player->GetName( ), "", m_GameName, "Autowarn", "Disconect", m_GHost->m_WarnTimeOfWarnedPlayer, 1));
    Ну например:
    Код:
    void CBaseGame :: EventPlayerDisconnectPlayerError( CGamePlayer *player )
    {
    
    	player->SetDeleteMe( true );
    	player->SetLeftReason( m_GHost->m_Language->HasLostConnectionPlayerError( player->GetErrorString( ) ) );
    	player->SetLeftCode( PLAYERLEAVE_DISCONNECT );
    	m_GHost->m_Callables.push_back( m_GHost->m_DB->ThreadedBanAdd( player->GetSpoofedRealm( ), player->GetName( ), "", m_GameName, "Autowarn", "Disconect", m_GHost->m_WarnTimeOfWarnedPlayer, 1));
    	
    
    	if( !m_GameLoading && !m_GameLoaded )
    		OpenSlot( GetSIDFromPID( player->GetPID( ) ), false );
    }
    
  3. Guard Старожила

    Сообщения:
    473
    Спасибы:
    47
    Сборка бота GHost:
    Ghost++ RAKAL Edition
    Дата начала использования бота:
    00.00.2009
    Skype:
    Мой статус
    Как оперативно!
    Спс, пойду тестить :D



    Вот бы еще узнать как сделать, что бы показывало кол-во коментарий к играм в истории игр. :bIbIbIblya:
  4. 2man Ньюфаг

    Сообщения:
    10
    Спасибы:
    0
    Добавил еще отправку мессаги и значение бана из конфига:
    Код:
    //
    		uint32_t BanTime = m_GHost->m_BanLastTime;
    		m_GHost->m_Callables.push_back( m_GHost->m_DB->ThreadedBanAdd( player->GetSpoofedRealm( ), player->GetName( ), "", m_GameName, "AUTOBAN", "DISCONNECT", BanTime, 0 ));
    
    		CONSOLE_Print( "[GAME: " + m_GameName + "] player [" + player->GetName( ) + "] was banned for disconnect" );
    
    		if (m_GHost->m_NotifyBannedPlayers)
    		{
    			
    			for( vector<CBNET *> :: iterator i = m_GHost->m_BNETs.begin( ); i != m_GHost->m_BNETs.end( ); i++ )
    			{
    				if( (*i)->GetServer( ) == GetCreatorServer( ) )
    					(*i)->QueueChatCommand( "You have been banned", player->GetName(), true );
    			}
    		}
    		//
    Вопрос: вытянуть еще ip как-нибудь можно?