|
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
![]()
Сообщение
#1
|
|
![]() Продвинутый участник ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 136 Регистрация: 16.9.2008 Пользователь №: 545 Спасибо сказали: 1 раз ![]() |
Помогите упростить этот скрипт. Нужно чтобы он абсолютно всем пользователям какие на хабе добовлял в описание "Локальные сети".
В этом случае функции расчета IP и другие ненужные в данном случае ф-ции необходимо убрать, чтобы они не создавали лишнюю нагрузку на хаб. Мне надо подчеркнуть этим скриптом что хаб у меня полностью внутрисетевой, вот что ...
Прикрепленные файлы
|
|
|
![]()
Сообщение
#2
|
|
![]() Освоившийся участник ![]() ![]() ![]() ![]() ![]() Группа: Администраторы Сообщений: 344 Регистрация: 2.6.2008 Из: RB,Ufa Пользователь №: 8 Спасибо сказали: 106 раз ![]() |
расчет необходим для установления принадлежности к диапазону .. выкладываю код, при входе почему то не меняется описание хотя вроде все правильно, черт его знает мозг в 5 утра варит плохо, попробуй пока это
CODE local _G = _G local tScript = {} tScript.iTimer = 60 -- время в секундах tScript.tProfileTag = { [1] = "[Оператор]", [2] = "[VIP]", [3] = "", [0] = "[Мастер]", [-1] = "", } tScript.RangeDesc = { "192.168.0.0-192.168.255.255-[Локальные Сети]" } function OnStartup() TmrMan.AddTimer(tScript.iTimer * 1000, "OnTimer") end function OnTimer() for id,tUser in pairs(Core.GetOnlineUsers(true)) do if tUser.sMyInfoString ~= nil then local userip = tScript.calcip(tUser.sIP) if userip ~= 0 then for index,descIP in pairs(tScript.RangeDesc) do local _,_,startRange,endRange,RangeDescript = string.find(descIP, "(.*)-(.*)-(.*)") local startRange = tScript.calcip(startRange) local endRange = tScript.calcip(endRange) if userip >= startRange and userip <= endRange then descript = RangeDescript end end if descript == nil then descript = "[Внешние сети]" end end local s,e,name,desc,speed,email,share = string.find(tUser.sMyInfoString, "$MyINFO $ALL (%S+)%s+([^$]*)$ $([^$]*)$([^$]*)$([^$]+)") Core.SendToAll("$MyINFO $ALL "..name.." "..tScript.tProfileTag[tUser.iProfile].." "..descript.." "..desc.."$ $"..speed.."$"..email.."$"..share.."$") end end end function UserConnected(tUser, sData) Core.GetUserAllData(tUser) if tUser.sMyInfoString ~= nil then local userip = tScript.calcip(tUser.sIP) if userip ~= 0 then for index,descIP in pairs(tScript.RangeDesc) do local _,_,startRange,endRange,RangeDescript = string.find(descIP, "(.*)-(.*)-(.*)") local startRange = tScript.calcip(startRange) local endRange = tScript.calcip(endRange) if userip >= startRange and userip <= endRange then descript = RangeDescript end end if descript == nil then descript = "[Внешние сети]" end end Core.SendToAll(descript) local s,e,name,desc,speed,email,share = string.find(tUser.sMyInfoString, "$MyINFO $ALL (%S+)%s+([^$]*)$ $([^$]*)$([^$]*)$([^$]+)") Core.SendToAll("$MyINFO $ALL "..name.." "..tScript.tProfileTag[tUser.iProfile].." "..descript.." "..desc.."$ $"..speed.."$"..email.."$"..share.."$|") end end OpConnected = UserConnected RegConnected = UserConnected function tScript.calcip(ipcalc) local _,_,a,b,c,d = string.find(ipcalc, "(%d+).(%d+).(%d+).(%d+)") local calc = 0 if (tonumber(a) and tonumber(b) and tonumber© and tonumber(d)) then calc = a*16777216 + b*65536 + c*256 + d return calc else return 0 end end |
|
|
![]()
Сообщение
#3
|
|
![]() Продвинутый участник ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 136 Регистрация: 16.9.2008 Пользователь №: 545 Спасибо сказали: 1 раз ![]() |
да нет все меняеться, просто надо немного подождать. А функции рассчета IP и тд в моем случае лишние т к у меня на хабе только 1 сеть других никаких нет. Надеюсь этот вариант скрипта упрощен в этом плане и будет меньше грузить хаб.
Заметил щас такой косяк. Почему то описание сети хреначит в чат [13:23:38] [Локальные сети] [13:23:44] [Локальные сети] [13:23:45] [Локальные сети] |
|
|
![]()
Сообщение
#4
|
|
![]() Освоившийся участник ![]() ![]() ![]() ![]() ![]() Группа: Администраторы Сообщений: 344 Регистрация: 2.6.2008 Из: RB,Ufa Пользователь №: 8 Спасибо сказали: 106 раз ![]() |
Прошу прощения, для дебага выводил это сообщение, убрать забыл. Если вариант "немного подождать" устраивает то вот.
![]() |
|
|
![]()
Сообщение
#5
|
|
![]() Продвинутый участник ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 136 Регистрация: 16.9.2008 Пользователь №: 545 Спасибо сказали: 1 раз ![]() |
Прошу прощения, для дебага выводил это сообщение, убрать забыл. Если вариант "немного подождать" устраивает то вот. ![]() спасибо, пока норм работает. |
|
|
![]() ![]() |
Похожие темы
![]() |
Сейчас: 8.9.2024, 2:47 |