Автор: King 19.3.2009, 20:52
Нашел на board.ptokax.ch скрипт ограничения минимальной скорости отдачи. Но почему не работает понять не могу. Как только не крутил, тестировал разными клиентами, результат один и тот же.
Цитата
[13:59:47] <PtokaX> Sorry Admin, this hub requires a minimum upload limit of 1024.00 kbps. or higher. Your limit of 0.00 bps. is 1024.00 kbps. short of the minimum You will now be disconnected.
Помогите скриптеры =)
Мда, портал DC++....
Автор: ustas 20.3.2009, 0:22
84 строка
Код
if val < tab[1] and val~=0 then
Автор: King 20.3.2009, 6:09
так он вообще ни на что не реагирует. Хоть ставь ограничение, хоть нет.
Автор: Setuper 20.3.2009, 12:12
Код
heckLimit = function(user)
if StartOn then
user = GetNormalValue(user)
local val = user.iLlimit
val = val and tonumber(val)*1000 or 0
local tab = Profiles[user.iProfile]
if tab and tab[1] > 0 then
if val < tab[1] and val>0 then
...
...
Реализацию функции GetNormalValue берём тут: http://mydc.ru/ipb.html?s=&showtopic=334&view=findpost&p=9085
Автор: King 20.3.2009, 13:33
То есть до этого кода:
Код
CheckLimit = function(user)
if StartOn then
user = GetNormalValue(user)
local val = user.iLlimit
val = val and tonumber(val)*1000 or 0
local tab = Profiles[user.iProfile]
if tab and tab[1] > 0 then
if val < tab[1] and val>0 then
нужно включить функцию:
CODE
function GetNormalValue(tUser)
if not tUser.sTag then
local sDescription,sTag,sClient,sClientVersion,sMode,iNormalHubs,iRegHubs,iOpHubs,iSlots,iLlimit = tUser.sDescription:match"(.*)(<(.+)%sV?:?(.-),M:(.-),H:(%d+)/(%d+)/(%d+),S:(%d+)>)$"
if not sDescription then
sDescription,sTag,sClient,sClientVersion,sMode,iNormalHubs,iRegHubs,iOpHubs,iSlots,iLlimit = tUser.sDescription:match"(.*)(<(.+)%sV?:?(.-),M:(.-),H:(%d+)/(%d+)/(%d+),S:(%d+),L:(%d+)>)$"
end
if not sDescription then
sDescription,sTag,sClient,sClientVersion,sMode,iNormalHubs,iRegHubs,iOpHubs,iSlots,iLlimit = tUser.sDescription:match"(.*)(<(.+)%sV?:?(.-),M:(.-),H:(%d+)/(%d+)/(%d+),S:(%d+),B:(%d+)>)$"
end
tUser.sDescription=sDescription
tUser.sTag=sTag
tUser.sClient=sClient
tUser.sClientVersion=sClientVersion
tUser.sMode=sMode
tUser.iNormalHubs=iNormalHubs
tUser.iRegHubs=iRegHubs
tUser.iOpHubs=iOpHubs
tUser.iHubs=iNormalHubs and iRegHubs and iOpHubs and (iNormalHubs + iRegHubs + iOpHubs)
tUser.iSlots=iSlots
tUser.iLlimit=iLlimit
end
return tUser
end
так?
Автор: Setuper 20.3.2009, 13:51
Пробуй. Зачем задавать вопрос, когда можно попробовать.
Автор: King 20.3.2009, 14:30
Потому что попробовал и не помогло =)
Автор: King 20.3.2009, 18:31
Нет, никаких ошибок не выдает. На ограничение не реагирует.
Автор: Setuper 20.3.2009, 19:10
Код
CheckLimit = function(user)
if StartOn then
Core.GetUserAllData(user)
user = GetNormalValue(user)
local val = user.iLlimit
val = val and tonumber(val)*1000 or 0
local tab = Profiles[user.iProfile]
if tab and tab[1] > 0 then
if val < tab[1] and val>0 then
....
Автор: King 20.3.2009, 20:03
Нет, не работает. Вот, что я зменил в коде:
CODE
function GetNormalValue(user)
if not user.sTag then
local sDescription,sTag,sClient,sClientVersion,sMode,iNormalHubs,iRegHubs,iOpHubs,iSlots,iLlimit = tUser.sDescription:match"(.*)(<(.+)%sV?:?(.-),M:(.-),H:(%d+)/(%d+)/(%d+),S:(%d+)>)$"
if not sDescription then
sDescription,sTag,sClient,sClientVersion,sMode,iNormalHubs,iRegHubs,iOpHubs,iSlots,iLlimit = tUser.sDescription:match"(.*)(<(.+)%sV?:?(.-),M:(.-),H:(%d+)/(%d+)/(%d+),S:(%d+),L:(%d+)>)$"
end
if not sDescription then
sDescription,sTag,sClient,sClientVersion,sMode,iNormalHubs,iRegHubs,iOpHubs,iSlots,iLlimit = tUser.sDescription:match"(.*)(<(.+)%sV?:?(.-),M:(.-),H:(%d+)/(%d+)/(%d+),S:(%d+),B:(%d+)>)$"
end
tUser.sDescription=sDescription
tUser.sTag=sTag
tUser.sClient=sClient
tUser.sClientVersion=sClientVersion
tUser.sMode=sMode
tUser.iNormalHubs=iNormalHubs
tUser.iRegHubs=iRegHubs
tUser.iOpHubs=iOpHubs
tUser.iHubs=iNormalHubs and iRegHubs and iOpHubs and (iNormalHubs + iRegHubs + iOpHubs)
tUser.iSlots=iSlots
tUser.iLlimit=iLlimit
end
return user
end
CheckLimit = function(user)
if StartOn then
Core.GetUserAllData(user)
user = GetNormalValue(user)
local val = user.iLlimit
val = val and tonumber(val)*1000 or 0
local tab = Profiles[user.iProfile]
if tab and tab[1] > 0 then
if val < tab[1] and val>0 then
Автор: Setuper 20.3.2009, 20:14
У меня всё работает. Ищи ошибку у себя.
UpLimit.lua ( 9.64 килобайт )
: 37
Автор: King 20.3.2009, 20:42
Больше никто не тестировал? что-то тут не так...
Автор: Master-Grow 30.7.2009, 17:34
тестировали как же
вот твой скрип
[18:32:22] <BOND> Вы были временно забанены на этом хабе! Вам осталось ждать: 19 мин 15 сек
IP: 192.168.1.2
Ник: Master
Причина: Upload limit set to 0.00 bps.
Кем забанен: [Bot]PtokaX
в личку пишет
[18:36:52] <[Bot]PtokaX> Sorry Master, this hub requires a minimum upload limit of 1024.00 kbps. or higher. Your limit of 0.00 bps. is 1024.00 kbps. short of the minimum You will now be disconnected.