RU/banPlayer: Difference between revisions
Jump to navigation
Jump to search
OpenIDUser46 (talk | contribs) No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
{{Server function}} | __NOTOC__ | ||
{{RU/Server function}} | |||
{{New feature|3|1.0| | {{New feature|3|1.0| | ||
Эта функция дает бан игроку по IP, [[ | Эта функция дает бан игроку по IP, [[RU/Serial|серийному коду]] или имени. | ||
}} | }} | ||
Line 8: | Line 9: | ||
}} | }} | ||
== | ==Синтаксис== | ||
{{New feature|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> | ||
}} | }} | ||
Line 20: | Line 22: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} | ||
{{RU/OOP||[[RU/Element/Player|player]]:ban||}} | |||
===Обязательные аргументы=== | ===Обязательные аргументы=== | ||
*'''bannedPlayer:''' Игрок, который должен быть забанен сервером. | *'''bannedPlayer:''' Игрок, который должен быть забанен сервером. | ||
Line 29: | Line 31: | ||
*'''IP:''' Забанить игрока по IP? | *'''IP:''' Забанить игрока по IP? | ||
*'''Username:''' Забанить игрока по имени? | *'''Username:''' Забанить игрока по имени? | ||
*'''Serial:''' Забанить игрока по | *'''Serial:''' Забанить игрока по серийному коду? | ||
:'''Note:''' Что бы забанить игрока по имени или | :'''Note:''' Что бы забанить игрока по имени или серийному коду, ''verifyserials'' должна быть включена в серверном файле конфигурации. | ||
}} | }} | ||
*'''responsibleElement:''' Элемент, который отвечает за бан игрока. Это может быть игрок или корневой элемент ([[getRootElement]] | *'''responsibleElement:''' Элемент, который отвечает за бан игрока. Это может быть игрок или корневой элемент ([[RU/getRootElement| getRootElement() ]]). | ||
*'''reason:''' | *'''reason:''' Причина, по которой игрок будет забанен. | ||
*'''seconds:''' Количество секунд для бана игрока. | *'''seconds:''' Количество секунд для бана игрока. Может быть 0, для бесконечного бана. | ||
===Возвращения=== | ===Возвращения=== | ||
Line 44: | Line 46: | ||
{{New feature|3|1.0| | {{New feature|3|1.0| | ||
Возращает [[ | Возращает элемент [[RU/Ban|бана]], если игрок удалось успешно забанить, или ''false'' если неудалось. | ||
}} | }} | ||
Line 50: | Line 52: | ||
Этот пример банит кого-нибудь, если он имеет ACL права. | Этот пример банит кого-нибудь, если он имеет 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 70: | Line 72: | ||
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]] |
Revision as of 17:23, 8 September 2014
Эта функция дает бан игроку по 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: Забанить игрока по серийному коду?
- Note: Что бы забанить игрока по имени или серийному коду, 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