Переделка скриптов, Прошу помощи |
Здравствуйте, гость ( Вход | Регистрация )
Переделка скриптов, Прошу помощи |
24.12.2011, 3:56
Сообщение
#41
|
|
Активный участник Группа: Пользователи Сообщений: 58 Регистрация: 6.2.2010 Из: Россия, г. Волжский Пользователь №: 5 963 Спасибо сказали: 0 раз |
Enyby, спасибо за вразумительный ответ. Попробую как будет время.
|
|
|
24.12.2011, 9:56
Сообщение
#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 |
|
|
24.12.2011, 20:01
Сообщение
#43
|
|
7 квадратиков Группа: Модераторы Сообщений: 793 Регистрация: 21.1.2009 Пользователь №: 1 895 Спасибо сказали: 301 раз |
Проверил с ip-to-country.csv. Работать не будет. Причина проста - соответствие аббревиатур и их расшифровок жестко зашиты в PtokaX. Жаль, что мы так и не услышали начальника транспортного цеха. А ведь на предыдущей странице я про это писал. И про костыльное решение проблемы. |
|
|
24.12.2011, 20:34
Сообщение
#44
|
|
Освоившийся участник Группа: Пользователи Сообщений: 391 Регистрация: 4.11.2009 Из: Дом Пользователь №: 4 923 Спасибо сказали: 239 раз |
Дело в том, что оно не будет работать, даже если использовать существующие страны. Т. е. "IS" - это Island вне зависимости от того, что нарисовано в CSV файле. Можно извратится и сделать массив трансляций вида "Island" => "Провайдер", но тогда уже лучше вышепоказаный скрипт.
|
|
|
24.12.2011, 23:41
Сообщение
#45
|
|
Наруто на аваторке Группа: Пользователи Сообщений: 2 606 Регистрация: 11.10.2008 Из: Харькова Пользователь №: 771 Спасибо сказали: 774 раза |
А я выше давал скрипт уже готовый, который при входе показывает
456.JPG ( 13.79 килобайт ) Кол-во скачиваний: 80 но ТС проигнорировал его... |
|
|
25.12.2011, 23:31
Сообщение
#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 бестолку =) А за код спасибо, но проверю его работоспособность позже, просто сейчас вылезла другая проблема с хабом, начал виснуть... Не пойму в чём причина. А я выше давал скрипт уже готовый, который при входе показывает 456.JPG ( 13.79 килобайт ) Кол-во скачиваний: 80 но ТС проигнорировал его... Спасибо, но Ваш вариант не катит, т. к. на компьютере на котором стоит хаб не установлен ДЦ клиент, а в скрипте, я так понял, необходимо указать путь к файлу CustomLocalization, а раз клиента нет, то и смысла нету в скрипте... |
|
|
26.12.2011, 2:11
Сообщение
#47
|
|
Наруто на аваторке Группа: Пользователи Сообщений: 2 606 Регистрация: 11.10.2008 Из: Харькова Пользователь №: 771 Спасибо сказали: 774 раза |
Fe(one)X, да причём здесь клиент, файл/базу провайдеров можно хоть в папку с скриптами положить, это уже без разницы где он будет лежать и без клиента работать будет, у меня стоял такой путь, из-за того что флай 5хх автообновляемый и база обновляется...
ну да ладно, дело хозяйское, сиди в ожидание чуда... |
|
|
26.12.2011, 15:04
Сообщение
#48
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
Артём, он бесподобен!
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последнее сообщение | |
---|---|---|---|---|---|
ВАЖНО: Вопросы Разработчикам Скриптов вопросы по скриптам (мелкие вопросы) |
1 049 | Wariner | 988 938 | 3.2.2019, 12:51 Посл. сообщение: MIKHAIL | |
ВАЖНО: Модули для скриптов RusHub | 26 | Setuper | 45 297 | 21.3.2017, 17:31 Посл. сообщение: Alexey | |
От: Вопросы Разработчикам Скриптов От темы с ID: 173 |
0 | MIKHAIL | 4 329 | 23.1.2015, 0:56 Посл. сообщение: MIKHAIL | |
От: Установка скриптов От темы с ID: 5657 |
0 | MIKHAIL | 4 795 | 29.7.2014, 23:37 Посл. сообщение: MIKHAIL | |
Установка скриптов Нужна помощь по установке |
2 | _wRz_ | 7 307 | 29.7.2014, 16:11 Посл. сообщение: Артём | |
От: Вопросы Разработчикам Скриптов От темы с ID: 173 |
29 | Wariner | 25 937 | 28.1.2014, 13:11 Посл. сообщение: Alexey | |
Единая платформа для скриптов Обсуждения вопроса создания единой платформы скриптов |
5 | Enyby | 9 032 | 18.1.2012, 20:15 Посл. сообщение: Setuper | |
Вопросы Разработчикам Скриптов с SQL вопросы по скриптам (мелкие вопросы) |
101 | Wariner | 62 148 | 6.12.2011, 0:34 Посл. сообщение: Enyby | |
ВАЖНО: Метод Быстрого Перевода Скриптов Под API_1 Самостоятельный быстрый перевод из API_2 ---> в API_1 |
30 | Setuper | 51 136 | 14.8.2011, 21:16 Посл. сообщение: Олешка | |
От: Переделка скриптов От темы с ID: 4941 |
6 | Ksan | 9 663 | 12.8.2011, 11:33 Посл. сообщение: Ksan | |
ВАЖНО: Запросы Скриптов Ваши идеи по разработке скриптов под HeXHuB |
36 | Setuper | 49 234 | 16.5.2011, 9:40 Посл. сообщение: ANDRBEST | |
Документация DBHub - Написание скриптов на Perl | 0 | Артём | 7 662 | 20.10.2010, 18:08 Посл. сообщение: Артём | |
Заготовки скриптов для PtokaX Делимся болванками скриптов |
4 | alex82 | 11 731 | 11.10.2010, 2:49 Посл. сообщение: alex82 | |
ВАЖНО: Запросы Скриптов | 6 | njnj | 13 599 | 3.7.2010, 8:45 Посл. сообщение: Accelerator | |
От: Вопросы Разработчикам Скриптов От темы с ID: 173 |
0 | Alexey | 3 220 | 29.6.2010, 15:11 Посл. сообщение: Alexey |
|
Сейчас: 23.11.2024, 8:41 |