Автор: CraZy 14.4.2010, 8:08
Доброе время суток!
Ищю скрипт что бы нельзя было банить Мастеров и Опов...
Как сделать на Птохе... что бы не зарегистрированные пользователи выдели айпи других пользователей?
Заранее спасибо!
Автор: Артём 14.4.2010, 8:13
http://mydc.ru/topic568.html?hl=%C0%ED%F2%E8%E1%E0%ED+%EE%EF%EE%E2
а на счёт незарегистрированные чтобы видели IP ... думаю только скриптом ( возможно ошибаюсь )
Код
function ChatArrival(tUser,sData)
if not sData:match"^%b<> [!+/].+" then
local sMsg = sData:match"%b<>(.*)|$"
Core.SendToAll("["..tUser.sIP.."] <"..tUser.sNick.."> "..sMsg)
return true
end
end
Автор: CraZy 14.4.2010, 9:03
спасибо за антибан ну за срипкт ниже надо подобное ну не потходит мне бы стандарт вариант какойнебуть возможно?
Автор: Nickolya 14.4.2010, 12:49
В птоке по-моему нет того что ты хочешь, анреги лишены прав и настроить это нельзя. Скриптом можно, но будет тормозить хаб при большом онлайне. Если хочешь, попробуй:
Код
function OnStartup()
TmrMan.AddTimer(1000, "SendData")
tToSend = {}
end
function UserConnected(tUser)
if tUser.iProfile == -1 then
local tUsers = {"$UserIP "}
for _, tOnlineUser in ipairs(Core.GetOnlineUsers()) do
table.insert(tUsers, tOnlineUser.sNick)
table.insert(tUsers, " ")
table.insert(tUsers, tOnlineUser.sIP)
table.insert(tUsers, "$$")
end
if tUsers[2] then
Core.SendToUser(tUser, table.concat(tUsers))
end
end
tToSend[tUser.sNick] = true
end
OpConnected,RegConnected = UserConnected,UserConnected
function SendData()
for sNick in pairs(tToSend) do
local tUser = Core.GetUser(sNick, true) or false
if not tUser then
tToSend[sNick] = nil
elseif tUser.bConnected then
Core.SendToAll("$UserIP "..tUser.sNick.." "..tUser.sIP.."$$")
tToSend[sNick] = nil
end
end
collectgarbage("collect")
end
Автор: CraZy 18.4.2010, 16:06
Почему тормозить будит? и при каком имено онлайне примерно тормозить будит?
P.s: я как понял и за хеширования тормозить будит?
Автор: Nickolya 20.4.2010, 0:04
Хеширования тут нет, лишь проход по всей таблице пользователей каждый раз при входе юзера, что вполне затратно. Ты попробуй сначала, а потом спрашивай...