myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 
3 страниц V  < 1 2 3  
Ответить в данную темуНачать новую тему

> Переделка скриптов, Прошу помощи

Теги
Нет тегов для показа
Fe(one)X
сообщение 24.12.2011, 3:56
Сообщение #41


Активный участник
***

Группа: Пользователи
Сообщений: 58
Регистрация: 6.2.2010
Из: Россия, г. Волжский
Пользователь №: 5 963
Спасибо сказали: 0 раз




Enyby, спасибо за вразумительный ответ. Попробую как будет время.
Go to the top of the page
+Quote Post
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


Спасибо сказали:
Go to the top of the page
+Quote Post
Alexey
сообщение 24.12.2011, 20:01
Сообщение #43


7 квадратиков
*******

Группа: Модераторы
Сообщений: 793
Регистрация: 21.1.2009
Пользователь №: 1 895
Спасибо сказали: 301 раз




Цитата(Enyby @ 24.12.2011, 10:56) *
Проверил с ip-to-country.csv. Работать не будет. Причина проста - соответствие аббревиатур и их расшифровок жестко зашиты в PtokaX.

Жаль, что мы так и не услышали начальника транспортного цеха. А ведь на предыдущей странице я про это писал. И про костыльное решение проблемы.
Go to the top of the page
+Quote Post
Enyby
сообщение 24.12.2011, 20:34
Сообщение #44


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 391
Регистрация: 4.11.2009
Из: Дом
Пользователь №: 4 923
Спасибо сказали: 239 раз




Дело в том, что оно не будет работать, даже если использовать существующие страны. Т. е. "IS" - это Island вне зависимости от того, что нарисовано в CSV файле. Можно извратится и сделать массив трансляций вида "Island" => "Провайдер", но тогда уже лучше вышепоказаный скрипт.
Go to the top of the page
+Quote Post
Артём
сообщение 24.12.2011, 23:41
Сообщение #45


Наруто на аваторке
***********

Группа: Пользователи
Сообщений: 2 606
Регистрация: 11.10.2008
Из: Харькова
Пользователь №: 771
Спасибо сказали: 773 раза




А я выше давал скрипт уже готовый, который при входе показывает
Прикрепленный файл  456.JPG ( 13.79 килобайт ) Кол-во скачиваний: 80

но ТС проигнорировал его... bad_smile.gif
Go to the top of the page
+Quote Post
Fe(one)X
сообщение 25.12.2011, 23:31
Сообщение #46


Активный участник
***

Группа: Пользователи
Сообщений: 58
Регистрация: 6.2.2010
Из: Россия, г. Волжский
Пользователь №: 5 963
Спасибо сказали: 0 раз




Цитата(Enyby @ 24.12.2011, 10:56) *
Проверил с 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 бестолку =)
А за код спасибо, но проверю его работоспособность позже, просто сейчас вылезла другая проблема с хабом, начал виснуть... Не пойму в чём причина.

Цитата(Артём @ 25.12.2011, 0:41) *
А я выше давал скрипт уже готовый, который при входе показывает
Прикрепленный файл  456.JPG ( 13.79 килобайт ) Кол-во скачиваний: 80

но ТС проигнорировал его... bad_smile.gif

Спасибо, но Ваш вариант не катит, т. к. на компьютере на котором стоит хаб не установлен ДЦ клиент, а в скрипте, я так понял, необходимо указать путь к файлу CustomLocalization, а раз клиента нет, то и смысла нету в скрипте...
Go to the top of the page
+Quote Post
Артём
сообщение 26.12.2011, 2:11
Сообщение #47


Наруто на аваторке
***********

Группа: Пользователи
Сообщений: 2 606
Регистрация: 11.10.2008
Из: Харькова
Пользователь №: 771
Спасибо сказали: 773 раза




Fe(one)X, да причём здесь клиент, файл/базу провайдеров можно хоть в папку с скриптами положить, это уже без разницы где он будет лежать и без клиента работать будет, у меня стоял такой путь, из-за того что флай 5хх автообновляемый и база обновляется...
ну да ладно, дело хозяйское, сиди в ожидание чуда... bad_smile.gif
Go to the top of the page
+Quote Post
Ksan
сообщение 26.12.2011, 15:04
Сообщение #48


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 723
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 657 раз




Артём, он бесподобен! big_smile.gif
Go to the top of the page
+Quote Post

3 страниц V  < 1 2 3
Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

Collapse

> Похожие темы

  Тема Ответов Автор Просмотров Последнее сообщение
No New Posts ВАЖНО: Topic has attachmentsВопросы Разработчикам Скриптов
вопросы по скриптам (мелкие вопросы)
1 049 Wariner 930 032 3.2.2019, 12:51 Посл. сообщение: MIKHAIL
No new ВАЖНО: Topic has attachmentsМодули для скриптов RusHub
26 Setuper 43 214 21.3.2017, 17:31 Посл. сообщение: Alexey
No New Posts От: Вопросы Разработчикам Скриптов
От темы с ID: 173
0 MIKHAIL 4 008 23.1.2015, 0:56 Посл. сообщение: MIKHAIL
No New Posts От: Установка скриптов
От темы с ID: 5657
0 MIKHAIL 4 460 29.7.2014, 23:37 Посл. сообщение: MIKHAIL
No New Posts Установка скриптов
Нужна помощь по установке
2 _wRz_ 6 783 29.7.2014, 16:11 Посл. сообщение: Артём
No new От: Вопросы Разработчикам Скриптов
От темы с ID: 173
29 Wariner 24 330 28.1.2014, 13:11 Посл. сообщение: Alexey
No New Posts Единая платформа для скриптов
Обсуждения вопроса создания единой платформы скриптов
5 Enyby 8 415 18.1.2012, 20:15 Посл. сообщение: Setuper
No new Topic has attachmentsВопросы Разработчикам Скриптов с SQL
вопросы по скриптам (мелкие вопросы)
101 Wariner 56 946 6.12.2011, 0:34 Посл. сообщение: Enyby
No new ВАЖНО: Topic has attachmentsМетод Быстрого Перевода Скриптов Под API_1
Самостоятельный быстрый перевод из API_2 ---> в API_1
30 Setuper 49 258 14.8.2011, 21:16 Посл. сообщение: Олешка
No New Posts От: Переделка скриптов
От темы с ID: 4941
6 Ksan 9 048 12.8.2011, 11:33 Посл. сообщение: Ksan
No new ВАЖНО: Запросы Скриптов
Ваши идеи по разработке скриптов под HeXHuB
36 Setuper 46 883 16.5.2011, 9:40 Посл. сообщение: ANDRBEST
No New Posts Документация DBHub - Написание скриптов на Perl
0 Артём 7 331 20.10.2010, 18:08 Посл. сообщение: Артём
No New Posts Topic has attachmentsЗаготовки скриптов для PtokaX
Делимся болванками скриптов
4 alex82 11 179 11.10.2010, 2:49 Посл. сообщение: alex82
No New Posts ВАЖНО: Запросы Скриптов
6 njnj 13 000 3.7.2010, 8:45 Посл. сообщение: Accelerator
No New Posts От: Вопросы Разработчикам Скриптов
От темы с ID: 173
0 Alexey 2 972 29.6.2010, 15:11 Посл. сообщение: Alexey

 



RSS Сейчас: 28.3.2024, 21:33