Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

MyDC.ru _ Готовые скрипты для PtokaX _ Название Сети В Описании Юзера

Автор: e-ploko 6.8.2008, 14:36

скрипт приписывает к описанию юзеров название сети.
переведите пожалуйста под api2

 IPtoTag_Desc.lua ( 8.03 килобайт ) : 496
 

Автор: Fodin 6.8.2008, 15:29

Цитата(e-ploko @ 6.8.2008, 22:36) *
скрипт приписывает написанию юзеров название сети.
переведите пожалуйста под api2

Неправильный, на мой взгляд, подход. Ресурсоемкий слишком. Проще при входе проверять юзера на адрес, и не пускать, пока в инфо (или в нике) не напишет требуемое.

Автор: e-ploko 6.8.2008, 15:31

Цитата(Fodin @ 6.8.2008, 20:29) *
Неправильный, на мой взгляд, подход. Ресурсоемкий слишком. Проще при входе проверять юзера на адрес, и не пускать, пока в инфо (или в нике) не напишет требуемое.

Да у меня 13 сетей на хабе сидит. Между некоторыми платный трафик, между другими бесплатный. Описание необходимо чтобы юзер знал с кого тянет...

Автор: Fodin 6.8.2008, 15:45

Цитата(e-ploko @ 6.8.2008, 23:31) *
Да у меня 13 сетей на хабе сидит. Между некоторыми платный трафик, между другими бесплатный. Описание необходимо чтобы юзер знал с кого тянет...

А у нас в сети скорость между подсетями совсем разная. Если в одной подсети с юзером сидишь - 100Мбит, если в разных - плавает от низкой до очень низкой. Поэтому я каждому юзеру прилепил префиксы именно так, как написал выше. Вот кусок кода:
function UserConnected(sUser)
if (string.sub(sUser.sIP, 1, 8) == "93.188.8") then -- если сеть 93.188.8*.*
if (string.sub(sUser.sIP,9,9)=="0" and string.sub(sUser.sNick,1,3)~="[a]") then --если подсеть 93.188.80.*
Core.SendToNick(sUser.sNick, "Ник для адреса "..sUser.sIP.." должен начинаться с префикса [a], например: [a]"..sUser.sNick..".")
Core.Disconnect(sUser)
end
end
end
И все вопросы решились махом. Все все видят. А описание мало поможет не качать с платных. Когда клиент находит альтернативные источники, ему плевать, какое у юзера майинфо. Тут либо юзеры должны сами фильтры ставить по адресам, либо писать скрипт, который бы давал возможность поставить запрет качать у платников.

Автор: e-ploko 6.8.2008, 18:26

Цитата(Fodin @ 6.8.2008, 20:45) *
А у нас в сети скорость между подсетями совсем разная. Если в одной подсети с юзером сидишь - 100Мбит, если в разных - плавает от низкой до очень низкой. Поэтому я каждому юзеру прилепил префиксы именно так, как написал выше. Вот кусок кода:
function UserConnected(sUser)
if (string.sub(sUser.sIP, 1, 8) == "93.188.8") then -- если сеть 93.188.8*.*
if (string.sub(sUser.sIP,9,9)=="0" and string.sub(sUser.sNick,1,3)~="[a]") then --если подсеть 93.188.80.*
Core.SendToNick(sUser.sNick, "Ник для адреса "..sUser.sIP.." должен начинаться с префикса [a], например: [a]"..sUser.sNick..".")
Core.Disconnect(sUser)
end
end
end
И все вопросы решились махом. Все все видят. А описание мало поможет не качать с платных. Когда клиент находит альтернативные источники, ему плевать, какое у юзера майинфо. Тут либо юзеры должны сами фильтры ставить по адресам, либо писать скрипт, который бы давал возможность поставить запрет качать у платников.

Сети разделены силами самого хаба. Но адреса частенько меняются. Народ юзает простой клиент дс, который не ищет альтернативы. Кроме того до этого скрипта на хабе чуть ли не каждые 3 минуты был вопрос: "А ты с какой сети...?", или "а как проверить за деньги или нет?.."
Так что в моем случае без него никак ;) вот и прошу умельцев.. Может кому еще пригодится...

Короче ребят начитавшись мануалов перевёл сам ;) выкладываю свое творение со своими сетями.. Мб кому пригодится...

 krs_ix.lua ( 7.42 килобайт ) : 236
 

Автор: e-ploko 7.8.2008, 11:26

После 5 мин работы выкидывает вот такое чудо: Синтаксис D:\0.4.1.1\scripts\krs-ix.lua:62: attempt to concatenate field '?' (a nil value)
Ребят подскажи или подправьть пожалуйста....

Автор: Fodin 7.8.2008, 15:24

Номер строки какой-то непонятный. Там ведь определение сетей еще идет.

Автор: e-ploko 7.8.2008, 16:01

Короче методом тыков сделал всетаки eyes_droped.gif пришлось пожертвовать профилями юзеров...

 krs_ix.lua ( 8.52 килобайт ) : 177
 

Автор: Fodin 7.8.2008, 17:26

В первом скрипте вот это
tProfileTag = {
[1] = "@",
[3] = "!",
[2] = "V",
[0] = "~",
[-1] = "*"
}
попробуй заменить на
tProfileTag = {
[1] = "@",
[3] = "!",
[2] = "V",
[0] = "~",
[-1] = "*",
[4] = "#",
[5] = "&"
}

Автор: e-ploko 7.8.2008, 17:29

Не совсем понял если честна beat_plaster.gif

Автор: Fodin 7.8.2008, 20:24

Цитата(e-ploko @ 8.8.2008, 1:29) *
Не совсем понял если честна beat_plaster.gif

В том скрипте, который через 5 минут ошибку у тебя выдает замени одно на другое. Сложно понять, что тут может быть непонятно. :-)

Автор: e-ploko 8.8.2008, 7:08

спасибо работает, только я не понял что решили два профиля дописанные ниже, у меня всего 4 профиля в птоке.

Автор: Инкогнито 15.8.2008, 2:47

хм, скриптик полезный, а есть что-то подобное чтобы на две сети диапазоны прописать, а на третью нет, но как-нить ее обовать и все, так сказать по умолчанию

тему вкурил, вопрос снят

Автор: Инкогнито 17.8.2008, 9:49

где-то что-то не так, некотрых пользователей определяет как из другой сети, хотя прописано что принадлежат другой или вообщене вписаны, диапазоны не пересекаются, проверял не единожды, по последнему скрипту еслив что вопросик

Автор: PRIZrak 17.8.2008, 18:03

Пользуюсь скриптом network_desc (для луа 5.1.2), пока проблем не заметил. Скрипт в описании выводит название сети. Нарыл его тута: http://mydc.ru/r/?http://forum.proc.ru (ветку, простите, не помню), автор вроде как тамошний обитатель Fox Mulder

Настройка:

TimeOverWrite = 60 -- time in second -- время в секундах до обновления описания юзера (чем оно больше, тем меньше траифка жрет хаб)

RangeDesc = {
[1]="77.122.32.1-77.122.63.255-KPIX_seg1_dyn",
[2]="82.144.195.1-82.144.196.255-KPIX_seg1_stat",
[3]="82.144.203.1-82.144.203.255-KPIX_seg1_stat",
[4]="77.123.200.1-77.123.207.255-KPIX_seg2_dyn",
[5]="82.144.210.1-82.144.210.255-KPIX_seg2_stat"
} -- Начало-Конец диапазона ИП-адресов и как их отображать в описании

InfoLog = "UserInfo/" -- Create this folder before starting the script -- не забыть создать папку с таким именем в папке со скриптами

if descript == nil then descript = "out" end -- как будут отображаться те, кто не попадают в указанный диапазон.

 network_desc.lua ( 1.81 килобайт ) : 176
 

Автор: Инкогнито 18.8.2008, 22:18

интересненько конечно, но разобрался, потанцевав с бубном так сказать - помогло, просто те диапазоны что не отображались корретно перенес в конец и измени порядковый номер, все ровно теперь работает, почему так произошло - не знаю

Автор: Perspect 12.10.2008, 23:32

Выклвдываю 3 скрипта определения сети, один из которых сейчас работает на моём хабе под PtokaX 0.3.6.0.
Как бы прикрутить его под PtokaX 0.4.1.1 ?
Я не могу перейти на 4 версию птохи именно из за отсутствия этого скрипта. Выручайте.

 Название_сети_в_описании.rar ( 3.1 килобайт ) : 111
 

Автор: Nickolya 13.10.2008, 10:49

Тебе стоит почитать вот эту темку: Пара Скриптов, Скрипты под ptoka 0.4.1.1 feel_good.gif

Автор: PRIZrak 2.3.2009, 23:51

Цитата(PRIZrak @ 17.8.2008, 19:03) *
Пользуюсь скриптом network_desc (для луа 5.1.2), пока проблем не заметил. Скрипт в описании выводит название сети. Нарыл его тута: http://mydc.ru/r/?http://forum.proc.ru (ветку, простите, не помню), автор вроде как тамошний обитатель Fox Mulder...


Может есть такой же простой, как этот скрипт для PtokaX 0.4.1.1? Нужно ТОЛЬКО название сети в описании и всё! Пытался конвертировать этот - не работает :(

Автор: sergius 24.1.2010, 13:36

Можно принудительно добавлять тег пользователю в начало ника в зависимости от IP если все диапазоны извесны?
Спасибо

Автор: Артём 24.1.2010, 15:34

Цитата(sergius @ 24.1.2010, 12:36) *
...тег пользователю в начало ника в зависимости от IP ...

 Prefix_API2.lua ( 2.04 килобайт ) : 45
Держи big_smile.gif , свои диапазоны пропишешь сам
Я тутbig_smile.gif
Код
PreFixEs = {
["triolan"] =
    {
    ["For"] = "10.0.0.0",
    ["To"] = "10.255.255.255",
    },
["triolan"] =
    {
    ["For"] = "80.73.0.0",
    ["To"] = "80.73.255.255",
    },
}

Автор: sergius 24.1.2010, 16:01

И всё же вопрос был как делать это автоматически?

Автор: Nickolya 24.1.2010, 16:05

Изменять ник средствами хаба без вмешательства юзера нельзя никак, а если это и сделать, то это будет через з****цу и файлообмена с таким юзером не будет, так что забудь.

Автор: Setuper 24.1.2010, 16:17

Ник пользователя нельзя менять по протоколу, и вот почему: потому что по протоколу при входе клиент отсылает на хаб свой ник, а хаб должен подтвердить этот ник, и отправить клиенту команду $Hello с его ником. Если хаб отправит в команде $Hello какой-то другой ник, то клиент не будет отправлять на хаб прочие команды, пока не получит команду $Hello со своим ником. Получив команду $Hello со своим ником, клиент считает, что хаб клиента сопоставляет именно с этим ником, и клиент будет посылать этот ник во всех nmdc командах (где это нужно).

Финт ушами возможен в случае hex хаба, где при входе под чужим ником хаб не отключает пользователя, а добавляет к нику какое-то число, ОДНАКО клиенту хаб всё равно отсылает не измененный ник, а в списке пользователей отсылает ещё и измененный. Таким образом, хаб как бы имитирует существование двух пользователей на хабе. Для вас кажется, что хаб вам присвоил ник с цифрой, но для клиента это ни так.
Повторяю, что такой финт ушами возможен только в случае если в списке находится и изменённый ник и реальный ник (получается как бы что под реальным ником на хабе находятся 2 пользователя, на самом деле так оно и есть big_smile.gif ).