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

Помогите реализовать

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

Статус темы:
Закрыта.
  1. rost Гуру

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

    Сообщения:
    118
    Спасибы:
    2
    Сборка бота GHost:
    Ghost One 1.7.266
    ну как бы комп уже свободен, а лонга не видно..
  3. rost Гуру

    Сообщения:
    1.258
    Спасибы:
    150
    Сборка бота GHost:
    LtG
    Дата начала использования бота:
    01.11.2010
    Skype:
    Мой статус
    Он такой)
  4. marpool Знакомый модера

    Сообщения:
    118
    Спасибы:
    2
    Сборка бота GHost:
    Ghost One 1.7.266
    Нашол тему customization/skolxko-igr-uje-id-t-t2997.html
    Только вместо
    Код:
    Игр на боте: ????????????????????????????
    Можна сделать
    Код:
    За сегодня сыграно игр на боте: ?
    (в лобби) это реально?
  5. marpool Знакомый модера

    Сообщения:
    118
    Спасибы:
    2
    Сборка бота GHost:
    Ghost One 1.7.266
    или так
    Код:
    За сегодня сыграно: 50 игр.
    Выдано: 10 банов, 5 варнов.
  6. marpool Знакомый модера

    Сообщения:
    118
    Спасибы:
    2
    Сборка бота GHost:
    Ghost One 1.7.266
    С пингом Лонг помог.
  7. marpool Знакомый модера

    Сообщения:
    118
    Спасибы:
    2
    Сборка бота GHost:
    Ghost One 1.7.266
    с рангами тоже все сделано.
    Осталось только это
    Код:
    За сегодня сыграно: 50 игр.
    Выдано: 10 банов, 5 варнов.
    хелпуйте...
  8. rost Гуру

    Сообщения:
    1.258
    Спасибы:
    150
    Сборка бота GHost:
    LtG
    Дата начала использования бота:
    01.11.2010
    Skype:
    Мой статус
    ох, тут запросы в базу нужны наверное, в боте вроде только size = кол-во на данный момент
    А так, там запрос ответ, хз, лонга проси, я тут явно буду долго смотреть, а бота опять трону еще оч не скоро, мб завтро или после...
  9. marpool Знакомый модера

    Сообщения:
    118
    Спасибы:
    2
    Сборка бота GHost:
    Ghost One 1.7.266
    Вобщем лонг все сделал.
    тут 1 вопрос.для всех
    есть команда !cbs (показ сколько банов)так вот авто баны не щитает как исправить?
    ПС: лонг в скайп поже зайту поговорим, ну ты понял про что)
  10. rost Гуру

    Сообщения:
    1.258
    Спасибы:
    150
    Сборка бота GHost:
    LtG
    Дата начала использования бота:
    01.11.2010
    Skype:
    Мой статус
    !cbs показует же кол-во банов общее... иль нет? Я ее неюзаю хз :parovozdjan:
  11. marpool Знакомый модера

    Сообщения:
    118
    Спасибы:
    2
    Сборка бота GHost:
    Ghost One 1.7.266
    Хорошо поменять слегка код что бы давал !ban или !bl, так как это авто он не щитает...
    И ище тут темка была придисконекте давало варн как сделать что бы давало бан?без варнов просто бан
  12. rost Гуру

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

    Сообщения:
    118
    Спасибы:
    2
    Сборка бота GHost:
    Ghost One 1.7.266
    Ну так сделать мож?
  14. rost Гуру

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

    Добавляешь в каждый евент дисконекта по строчке:
    Код:
    m_GHost->m_Callables.push_back( m_GHost->m_DB->ThreadedBanAdd( player->GetSpoofedRealm( ), player->GetName( ), "", m_GameName, "Autowarn", "Disconect", m_GHost->m_WarnTimeOfWarnedPlayer, 0));
    Ну например:
    Код:
    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, 0));
    	
    
    	if( !m_GameLoading && !m_GameLoaded )
    		OpenSlot( GetSIDFromPID( player->GetPID( ) ), false );
    }
    
  15. rost Гуру

    Сообщения:
    1.258
    Спасибы:
    150
    Сборка бота GHost:
    LtG
    Дата начала использования бота:
    01.11.2010
    Skype:
    Мой статус
    А вообще у тебя что своя система варнов неработает???? Должна, там можно попробовать выставить чтобы давало бан если будет 1 варн, и это ровняетсо БАН = ЛЮБОЙ ВЫХОД ИЗ ИГРЫ
    Ну у меня пашет, но брт, хз как на оне, а так юзай вариант вверху :limon:
  16. marpool Знакомый модера

    Сообщения:
    118
    Спасибы:
    2
    Сборка бота GHost:
    Ghost One 1.7.266
    этот код даст варн?а мне нужен бан!Без всяких варнов
  17. marpool Знакомый модера

    Сообщения:
    118
    Спасибы:
    2
    Сборка бота GHost:
    Ghost One 1.7.266
    Я хочу что б при ливе давало автобан через комынду !ban, так будет и !cbs щитать и срок будет тот что мне нада.
    Реализовать мож?
  18. rost Гуру

    Сообщения:
    1.258
    Спасибы:
    150
    Сборка бота GHost:
    LtG
    Дата начала использования бота:
    01.11.2010
    Skype:
    Мой статус
    Значит 1-е, фикс вверху ДАЕТ БАН - НЕ ВАРН :boss:
  19. marpool Знакомый модера

    Сообщения:
    118
    Спасибы:
    2
    Сборка бота GHost:
    Ghost One 1.7.266
    это при дисконе а при ливе?
  20. rost Гуру

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

    Про лив и бан, могу только фикс дать сроки придадут банам, но прям чтобы как !ban банило... я непойму что это такое, оно просто подает инфу в базу, все что там разное, так то что в автохосте при бане сломан срок...

    Вот фикс:
    ghostdbmysql.cpp
    Найди:
    Код:
    string Query = string();
    Вот мой код ниже этой строки, попробуй заменить все что есть у тебя этим, но на случай зделай копию, ну только замени то что похоже на это, да и срок бана тут 30 дней, число 30 меняй как тебе надо:
    Код:
    if (ips.size()!=0 && warn!=0)
    		EscIP = MySQLEscapeString( conn, ips[0] );
    	if (ips.size()==0 || warn!=0)	
    	{
    		//if (expiredaytime>0)
    		//Query = "INSERT INTO bans ( botid, server, name, ip, date, gamename, admin, reason, warn, gamecount, expiredate  ) VALUES ( " + UTIL_ToString( botid ) +", '" + EscServer + "', '" + EscUser + "', '" + EscIP + "', CURDATE( ), '" + EscGameName + "', '" + EscAdmin + "', '" + EscReason + "', '" + EscWarn + "', '" + EscGameCount + "','' )";
    		 Query = "INSERT INTO bans ( botid, server, name, ip, date, gamename, admin, reason, warn, gamecount, expiredate  ) VALUES ( " + UTIL_ToString( botid ) +", '" + EscServer + "', '" + EscUser + "', '" + EscIP + "', CURDATE( ), '" + EscGameName + "', '" + EscAdmin + "', '" + EscReason + "', '" + EscWarn + "', '" + EscGameCount + "', DATE_ADD(CURDATE(), INTERVAL 30 DAY))";
    
    		if( mysql_real_query( (MYSQL *)conn, Query.c_str( ), Query.size( ) ) != 0 )
    			*error = mysql_error( (MYSQL *)conn );
    		else
    			Success = true;
    	} else
    	{
    		for (uint32_t i=0;i<ips.size();i++)
    		{
    			EscIP = MySQLEscapeString( conn, ips[i] );
                            //Query = "INSERT INTO bans ( botid, server, name, ip, date, gamename, admin, reason, warn, gamecount ) VALUES ( " + UTIL_ToString( botid ) +", '" + EscServer + "', '" + EscUser + "', '" + EscIP + "', CURDATE( ), '" + EscGameName + "', '" + EscAdmin + "', '" + EscReason + "' )";
    			//Query = "INSERT INTO bans ( botid, server, name, ip, date, gamename, admin, reason, warn, gamecount, expiredate  ) VALUES ( " + UTIL_ToString( botid ) +", '" + EscServer + "', '" + EscUser + "', '" + EscIP + "', CURDATE( ), '" + EscGameName + "', '" + EscAdmin + "', '" + EscReason + "', '" + EscWarn + "', '" + EscGameCount + "','' )";
    			//if (expiredaytime>0)
    				Query = "INSERT INTO bans ( botid, server, name, ip, date, gamename, admin, reason, warn, gamecount, expiredate  ) VALUES ( " + UTIL_ToString( botid ) +", '" + EscServer + "', '" + EscUser + "', '" + EscIP + "', CURDATE( ), '" + EscGameName + "', '" + EscAdmin + "', '" + EscReason + "', '" + EscWarn + "', '" + EscGameCount + "', DATE_ADD(CURDATE(), INTERVAL 30 DAY))";
    			if( mysql_real_query( (MYSQL *)conn, Query.c_str( ), Query.size( ) ) != 0 )
    				*error = mysql_error( (MYSQL *)conn );
    			else
    				Success = true;			
    		}
    	}
    	return Success;
Статус темы:
Закрыта.