RU/banPlayer: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(24 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{Translate}}
__NOTOC__
{{Server function}}
{{RU/Server function}}
{{New feature|3|1.0|
{{RU/New feature/item|3|1.0||
This function will ban the specified player by either IP, [[serial]] or username
Эта функция дает бан игроку по IP, [[RU/Serial|серийному коду]] или имени.
}}
}}


{{Deprecated_feature|3|1.0|
==Синтаксис==  
This function will ban the specified player from the server by IP.
{{RU/New feature/item|3|1.0||
}}
 
==Syntax==  
{{New feature|3|1.0|
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
ban banPlayer ( player bannedPlayer, [ bool IP = true, bool Username = false, bool Serial = false, player responsiblePlayer = nil, string reason = nil, int seconds = 0 ] )
ban banPlayer ( player bannedPlayer, [ bool IP = true, bool Username = false, bool Serial = false,  
player responsiblePlayer = nil, string reason = nil, int seconds = 0 ] )
</syntaxhighlight>
</syntaxhighlight>
}}
}}


{{Deprecated_feature|3|1.0|
{{RU/OOP||[[RU/Element/Player|player]]:ban||}}
<syntaxhighlight lang="lua">
===Обязательные аргументы===
bool banPlayer ( player bannedPlayer , [ element responsibleElement, string reason ] )       
*'''bannedPlayer:''' Игрок, который должен быть забанен сервером.
</syntaxhighlight>
}}


===Required Arguments===  
===Необязательные аргументы===  
*'''bannedPlayer:''' The player that will be banned from the server.
{{RU/OptionalArg}}
{{RU/New feature\item|3|1.0||
*'''IP:''' Забанить игрока по IP?
*'''Username:''' Забанить игрока по имени?
*'''Serial:''' Забанить игрока по серийному коду?


===Optional Arguments===
:'''Примечание:''' Чтобы забанить игрока по имени или серийному коду, ''verifyserials'' должна быть включена в серверном файле конфигурации.
{{OptionalArg}}
{{New feature|3|1.0|
*'''IP:''' Will player be banned by IP?
*'''Username:''' Will player be banned by username?
*'''Serial:''' Will player be banned by serial?
 
:'''Note:''' to ban by username or serial, ''verifyserials'' must be enabled in the server configuration file.


}}
}}
*'''responsibleElement:''' The element that is responsible for banning the player. This can be a player or the root ([[getRootElement]]()).
*'''responsibleElement:''' Элемент, который отвечает за бан игрока. Это может быть игрок или корневой элемент ([[RU/getRootElement| getRootElement() ]]).
*'''reason:''' The reason the player will be banned from the server.
*'''reason:''' Причина, по которой игрок будет забанен.
*'''seconds:''' The amount of seconds the player will be banned from the server for. This can be 0 for an infinite amount of time.
*'''seconds:''' Количество секунд для бана игрока. Может быть 0, для бесконечного бана.


===Returns===
===Возвращения===
{{Deprecated_feature|3|1.0|
Returns ''true'' if the player was banned succesfully, ''false'' if invalid arguments are specified.
}}


{{New feature|3|1.0|
{{RU/New feature/item|3|1.0||
Returns a [[ban]] pointer if banned successfully, or ''false'' if unsuccessful.
Возращает элемент [[RU/Ban|бана]], если игрок успешно забанен, или ''false'' в противном случае.
}}
}}


==Example==
==Пример==
This example lets a player ban anyone if he has ACL rights.
Этот пример банит кого-нибудь, если он имеет ACL права.
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
--Add the "ban" command handler
--Добавляем командный заголовок "ban"
-- Example with the player
-- Пример с игроком
function banPlayerCommand ( theClient, commandName, bannedName, reason )
function banPlayerCommand ( theClient, commandName, bannedName, reason )


-- Give the player a nice error if he doesn't have rights
--Показываем ошибку если нет необходимых прав
if ( hasObjectPermissionTo ( theClient, "function.banPlayer" ) ) then
if ( hasObjectPermissionTo ( theClient, "function.banPlayer" ) ) then
--Get player element from the name
--Получаем элемент игрока из имени
local bannedPlayer = getPlayerFromNick ( bannedName )
local bannedPlayer = getPlayerFromNick ( bannedName )


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


else
else
outputChatBox ( "ban: You don't have enough permissions", theClient )
outputChatBox ( "ban: У вас недостаточно на это прав", theClient )
end
end


Line 71: Line 60:
addCommandHandler ( "ban", banPlayerCommand )
addCommandHandler ( "ban", banPlayerCommand )


-- Example function with the root element. Here you would pass a player element to the function.
--Пример функции с корневым элементом. Здесь вы должны передавать элемент игрока в функцию.
function banCheater(theCheater)
function banCheater(theCheater)
banPlayer(theCheater, getRootElement(), "You are banned because of cheating.")
banPlayer(theCheater, getRootElement(), "Вы забанены за читерство.")
end
end
</syntaxhighlight>
</syntaxhighlight>


==See Also==
Это пример файрвола аккаунтов игроков, работающего по серийному коду, во время их входа.
<syntaxhighlight lang="lua">
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
)
</syntaxhighlight>
==Смотрите также==
{{RU/Admin_functions}}
{{RU/Admin_functions}}
[[en:banPlayer]]
[[en:banPlayer]]
[[es:banPlayer]]

Latest revision as of 21:42, 14 June 2021

Эта функция дает бан игроку по 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: Игрок, который должен быть забанен сервером.

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

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

  • 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
)

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

Серверные функции

  • addBanблокирует доступ по серийному номеру, IP адресу и / или нику
  • banPlayerблокирует указанного игрока по серийному номеру, IP адресу и / или нику
  • getBanAdminвозвращает ник администратора, ответственного за указанную блокировку
  • getBanIPвозвращает заблокированный IP адрес для указанной блокировки
  • getBanNickвозвращает ник заблокированного игрока для указанной блокировки
  • getBanReasonвозвращает причину выдачи для указанной блокировки
  • getBansвозвращает таблицу выданных блокировок
  • getBanSerialвозвращает заблокированный серийный номер для указанной блокировки
  • getBanTimeвозвращает время в секундах, прошедшее от 1.01.1970 до момента выдачи указанной блокировки
  • getBanUsernameвозвращает ник заблокированного игрока для указанной блокировки (устарела)
  • getUnbanTimeвозвращает время в секундах, прошедшее от 1.01.1970 до момента снятия указанной блокировки
  • isBanпроверка значение на соответствие типу ban
  • kickPlayerисключает указанного игрока из игры
  • setBanAdminизменяет никнейм ответственного за блокировку администратора
  • setBanNickизменяет никнейм игрока для указанной блокировки
  • setBanReasonизменяет причину указанной блокировки
  • setUnbanTimeизменяет время разблокировки для указанного игрока
  • removeBanудаляет указанную блокировку
  • reloadBansобновление данных о выданных блокировках из файла banlist.xml