RU/unbanIP: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
mNo edit summary |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{ | {{RU/Server function}} | ||
{{RU/Deprecated|removeBan}} | |||
{{Deprecated}} | |||
Эта функция исключает из списка банов указанный IP. | Эта функция исключает из списка банов указанный IP. | ||
Line 9: | Line 8: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== | ===Обязательные аргументы=== | ||
*'''ipToUnban:''' IP, который нужно разбанить. | *'''ipToUnban:''' IP, который нужно разбанить. | ||
=== | ===Необязательные аргументы=== | ||
{{OptionalArg}} | {{RU/OptionalArg}} | ||
*'''unbanningPlayer:''' Игрок, IP которого удаляется из списка банов. По умолчанию nil, то есть не один. | *'''unbanningPlayer:''' Игрок, IP которого удаляется из списка банов. По умолчанию nil, то есть не один. | ||
=== | ===Возвращает=== | ||
Возвращает ''true'' если операция успешна, ''false'' в противном случае. | Возвращает ''true'' если операция успешна, ''false'' в противном случае. | ||
Line 25: | Line 24: | ||
if ( hasObjectPermissionTo ( thePlayer, "command.unbanip", false ) ) then -- проверяем, получал ли игрок доступ к команде | if ( hasObjectPermissionTo ( thePlayer, "command.unbanip", false ) ) then -- проверяем, получал ли игрок доступ к команде | ||
if not ip then outputChatBox( "No IP specified.", thePlayer ) return end -- если не введен IP, останавливаем выполнение | if not ip then outputChatBox( "No IP specified.", thePlayer ) return end -- если не введен IP, останавливаем выполнение | ||
if not findpattern( ip, '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+', 1 ) then outputChatBox( "Given IP is not valid.", thePlayer ) return end -- | if not findpattern( ip, '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+', 1 ) then outputChatBox( "Given IP is not valid.", thePlayer ) return end -- если формат IP некорректен, останавливаем выполнение | ||
local success = unbanIP( ip, thePlayer ) -- | local success = unbanIP( ip, thePlayer ) -- смотрим, была ли функция успешно выполнена | ||
if success then | if success then | ||
outputChatBox( "IP " .. ip .. " succesfully unbanned!", thePlayer ) -- | outputChatBox( "IP " .. ip .. " succesfully unbanned!", thePlayer ) -- если успешно, выводим в чат подтверждение | ||
else | else | ||
outputChatBox( "Unbanning IP " .. ip .. " failed!", thePlayer ) -- | outputChatBox( "Unbanning IP " .. ip .. " failed!", thePlayer ) -- если нет, выводим ошибку | ||
end | end | ||
else | else | ||
outputChatBox( "You have no permission to use this command.", thePlayer ) -- | outputChatBox( "You have no permission to use this command.", thePlayer ) -- выводим, что у игрока недостаточно прав | ||
end | end | ||
end | end | ||
) | ) | ||
-- | -- назначаем дополнительную функцию форматирования текста для обработчика | ||
function findpattern(text, pattern, start) | function findpattern(text, pattern, start) | ||
local found = string.find(text, pattern, start) | local found = string.find(text, pattern, start) | ||
Line 46: | Line 45: | ||
end | end | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== | ==Смотрите также== | ||
{{RU/Admin_functions}} | {{RU/Admin_functions}} | ||
[[en:unbanIP]] | [[en:unbanIP]] |
Latest revision as of 20:15, 29 September 2014
Эта функция устарела. Это означает, что её применение настоятельно не рекомендуется, и вполне возможно, что она перестанет существовать в последующих версиях. | |
Пожалуйста используйте вместо неё removeBan. |
Эта функция исключает из списка банов указанный IP.
Синтаксис
bool unbanIP ( string ipToUnban, [player unbanningPlayer = nil] )
Обязательные аргументы
- ipToUnban: IP, который нужно разбанить.
Необязательные аргументы
Примечание. При использовании необязательных аргументов Вам может потребоваться предоставить все аргументы перед тем аргументом, который Вы хотите использовать. Для более подробной информации ознакомьтесь с необязательными аргументами.
- unbanningPlayer: Игрок, IP которого удаляется из списка банов. По умолчанию nil, то есть не один.
Возвращает
Возвращает true если операция успешна, false в противном случае.
Пример
Этот пример добавляет администраторам команду unbanip(необходимо добавить разрешение в ACL).
addCommandHandler( "unbanip", -- добавляем команду 'unbanip' в обработчик function ( thePlayer, command, ip ) if ( hasObjectPermissionTo ( thePlayer, "command.unbanip", false ) ) then -- проверяем, получал ли игрок доступ к команде if not ip then outputChatBox( "No IP specified.", thePlayer ) return end -- если не введен IP, останавливаем выполнение if not findpattern( ip, '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+', 1 ) then outputChatBox( "Given IP is not valid.", thePlayer ) return end -- если формат IP некорректен, останавливаем выполнение local success = unbanIP( ip, thePlayer ) -- смотрим, была ли функция успешно выполнена if success then outputChatBox( "IP " .. ip .. " succesfully unbanned!", thePlayer ) -- если успешно, выводим в чат подтверждение else outputChatBox( "Unbanning IP " .. ip .. " failed!", thePlayer ) -- если нет, выводим ошибку end else outputChatBox( "You have no permission to use this command.", thePlayer ) -- выводим, что у игрока недостаточно прав end end ) -- назначаем дополнительную функцию форматирования текста для обработчика function findpattern(text, pattern, start) local found = string.find(text, pattern, start) if found ~= nil then return string.gsub(text, found) else return nil 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