Версия для печати темы
MyDC.ru _ Kорзина _ проверка повторяющихся ip
Автор: *FoxMalder* 20.5.2009, 2:00
можно скриптик который по запросу проверят юзеров и выдает:
с такого ip то .. сидят такие то ники и списочек в столбик)?
Автор: Setuper 20.5.2009, 3:06
отсортируй по столбцу ip адресов и получишь нужный результат.
Автор: *FoxMalder* 20.5.2009, 12:34
ты издеваешься? на хабе более 2.5к юзеров..
Автор: Setuper 20.5.2009, 13:51
Это ты издеваешься! Сколько бы пользователей не было, сортируешь по ip и прописываешь в поле нужный ip, и остаются только те пользователи, у которых данный ip.
Ты админ, а не умеешь юзать простейшие функции своего клиента!
Автор: *FoxMalder* 20.5.2009, 14:32
я совершенно не про то..
по команде скрипт проверят всех юзеров на хабе на наличие повторяющихся ip и выдает
с таким то ip
сидят такие то ники...
с другим ip
сидят другие ники
теперь понятно?
Автор: Setuper 20.5.2009, 14:53
Теперь понятно. Надо сразу понятно говорить.
Код
function GetDoubles()
local tUsers, tIPs = {}, {}
for k, v in ipairs(Core.GetOnlineUsers()) do
local sIP, sNick = v.sIP, v.sNick
local sUs = tUsers[sIP]
if not sUs then
tUsers[sIP] = sNick
else
tIPs[sIP] = tIPs[sIP] or {}
tIPs[sIP][sUs], tIPs[sIP][sNick] = true, true
end
end
local sMsg = ''
for k, v in pairs(tIPs) do
sMsg = sMsg..("\nip: %s\n"):format(k)
for n in pairs(v) do
sMsg = sMsg..("\t%s\n"):format(n)
end
end
return sMsg
end
Автор: *FoxMalder* 20.5.2009, 14:58
и как он работает? ну уж извините
Автор: Setuper 20.5.2009, 15:10
Код
function ChatArrival(tUser, sData)
if sData:find"%b<> %+getdoubles|" then
Core.SendToUser(tUser, GetDoubles())
end
end
команда: +getdoubles
Автор: *FoxMalder* 20.5.2009, 15:15
а на 1апи?
Автор: Setuper 20.5.2009, 15:58
А про апи1 следует уже забыть)))))
Автор: *FoxMalder* 20.5.2009, 18:17
ну у меня хаб тока апи1 воспринимает)
Автор: Wariner 20.5.2009, 18:27
хватит упрямится! это просто тупость! это всё равно что пользовать 98 винду....
Автор: mariner 20.5.2009, 18:37
Nobody cares, FOX =)
Автор: Артём 20.5.2009, 18:41
что-то оно не работает...
Автор: Setuper 20.5.2009, 18:44
Не работает - значит у тебя на хабе нету ников с одинаковыми ip
Автор: Berkut 20.5.2009, 18:47
Цитата(Wariner @ 20.5.2009, 19:27)
хватит упрямится! это просто тупость! это всё равно что пользовать 98 винду....
Веришь, у меня комп на работе ничего сильнее 98 винды не тянет =)
Автор: Артём 20.5.2009, 18:55
та оно команду в чат пропускает,а работать не работает)))
Автор: *FoxMalder* 20.5.2009, 18:58
Цитата(Wariner @ 20.5.2009, 19:27)
хватит упрямится! это просто тупость! это всё равно что пользовать 98 винду....
я бы с радостью перешел бы на 4 птоку но тогда придется переводить ~40 скриптов а с этим будут большие проблемы
Автор: Setuper 20.5.2009, 19:03
Цитата(Артём @ 20.5.2009, 19:55)
та оно команду в чат пропускает,а работать не работает)))
Ну так напиши return true. Что же все такие беспомощные?
Я не стал писать ради красоты, написал ради реализации!
Автор: Wariner 20.5.2009, 19:04
сколько ты тут сидишь уже давно бы сделал это....
Автор: Setuper 20.5.2009, 19:12
Код
function ChatArrival(tUser, sData)
if sData:find"%b<> %+getdoubles|" then
local s = GetDoubles()
Core.SendToUser(tUser, s~='' and s or "Нет совпадений")
return true
end
end
Автор: *FoxMalder* 20.5.2009, 19:31
Цитата(Wariner @ 20.5.2009, 20:04)
сколько ты тут сидишь уже давно бы сделал это....
ну не приучен я такое делать.. вот если сделать что нибудь руками то эт запросто... а с этим не судьба(
Автор: Артём 20.5.2009, 21:04
как не работал так и не работает.... незнаю может я неправельно его "собрал"
Автор: prapor 21.5.2009, 2:29
Цитата(Артём @ 20.5.2009, 22:04)
как не работал так и не работает.... незнаю может я неправельно его "собрал"
Тож Самое. Ошибок нет, в чат ток команда проходит
Автор: Setuper 21.5.2009, 20:25
Пардон, это моя ошибка.
Не учёл магию
Код
if sData:find"%b<> %+getdoubles|" then
Автор: Артём 21.5.2009, 21:08
Цитата(Setuper @ 21.5.2009, 20:25)
Код
if sData:find"%b<> %+getdoubles|" then
:P а теперь работает)))
ip: 10.27.0.18
Ведьмак
Tipo4ek
ip: 10.8.12.66
sdfsdf
•S-75•
прикольно!
Автор: prapor 21.5.2009, 21:55
Цитата(Setuper @ 21.5.2009, 21:25)
Пардон, это моя ошибка.
Не учёл магию
Код
if sData:find"%b<> %+getdoubles|" then
Я не понял в чем прикол, но скрипт заработал
Автор: Отшельник 8.6.2009, 12:44
2Setuper
А как сделать что бы был поиск определённых IP (.... найти IP\\ ввести опред. IP.... и чтобы показало сколько на запрашуемом IP сидят юзеров)как добавить к скрипту такую функцию?
Автор: Otshelnik-Fm 8.6.2009, 15:41
А вот это бред. справа в клиенте вводишь ip и он показывает кто сидит
Автор: Отшельник 8.6.2009, 17:53
эм..... ну да...)) прогнал немного...