RU/banPlayer: Difference between revisions
Jump to navigation
Jump to search
Enterprise (talk | contribs) No edit summary |
No edit summary |
||
(24 intermediate revisions by 8 users not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | |||
{{Server function}} | {{RU/Server function}} | ||
{{New feature|3|1.0| | {{RU/New feature/item|3|1.0|| | ||
Эта функция дает бан игроку по IP, [[RU/Serial|серийному коду]] или имени. | |||
}} | }} | ||
==Синтаксис== | |||
{{RU/New feature/item|3|1.0|| | |||
== | |||
{{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> | ||
}} | }} | ||
{{ | {{RU/OOP||[[RU/Element/Player|player]]:ban||}} | ||
===Обязательные аргументы=== | |||
*'''bannedPlayer:''' Игрок, который должен быть забанен сервером. | |||
=== | ===Необязательные аргументы=== | ||
*''' | {{RU/OptionalArg}} | ||
{{RU/New feature\item|3|1.0|| | |||
*'''IP:''' Забанить игрока по IP? | |||
*'''Username:''' Забанить игрока по имени? | |||
*'''Serial:''' Забанить игрока по серийному коду? | |||
:'''Примечание:''' Чтобы забанить игрока по имени или серийному коду, ''verifyserials'' должна быть включена в серверном файле конфигурации. | |||
:''' | |||
}} | }} | ||
*'''responsibleElement:''' | *'''responsibleElement:''' Элемент, который отвечает за бан игрока. Это может быть игрок или корневой элемент ([[RU/getRootElement| getRootElement() ]]). | ||
*'''reason:''' | *'''reason:''' Причина, по которой игрок будет забанен. | ||
*'''seconds:''' | *'''seconds:''' Количество секунд для бана игрока. Может быть 0, для бесконечного бана. | ||
=== | ===Возвращения=== | ||
{{New feature|3|1.0| | {{RU/New feature/item|3|1.0|| | ||
Возращает элемент [[RU/Ban|бана]], если игрок успешно забанен, или ''false'' в противном случае. | |||
}} | }} | ||
== | ==Пример== | ||
Этот пример банит кого-нибудь, если он имеет ACL права. | |||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
-- | --Добавляем командный заголовок "ban" | ||
-- | -- Пример с игроком | ||
function banPlayerCommand ( theClient, commandName, bannedName, reason ) | function banPlayerCommand ( theClient, commandName, bannedName, reason ) | ||
-- | --Показываем ошибку если нет необходимых прав | ||
if ( hasObjectPermissionTo ( theClient, "function.banPlayer" ) ) then | if ( hasObjectPermissionTo ( theClient, "function.banPlayer" ) ) then | ||
-- | --Получаем элемент игрока из имени | ||
local bannedPlayer = getPlayerFromNick ( bannedName ) | local bannedPlayer = getPlayerFromNick ( bannedName ) | ||
-- | --Баним игрока | ||
banPlayer ( bannedPlayer, theClient, reason ) | banPlayer ( bannedPlayer, theClient, reason ) | ||
outputChatBox ( "ban: " .. bannedName .. " | outputChatBox ( "ban: " .. bannedName .. " успешно забанен", theClient ) | ||
else | else | ||
outputChatBox ( "ban: | outputChatBox ( "ban: У вас недостаточно на это прав", theClient ) | ||
end | end | ||
Line 71: | Line 60: | ||
addCommandHandler ( "ban", banPlayerCommand ) | addCommandHandler ( "ban", banPlayerCommand ) | ||
-- | --Пример функции с корневым элементом. Здесь вы должны передавать элемент игрока в функцию. | ||
function banCheater(theCheater) | function banCheater(theCheater) | ||
banPlayer(theCheater, getRootElement(), " | banPlayer(theCheater, getRootElement(), "Вы забанены за читерство.") | ||
end | end | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== | Это пример файрвола аккаунтов игроков, работающего по серийному коду, во время их входа. | ||
<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