Автор: CrazyKiller 19.2.2013, 14:12
Может дето есть, не могу найти, нужен скрипт на максимальную шару, может у кого есть ?
Автор: Ksan 19.2.2013, 14:49
Теперь спросите то же самое, только на понятном каждому языке, а то у нас экстрасенсов вообще нет (раньше насчёт отпуска врали, на самом деле их нет)..
Автор: CrazyKiller 19.2.2013, 15:36
Цитата(Ksan @ 19.2.2013, 14:49)
Теперь спросите то же самое, только на понятном каждому языке, а то у нас экстрасенсов вообще нет (раньше насчёт отпуска врали, на самом деле их нет)..
Что не понятно, нужен скрипт который будет запрещать входить с фейк шарой либо по макс шары.
Автор: Артём 19.2.2013, 16:09
CrazyKiller, ну, то что ты сейчас написал и в первом посте "нужен скрипт на максимальную шару" разные вещи)))
Код
sHubBot = Config.sHubBot
ConnMaxShareSize = 76965813944320 --: Размер максимальной шары для доступа на хаб. (В байтах) ( 76965813944320 70тб)
tNicks = {"Артём","Nokia_5230",}
function OnUserEnter(UID)
if UID.iShare >= ConnMaxShareSize then
Core.SendToUser(UID,"Вы превысили лимит по шаре! Установлен максимальный лимит шары для доступа на хаб в ' "..GetNormalShare(ConnMaxShareSize).." ', а Ваша шара ' "..GetNormalShare(UID.iShare).." ' ",sHubBot)
Core.SendToNicks(tNicks,"Юзер "..UID.sNick.." "..UID.sIP.." был отключен так как превысил размер максимальной шары для доступа на хаб "..GetNormalShare(UID.iShare),sHubBot)
Core.Disconnect(UID)
end
end
function GetNormalShare(s)
s = tonumber(s) or 0
if s >= 1125899906842624 then
return (math.floor(1000 * s / 1125899906842624) / 1000).." ПБ"
elseif s >= 1099511627776 then
return (math.floor(1000 * s / 1099511627776) / 1000).." TБ"
elseif s >= 1073741824 then
return (math.floor(1000 * s / 1073741824) / 1000).." ГБ"
elseif s >= 1048576 then
return (math.floor(1000 * s / 1048576) / 1000).." МБ"
elseif s >= 1024 then
return (math.floor(1000 * s / 1024) / 1000).." КБ"
else return s.." Б"
end
end
Автор: Alexey 19.2.2013, 16:38
Ещё вариант
Код
local tCfg = {
sBot = Config.sHubBot,
iMaxShare = 100 * math.pow(2, 40), -- максимальный размер шары
iMinShare = 0, -- минимальный размер шары
tOPs = {0,1},
}
require"utils"
local tMsgs = {
sMaxShare = "Ваша шара (%s) слишком велика для этого хаба, допустимый максимум - "..Utils.DoShareUnits(tCfg.iMaxShare)..".",
sMinShare = "Ваша шара (%s) слишком мала для этого хаба, допустимый минимум - "..Utils.DoShareUnits(tCfg.iMinShare)..".",
sReport = "Попытка входа юзера %s (%s) с запредельной шарой %s (клиент %s)."
}
function OnUserEnter(UID)
if UID.iShare > tCfg.iMaxShare then
Core.SendToUser(UID, tMsgs.sMaxShare:format(Utils.DoShareUnits(UID.iShare)), tCfg.sBot)
Core.SendToProfile(tCfg.tOPs, tMsgs.sReport:format(UID.sNick, UID.sIP, Utils.DoShareUnits(UID.iShare), UID.sTag), tCfg.sBot, tCfg.sBot)
Core.Disconnect(UID)
elseif UID.iShare < tCfg.iMinShare then
Core.SendToUser(UID, tMsgs.sMinShare:format(Utils.DoShareUnits(UID.iShare)), tCfg.sBot)
Core.SendToProfile(tCfg.tOPs, tMsgs.sReport:format(UID.sNick, UID.sIP, Utils.DoShareUnits(UID.iShare), UID.sTag), tCfg.sBot, tCfg.sBot)
Core.Disconnect(UID)
end
end
PS: В клиенте FlylinkDC++ долгое время была ошибка, иногда приводящая при запуске программы к установке дикого размера шары на некоторое время. Исправлена она только в версиях, выпущенных после 13 февраля 2013 года.
Автор: CrazyKiller 25.2.2013, 16:42
[2013-02-22 04:56:50] ./scripts/maxshare.lua:8: warning: function 'SendToNicks' was deprecated. Use 'SendToUser' instead
Артём Твой скриптик ругается )))
Автор: Артём 25.2.2013, 18:53
CrazyKiller, ну и? там же написано всё, возьми и используй что предлагают
Автор: CrazyKiller 28.2.2013, 16:06
Цитата(Артём @ 25.2.2013, 18:53)
CrazyKiller, ну и? там же написано всё, возьми и используй что предлагают
да я та в курсе, просто чтоб имел ввиду
Автор: Артём 28.2.2013, 17:15
CrazyKiller, а мне оно зачем? тебе пишет, а не мне.