RU/unbanIP: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 15: | Line 15: | ||
*'''unbanningPlayer:''' Игрок, IP которого удаляется из списка банов. По умолчанию nil, то есть не один. | *'''unbanningPlayer:''' Игрок, IP которого удаляется из списка банов. По умолчанию nil, то есть не один. | ||
=== | ===Вывод=== | ||
Возвращает ''true'' если операция успешна, ''false'' в противном случае. | Возвращает ''true'' если операция успешна, ''false'' в противном случае. | ||
Line 25: | Line 25: | ||
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 46: | ||
end | end | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== | ==Смотри также== | ||
{{RU/Admin_functions}} | {{RU/Admin_functions}} | ||
[[en:unbanIP]] | [[en:unbanIP]] |
Revision as of 14:58, 20 July 2010
This function is deprecated. This means that its use is discouraged and that it might not exist in future versions, but there should be a more generic way to perform what it does. | |
Эта функция исключает из списка банов указанный IP.
Синтаксис
bool unbanIP ( string ipToUnban, [player unbanningPlayer = nil] )
Необходимые аргументы
- ipToUnban: IP, который нужно разбанить.
Опциональные аргументы
NOTE: When using optional arguments, you might need to supply all arguments before the one you wish to use. For more information on optional arguments, see optional arguments.
- 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