Автор: AVANGARD 1.11.2009, 8:53
Собственно скрипт запрещающий множественный вход с одного IP
Код
if frmHub then
function ValidateNickArrival(tUser)
for _,v in pairs(frmHub:GetOnlineUsers()) do
if v.sIP==tUser.sIP then
tUser:SendData"*** На хабе введено ограничение: один ip - один ник"
tUser:Disconnect()
end
end
end
NewUserConnected=ValidateNickArrival
OpConnected=ValidateNickArrival
else
function ValidateNickArrival(tUser)
for _,v in pairs(Core.GetOnlineUsers()) do
if v.sIP==tUser.sIP then
Core.SendToUser(tUser,"*** На хабе введено ограничение: один ip - один ник")
Core.Disconnect(tUser)
end
end
end
UserConnected=ValidateNickArrival
RegConnected=ValidateNickArrival
OpConnected=ValidateNickArrival
end
И собственно надо что бы разрешить множественный вход мастеру, операторам и випам! Заранее спасибо
Автор: Wariner 1.11.2009, 10:16
Код
local tProfiles = { -- 1 - вход без ограничений
[0] = 1, -- Мастер
[1] = 1, -- ОПератор
[2] = 0, -- VIP
[3] = 0, -- Зарегистрированный пользователь
[-1] = 0, -- Незарегистрированный юзер
}
if frmHub then
function ValidateNickArrival(tUser)
if tProfiles[tUser.iProfile] ~= 1 then
for _,v in pairs(frmHub:GetOnlineUsers()) do
if v.sIP==tUser.sIP then
tUser:SendData"*** На хабе введено ограничение: один ip - один ник"
tUser:Disconnect()
end
end
end
end
NewUserConnected=ValidateNickArrival
OpConnected=ValidateNickArrival
else
function ValidateNickArrival(tUser)
if tProfiles[tUser.iProfile] ~= 1 then
for _,v in pairs(Core.GetOnlineUsers()) do
if v.sIP==tUser.sIP then
Core.SendToUser(tUser,"*** На хабе введено ограничение: один ip - один ник")
Core.Disconnect(tUser)
end
end
end
end
UserConnected=ValidateNickArrival
RegConnected=ValidateNickArrival
OpConnected=ValidateNickArrival
end
PS: добавил в частозадаваемые вопросы! http://mydc.ru/index.html?showtopic=1164&view=findpost&p=22528
Автор: Trans 1.11.2009, 10:18
Тут надо в функцию внести проверку профиля и наличие прав на что-то минимальное и обязательное для всех перечисленных профилей, например, на дроп: bDrop (это добавить к проверке наличия в хабе юзера с таким же айпи)
Перед этим, естественно, нужно взять профиль юзера.
Почему я сам просто не исправил скрипт, как ему надо - не хочу лишать человека удовольствия попытаться самому что-то сделать.
Добавлено через минуту:
Хмм, пока я отправлял сообщение, уже сделали то, чего я боялся
Только мой способ намного короче - добавляется всего одна строка под названием функции и добавляется в строке проверки еще один элемент.
Автор: AVANGARD 1.11.2009, 14:15
Wariner, спасибо огромное!
Trans, так и ты напиши свойю версию может она красивее будет
Автор: Trans 1.11.2009, 14:30
Я же объяснил, как можно сделать. А про "почему не написал":
Цитата
Почему я сам просто не исправил скрипт, как ему надо - не хочу лишать человека удовольствия попытаться самому что-то сделать.