Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

MyDC.ru _ Запросы скриптов для RusHub'а _ Max Shara

Автор: 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 19.2.2013, 17:33

Всем Спасибо big_smile.gif

Автор: 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, ну и? там же написано всё, возьми и используй что предлагают bad_smile.gif

Автор: CrazyKiller 28.2.2013, 16:06

Цитата(Артём @ 25.2.2013, 18:53) *
CrazyKiller, ну и? там же написано всё, возьми и используй что предлагают bad_smile.gif


да я та в курсе, просто чтоб имел ввиду big_smile.gif

Автор: Артём 28.2.2013, 17:15

CrazyKiller, а мне оно зачем? тебе пишет, а не мне.