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

авто предупреждения (auto warn)

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

  1. MooDBlooD Ньюфаг

    Сообщения:
    56
    Спасибы:
    1
    Немного не разобрался с этой функцией.
    Как её правильно настроить, что-бы игроки получали предупреждение за выход из игры?
  2. MooDBlooD Ньюфаг

    Сообщения:
    56
    Спасибы:
    1
    Так, немного продолжу по теме...
    Код:
    ### how many warns are needed to auto-ban the player. Default: 3.
    bot_banthewarnedplayerquota = 5
    
    ### how many days will the auto-ban from warns last. Setting to 0 makes the ban permanent. Default: 14.
    bot_bantimeofwarnedplayer = 30 
    
    ### how many days will each warn last. Setting to 0 makes warns permanent. Default: 14.
    bot_warntimeofwarnedplayer = 3 
    
    ### how many games should the player play (without taking another warn) to make one of his warns inactive. Default: 7
    bot_gamenumtoforgetawarn = 15 
    
    ### if 0, autowarning is off. Default: 0.
    bot_autowarnearlyleavers = 1
    
    Вот код по Предупреждениям (aka Warns).
    Как мы видим в коде, то Варнов для бана требуется 5 штук.
    Бан по Варну ставится на 30 дней.
    Для снятия Варна требуется не получать Варны 3 дня, или же отыграть 15 игр, не получив Варн.
    Как сделать так, что-бы все ливеры вышедшие во время игры получали Предупреждения (исключением нужно сделать последнии 3 минуты игры)
  3. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    ~108 game.cpp

    Код:
    	for( vector<CDBGamePlayer *> :: iterator i = m_DBGamePlayers.begin( ); i != m_DBGamePlayers.end( ); i++ ) {
    		if (IsAutoBanned((*i)->GetName())) 
    		{ 
    			timehasleft = (*i)->GetLeavingTime();
    			if (endtime>timehasleft+m_GHost->m_AutoBanGameEndMins*60) 
    			{ 
    				string Reason = CustomReason( timehasleft, string(), (*i)->GetName() );
    				Reason = "Autobanned"+Reason;
    				CONSOLE_Print( "[AUTOBAN: " + m_GameName + "] Autobanning " + (*i)->GetName( ) + " (" + Reason +")" );
    **				if(m_GHost->m_ReplaceBanWithWarn)
    **					WarnPlayer((*i)->GetName(),Reason,"AUTOBAN");
    **				else
    				m_GHost->m_Callables.push_back( m_GHost->m_DB->ThreadedBanAdd( (*i)->GetSpoofedRealm(), (*i)->GetName( ), (*i)->GetIP(), m_GameName, "AUTOBAN", Reason, 0, 0 ));
    
    			}
    		}
    попробуй...
    ** звездочками выделено добавленные строки
  4. MooDBlooD Ньюфаг

    Сообщения:
    56
    Спасибы:
    1
    А это точно для того чтобы авто-варн работал, или же это для авто-банов по количеству варнов?
  5. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    это ,в теории , заменяет бан при ливе на варн (если bot_replacebanwithwarn = 1)
  6. MooDBlooD Ньюфаг

    Сообщения:
    56
    Спасибы:
    1
    Если я правильно понял, то строчка bot_replacebanwithwarn = 1 должна быть в GHost.cfg?
  7. MooDBlooD Ньюфаг

    Сообщения:
    56
    Спасибы:
    1
    Заметил в файле tempbans.txt Следующую информацию:
    Код:
     - map_marks = A B C D E F .... X Y Z // Can be any amount of numbers. If a player leaves before "A" minutes, he'll be auto-warned if game lasted at least "C" minutes. If he leaves before "B" minutes (but after "A" minutes), he'll be auto-warned if game lasted at least "D" minutes. A good example is: map_marks = 5 10 15 20 28 35
     - map_onlyautowarnifmorethanxplayers = X // When the game only has X players left, no-one remaining in the game will get autowarned anymore. Defaults to 0.
    Не слишком я сильно силен в английском, а переводчики выдают полнейшую абракадабру, что я вообще путаюсь в информации.
    1)Я предполагаю, что map_marks это команда, которая отвечает за маркерную часть. Тоесть если я вместо указанной "А" пропишу 5, а вместо "С" 10, то игрок(и) покинувший(е) игру до 5 минуты получат WARN, но только если игра закончится не раньше 10 минуты от начала. Те же функции выполняют и "В", "D" и прочии?
    Если я всё правильно понял, то как мне вычислить порядок минут, ведь по примеру ливер до минуты A получит warn после минуты C, а ливер до минуты B получит варн после минуты D, если A B C D мы нормально вычисляем, то как вычислять E F G H I J K L M и другие?
    2)Вот с map_onlyautowarnifmorethanxplayers чуть посложнее. Я полагаю, что если в этой функции мы указываем скажем число 7, то функция будет действовать следующим образом: Получать предупреждения будут только первые 7 ливеров, остальные же не получат автопредупреждения.
    Помогите пожалуйста с этим моментом!


    P.S.
    Данные действия не привели к успеху.
  8. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    ты компилил бота? и стоит ли у тя авто бан ?
    зы: надпись будет про бан а не про варн
  9. MooDBlooD Ньюфаг

    Сообщения:
    56
    Спасибы:
    1
    Бота компилил...
    Ну а Варн и Бан - это же разные вещи...
    Или всё будет так как надо, но просто игрок сначала получит Варны а потом только будет авто-бан по количеству варнов?
  10. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    будет варн если bot_replacebanwithwarn = 1 ,но сообщение будет как при бане
  11. MooDBlooD Ньюфаг

    Сообщения:
    56
    Спасибы:
    1
    Ну а само сообщение заменить то можно, или если заменить сообщение, то при Бане будет выводится то сообщение на которое будет заменено?

    P.S. Так bot_replacebanwithwarn = 1 должно быть прописано в GHost.cfg?
  12. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    можно просто оно находиться в другой части кода и я нехотел много инфы писать
    зы: хотел как лучше а получилось как всегда =(
    зыы: если есть ася стукни мне
  13. MooDBlooD Ньюфаг

    Сообщения:
    56
    Спасибы:
    1
    В общем... Есть карта с двумя командами 9v2.
    Нужно сделать так, чтобы Варны получали все игроки, которые покидают карту.
    А так же, чтобы после 5-и Варнов игрок банился на 30 дней!

    Как я понял - Варн это предупреждение, с которым игрок МОЖЕТ зайти в игру.

    Что же было сделано мною.
    в файл GHost.cfg добавлено следующее:
    Код:
    ### how many warns are needed to auto-ban the player. Default: 3.
    bot_banthewarnedplayerquota = 5
    
    ### how many days will the auto-ban from warns last. Setting to 0 makes the ban permanent. Default: 14.
    bot_bantimeofwarnedplayer = 30
    
    ### how many days will each warn last. Setting to 0 makes warns permanent. Default: 14.
    bot_warntimeofwarnedplayer = 3
    
    ### how many games should the player play (without taking another warn) to make one of his warns inactive. Default: 7
    bot_gamenumtoforgetawarn = 15
    
    ### if 0, autowarning is off. Default: 0.
    bot_autowarnearlyleavers = 1
    
    bot_replacebanwithwarn = 1
    В файл Game.cpp добавлено следующее (+ проведена компиляция бота):
    Код:
                if(m_GHost->m_ReplaceBanWithWarn)
                   WarnPlayer((*i)->GetName(),Reason,"AUTOBAN");
                else
    В конфиг карты добавлено следующее:
    Код:
    # A B C D E F .... X Y Z // Can be any amount of numbers. If a player leaves before "A" minutes, he'll be auto-warned if game lasted at least "C" minutes. If he leaves before "B" minutes (but after "A" minutes), he'll be auto-warned if game lasted at least "D" minutes. A good example is: map_marks = 5 10 15 20 28 35
    
    map_marks = 25 60 30 65
    
    # X // When the game only has X players left, no-one remaining in the game will get autowarned anymore. Defaults to 0.
    
    map_onlyautowarnifmorethanxplayers = 7
    
  14. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    ещё
    Код:
    bot_autobantimer = 3
    bot_autobanall = 1
    bot_autoban = 1
  15. MooDBlooD Ньюфаг

    Сообщения:
    56
    Спасибы:
    1
    Сори, а bot_autobantimer = 3 эта функция за что отвечает?
    Мне казалось что это получается что-бы банить всех до 3 минуты игры...(Это если указываем значение 3)
  16. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    "останавливает автобан" если до конца игры осталось 3 минуты, так как ты добавил ети строки
    То будет не банить а "варнить"
  17. MooDBlooD Ньюфаг

    Сообщения:
    56
    Спасибы:
    1
    Всё... Понял. Уже тестирую... Как проверю, отпишусь! =)
  18. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    во избежание флуда вот мои контакты:
    скуп: fake_tyt_6iJI
    ася:614972966
  19. MooDBlooD Ньюфаг

    Сообщения:
    56
    Спасибы:
    1
    С варнами разобрался... Теперь интересно, а будет ли авто-бан на 30 дней при 5-ти варнах?
  20. MooDBlooD Ньюфаг

    Сообщения:
    56
    Спасибы:
    1
    Проблемка появилась. Суть в том, что всего 25 Варнов добавилось, а потом фик... Не добавляются больше.