|
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
![]()
Сообщение
#41
|
|
![]() Активный участник ![]() ![]() ![]() Группа: Пользователи Сообщений: 58 Регистрация: 6.2.2010 Из: Россия, г. Волжский Пользователь №: 5 963 Спасибо сказали: 0 раз ![]() |
Enyby, спасибо за вразумительный ответ. Попробую как будет время.
|
|
|
![]()
Сообщение
#42
|
|
![]() Освоившийся участник ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 391 Регистрация: 4.11.2009 Из: Дом Пользователь №: 4 923 Спасибо сказали: 239 раз ![]() |
Проверил с ip-to-country.csv. Работать не будет. Причина проста - соответствие аббревиатур и их расшифровок жестко зашиты в PtokaX.
Тогда только второй вариант. Например так: Код tDiaps = {
{"192.168.0.1", "192.168.0.255", "ISP 1"}, {"192.168.32.1", "192.168.32.255", "ISP 2"}, {"192.168.34.1", "192.168.34.255", "ISP 2"}, {"10.0.0.1", "10.0.50.255", "Corbina"}, {"127.0.0.1", "127.255.255.255", "Loopback"}, } function OnStartup() for _, tDiap in ipairs(tDiaps) do tDiap[4] = ipToLong(tDiap[1]) tDiap[5] = ipToLong(tDiap[2]) end end function getDiapName(sIP) local iIP = ipToLong(sIP) for _, tDiap in ipairs(tDiaps) do if tDiap[4] <= iIP and iIP <= tDiap[5] then return tDiap[3] end end return "Unknown" end function ipToLong(sIP) local _, _, iFirst, iSecond, iThird, iFourth = sIP:find("^(%d+)%.(%d+)%.(%d+)%.(%d+)$") return ((iFirst*256 + iSecond)*256 + iThird)*256 + iFourth end function UserConnected(tUser) local Profile = (ProfMan.GetProfile(tUser.iProfile) and ProfMan.GetProfile(tUser.iProfile).sProfileName) or "Guest" Core.SendToUser(tUser,"\n[::] Информация: \n[::] : Ник " ..tUser.sNick.." \n[::] Класс : "..Profile.." ("..tUser.iProfile..") \n[::] Ваш ip: "..tUser.sIP.." \n[::] Провайдер: "..getDiapName(tUser.sIP).."\n") end RegConnected = UserConnected OpConnected = UserConnected |
|
|
![]()
Сообщение
#43
|
|
![]() 7 квадратиков ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 793 Регистрация: 21.1.2009 Пользователь №: 1 895 Спасибо сказали: 301 раз ![]() |
Проверил с ip-to-country.csv. Работать не будет. Причина проста - соответствие аббревиатур и их расшифровок жестко зашиты в PtokaX. Жаль, что мы так и не услышали начальника транспортного цеха. А ведь на предыдущей странице я про это писал. И про костыльное решение проблемы. |
|
|
![]()
Сообщение
#44
|
|
![]() Освоившийся участник ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 391 Регистрация: 4.11.2009 Из: Дом Пользователь №: 4 923 Спасибо сказали: 239 раз ![]() |
Дело в том, что оно не будет работать, даже если использовать существующие страны. Т. е. "IS" - это Island вне зависимости от того, что нарисовано в CSV файле. Можно извратится и сделать массив трансляций вида "Island" => "Провайдер", но тогда уже лучше вышепоказаный скрипт.
|
|
|
![]()
Сообщение
#45
|
|
![]() Наруто на аваторке ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 2 606 Регистрация: 11.10.2008 Из: Харькова Пользователь №: 771 Спасибо сказали: 774 раза ![]() |
А я выше давал скрипт уже готовый, который при входе показывает
![]() но ТС проигнорировал его... ![]() |
|
|
![]()
Сообщение
#46
|
|
![]() Активный участник ![]() ![]() ![]() Группа: Пользователи Сообщений: 58 Регистрация: 6.2.2010 Из: Россия, г. Волжский Пользователь №: 5 963 Спасибо сказали: 0 раз ![]() |
Проверил с ip-to-country.csv. Работать не будет. Причина проста - соответствие аббревиатур и их расшифровок жестко зашиты в PtokaX. Тогда только второй вариант. Например так: Код tDiaps = { {"192.168.0.1", "192.168.0.255", "ISP 1"}, {"192.168.32.1", "192.168.32.255", "ISP 2"}, {"192.168.34.1", "192.168.34.255", "ISP 2"}, {"10.0.0.1", "10.0.50.255", "Corbina"}, {"127.0.0.1", "127.255.255.255", "Loopback"}, } function OnStartup() for _, tDiap in ipairs(tDiaps) do tDiap[4] = ipToLong(tDiap[1]) tDiap[5] = ipToLong(tDiap[2]) end end function getDiapName(sIP) local iIP = ipToLong(sIP) for _, tDiap in ipairs(tDiaps) do if tDiap[4] <= iIP and iIP <= tDiap[5] then return tDiap[3] end end return "Unknown" end function ipToLong(sIP) local _, _, iFirst, iSecond, iThird, iFourth = sIP:find("^(%d+)%.(%d+)%.(%d+)%.(%d+)$") return ((iFirst*256 + iSecond)*256 + iThird)*256 + iFourth end function UserConnected(tUser) local Profile = (ProfMan.GetProfile(tUser.iProfile) and ProfMan.GetProfile(tUser.iProfile).sProfileName) or "Guest" Core.SendToUser(tUser,"\n[::] Информация: \n[::] : Ник " ..tUser.sNick.." \n[::] Класс : "..Profile.." ("..tUser.iProfile..") \n[::] Ваш ip: "..tUser.sIP.." \n[::] Провайдер: "..getDiapName(tUser.sIP).."\n") end RegConnected = UserConnected OpConnected = UserConnected Спасибо, что предупредили, а то сидел бы сейчас и правил этот ip-to-country.csv бестолку =) А за код спасибо, но проверю его работоспособность позже, просто сейчас вылезла другая проблема с хабом, начал виснуть... Не пойму в чём причина. А я выше давал скрипт уже готовый, который при входе показывает ![]() но ТС проигнорировал его... ![]() Спасибо, но Ваш вариант не катит, т. к. на компьютере на котором стоит хаб не установлен ДЦ клиент, а в скрипте, я так понял, необходимо указать путь к файлу CustomLocalization, а раз клиента нет, то и смысла нету в скрипте... |
|
|
![]()
Сообщение
#47
|
|
![]() Наруто на аваторке ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 2 606 Регистрация: 11.10.2008 Из: Харькова Пользователь №: 771 Спасибо сказали: 774 раза ![]() |
Fe(one)X, да причём здесь клиент, файл/базу провайдеров можно хоть в папку с скриптами положить, это уже без разницы где он будет лежать и без клиента работать будет, у меня стоял такой путь, из-за того что флай 5хх автообновляемый и база обновляется...
ну да ладно, дело хозяйское, сиди в ожидание чуда... ![]() |
|
|
![]()
Сообщение
#48
|
|
![]() Белый Волк ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз ![]() |
Артём, он бесподобен!
![]() |
|
|
![]() ![]() |
Похожие темы
Тема | Ответов | Автор | Просмотров | Последнее сообщение | |
---|---|---|---|---|---|
![]() |
ВАЖНО: ![]() вопросы по скриптам (мелкие вопросы) |
1 049 | Wariner | 1 006 957 | 3.2.2019, 12:51 Посл. сообщение: MIKHAIL |
![]() |
ВАЖНО: ![]() |
26 | Setuper | 45 850 | 21.3.2017, 17:31 Посл. сообщение: Alexey |
![]() |
От: Вопросы Разработчикам Скриптов От темы с ID: 173 |
0 | MIKHAIL | 4 417 | 23.1.2015, 0:56 Посл. сообщение: MIKHAIL |
![]() |
От: Установка скриптов От темы с ID: 5657 |
0 | MIKHAIL | 4 886 | 29.7.2014, 23:37 Посл. сообщение: MIKHAIL |
![]() |
Установка скриптов Нужна помощь по установке |
2 | _wRz_ | 7 422 | 29.7.2014, 16:11 Посл. сообщение: Артём |
![]() |
От: Вопросы Разработчикам Скриптов От темы с ID: 173 |
29 | Wariner | 26 448 | 28.1.2014, 13:11 Посл. сообщение: Alexey |
![]() |
Единая платформа для скриптов Обсуждения вопроса создания единой платформы скриптов |
5 | Enyby | 9 196 | 18.1.2012, 20:15 Посл. сообщение: Setuper |
![]() |
![]() вопросы по скриптам (мелкие вопросы) |
101 | Wariner | 63 653 | 6.12.2011, 0:34 Посл. сообщение: Enyby |
![]() |
ВАЖНО: ![]() Самостоятельный быстрый перевод из API_2 ---> в API_1 |
30 | Setuper | 51 715 | 14.8.2011, 21:16 Посл. сообщение: Олешка |
![]() |
От: Переделка скриптов От темы с ID: 4941 |
6 | Ksan | 9 860 | 12.8.2011, 11:33 Посл. сообщение: Ksan |
![]() |
ВАЖНО: Запросы Скриптов Ваши идеи по разработке скриптов под HeXHuB |
36 | Setuper | 50 182 | 16.5.2011, 9:40 Посл. сообщение: ANDRBEST |
![]() |
Документация DBHub - Написание скриптов на Perl | 0 | Артём | 7 765 | 20.10.2010, 18:08 Посл. сообщение: Артём |
![]() |
![]() Делимся болванками скриптов |
4 | alex82 | 11 893 | 11.10.2010, 2:49 Посл. сообщение: alex82 |
![]() |
ВАЖНО: Запросы Скриптов | 6 | njnj | 13 811 | 3.7.2010, 8:45 Посл. сообщение: Accelerator |
![]() |
От: Вопросы Разработчикам Скриптов От темы с ID: 173 |
0 | Alexey | 3 289 | 29.6.2010, 15:11 Посл. сообщение: Alexey |
![]() |
Сейчас: 17.2.2025, 6:36 |