Herro[CM] |
Дата: Среда, 09.09.2015, 21:29 | Сообщение # 1
|
Бывалый
Сообщений: 425
Статус: Offline
|
Функции: Код GetDotDecimalIP (IP: IP) - Возвращает строку, содержащую IP IP: GetIntegerIP (IP []) - Преобразование IP строку в десятичное в целое IP. GetStringFromDuration - Преобразование секунд в дни, часы, минуты. GetUnixTimestamp () - Возвращает текущую метку времени. BanIP(IP:ip, duration = DURATION_PERMANENT) - Запрет IP, продолжительность в секундах. BanIPRange(IPRange:range, duration = DURATION_PERMANENT) - тоже самое но для диапазона IP. BanPlayer (iPlayer, iDuration = DURATION_PERMANENT) - Бан игроков по их IP. LiftBan (ban_index) - Удалить бан. GetIPBanIndex(IP:ip) GetIPBanIndex(ip[]) - Показывает информацию о блокировках по IP. GetPlayerBanIndex(playerid) - Тоже самое но по ID GetIPRange(ip[], ip[]) - вроде ищет блокировки между диапазоном IP. IsIPInRange(IP:ip, IPRange:range) - Возвращает истину, если IP-(1-й аргумент) находится внутри диапазона IP (2-й аргумент). SetBanInfoInt(ban_index, key[], value) SetBanInfoFloat(ban_index, key[], Float:value) - Можно задать значения, связанные с индексами запрета (например, причине, идентификатор пользователя и т.д.). SetBanInfoString(ban_index, key[], value[]) GetBanInfoInt(ban_index, key[]) - Считываю информацию с SetBanInfo GetBanInfoFloat(ban_index, key[]) GetBanInfoString(ban_index, key[]) GetBanInfoStringCopy(ban_index, key[], destination[])
Пример: Проверка игрока на блокировку ip.
Код public OnPlayerConnect(playerid) { new ban = GetPlayerBanIndex(playerid); if (ban) { new message[128]; if (GetBanType(ban) == BAN_TYPE_RANGE) format(message, 128, "Ваш IP находится в диапазоне запрещенных IP адресов, Причина: %s", GetBanInfoString(ban, "reason")); else format(message, 128, "*Вы забанены по причине: %s", GetBanInfoString(ban, "reason")); SendClientMessage(playerid, 0xCC0000FF, message); format(message, 128, "Доступ будет разблокирован через: %s.", GetStringFromDuration(GetBanInfoInt(ban, "time_left"))); SendClientMessage(playerid, 0xCC0000FF, message); Kick(playerid); return 0; } return 1; }
Include: Код
Макросы: Код IP(x.x.x.x) - Дает целое IP. IP_RANGE - Дает диапазон IP адресов. IP_OCTET (IP (127.0.0.1), - Выдаст 127 DURATION - Срок блокировки LOOP_IP_BANS(ban_index : IP:ip) LOOP_IP_BANS(ban_index : ip[]) LOOP_IP_BANS(new ban_index : IP:ip) LOOP_IP_BANS(new ban_index : ip[]) LOOP_PLAYER_BANS(ban_index : playerid) LOOP_PLAYER_BANS(new_ban_index_:_playerid)
Автор: Slice
Когда нет знания, есть мнение.
|
|
|
|
Surex |
Дата: Суббота, 02.07.2016, 14:03 | Сообщение # 2
|
Боец
Сообщений: 137
Статус: Offline
|
полезно
|
|
|
|
Плисс |
Дата: Вторник, 19.07.2016, 20:42 | Сообщение # 3
|
Боец
Сообщений: 70
Статус: Offline
|
Кросс
|
|
|
|