RU/banPlayer: Difference between revisions
Jump to navigation
Jump to search
(Blanked the page) |
|||
Line 1: | Line 1: | ||
__NOTOC__ | |||
{{RU/Server function}} | |||
{{New feature|3|1.0| | |||
Эта функция дает бан игроку по IP, [[RU/Serial|серийному коду]] или имени. | |||
}} | |||
{{Deprecated_feature|3|1.0| | |||
This function will ban the specified player from the server by IP. | |||
}} | |||
==Синтаксис== | |||
{{New feature|3|1.0| | |||
<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 ] ) | |||
</syntaxhighlight> | |||
}} | |||
{{Deprecated_feature|3|1.0| | |||
<syntaxhighlight lang="lua"> | |||
bool banPlayer ( player bannedPlayer , [ element responsibleElement, string reason ] ) | |||
</syntaxhighlight> | |||
}} | |||
{{RU/OOP||[[RU/Element/Player|player]]:ban||}} | |||
===Обязательные аргументы=== | |||
*'''bannedPlayer:''' Игрок, который должен быть забанен сервером. | |||
===Необязательные аргументы=== | |||
{{RU/OptionalArg}} | |||
{{New feature|3|1.0| | |||
*'''IP:''' Забанить игрока по IP? | |||
*'''Username:''' Забанить игрока по имени? | |||
*'''Serial:''' Забанить игрока по серийному коду? | |||
:'''Примечание:''' Чтобы забанить игрока по имени или серийному коду, ''verifyserials'' должна быть включена в серверном файле конфигурации. | |||
}} | |||
*'''responsibleElement:''' Элемент, который отвечает за бан игрока. Это может быть игрок или корневой элемент ([[RU/getRootElement| getRootElement() ]]). | |||
*'''reason:''' Причина, по которой игрок будет забанен. | |||
*'''seconds:''' Количество секунд для бана игрока. Может быть 0, для бесконечного бана. | |||
===Возвращения=== | |||
{{Deprecated_feature|3|1.0| | |||
Возвращает ''true'' если игрок успешно забанен, ''false'' если даны неправильные аргументы. | |||
}} | |||
{{New feature|3|1.0| | |||
Возращает элемент [[RU/Ban|бана]], если игрок успешно забанен, или ''false'' в противном случае. | |||
}} | |||
==Пример== | |||
Этот пример банит кого-нибудь, если он имеет ACL права. | |||
<syntaxhighlight lang="lua"> | |||
--Добавляем командный заголовок "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 | |||
</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}} | |||
[[en:banPlayer]] | |||
[[es:banPlayer]] |
Revision as of 03:06, 1 April 2016
Эта функция дает бан игроку по 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 )
Смотрите также
Серверные функции
- 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