RU/banPlayer

From Multi Theft Auto: Wiki

Эта функция дает бан игроку по IP, серийному коду или имени.

Синтаксис

ban banPlayer ( player bannedPlayer, [ bool IP = true, bool Username = false, bool Serial = false, 
player responsiblePlayer = nil, string reason = nil, int seconds = 0 ] )

Синтаксис ООП Помогите! Я не понимаю, что это!

Метод: player:ban(...)

Обязательные аргументы

  • bannedPlayer: Игрок, который должен быть забанен сервером.

Необязательные аргументы

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

  • IP: Забанить игрока по IP?
  • Username: Забанить игрока по имени?
  • Serial: Забанить игрока по серийному коду?
Примечание: Чтобы забанить игрока по имени или серийному коду, verifyserials должна быть включена в серверном файле конфигурации.
  • responsibleElement: Элемент, который отвечает за бан игрока. Это может быть игрок или корневой элемент ( getRootElement() ).
  • reason: Причина, по которой игрок будет забанен.
  • seconds: Количество секунд для бана игрока. Может быть 0, для бесконечного бана.

Возвращения

Возращает элемент бана, если игрок успешно забанен, или false в противном случае.

Пример

Этот пример банит кого-нибудь, если он имеет ACL права.

--Добавляем командный заголовок "ban"
-- Пример с игроком
function banPlayerCommand ( theClient, commandName, bannedName, reason )

	--Показываем ошибку если нет необходимых прав
	if ( hasObjectPermissionTo ( theClient, "function.banPlayer" ) ) then
		--Получаем элемент игрока из имени
		local bannedPlayer = getPlayerFromNick ( bannedName )

		--Баним игрока
		banPlayer ( bannedPlayer, theClient, reason )
		outputChatBox ( "ban: " .. bannedName .. " успешно забанен", theClient )

	else
		outputChatBox ( "ban: У вас недостаточно на это прав", theClient )
	end

end
addCommandHandler ( "ban", banPlayerCommand )

--Пример функции с корневым элементом. Здесь вы должны передавать элемент игрока в функцию.
function banCheater(theCheater)
	banPlayer(theCheater, getRootElement(), "Вы забанены за читерство.")
end

Это пример файрвола аккаунтов игроков, работающего по серийному коду, во время их входа.

Firewall = 
{
    [ 'AccountName' ] = 'SerialPlayer',
    [ '3ash8' ] = '9C9F3B55D9D7BB7135FF274D3BF444E4',
    [ 'test5' ] = '1D6F76CF8D7193792D13789849498452',
}
 
addEventHandler ( 'onPlayerLogin', getRootElement ( ),
    function ( _, theCurrentAccount )
    local Serial = Firewall[getAccountName(theCurrentAccount)]
        if ( Serial ) then
            if Serial ~= getPlayerSerial ( source ) then
                banPlayer ( source, false, false, true, getRootElement ( ), 'причина бана' )
            end
        end
    end
)

Смотрите также