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

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

MyDC.ru _ Kорзина _ Приставка Сети Перед Ником

Автор: Derk_B_P 2.4.2009, 22:02

PtokaX 0.4.1.1

Скорее всего, что такой скрипт существует. Но, на форуме, к сожалению, не нашёл.

Нужен скрипт, который будет добавлять приставку к нику / описанию.

Например, к нику: [Network_1]Derk_B_P
Или же в описании: [Network_1]

Network_1, 2 и т.д. задаются в конфиге.

Network_1 - from 10.10.0.0 to 10.10.255.255

Автор: Wariner 2.4.2009, 22:12

скрипт задающий сеть в описание на форуме присутствует в нескольких экземплярах! юзаем поиск!

Автор: Derk_B_P 2.4.2009, 22:41

Да, поспешил я. Таки есть.

Скачал этот скрипт - http://mydc.ru/topic409.html?view=findpost&p=3147

Всё работает.

Но когда я включил (1):

Код
-- Будет ли описание полсе тега (1), либо в описании будет только тег (0)
bIsFuuDescr = 1


Вылетает ошибка:
Код
[22:40] Синтаксис ...r_\PtokaX_0.4.1.1\scripts\Description_Network.lua:200: attempt to concatenate field 'sDescription' (a nil value)

Автор: Derk_B_P 4.4.2009, 17:05

Господа, помогите с вышеописанной проблемой.

Автор: Wariner 4.4.2009, 20:32

дописываешь в конец скрипта вот эту функцию http://mydc.ru/ipb.html?s=&showtopic=334&view=findpost&p=9085 и дописываешь следующее:

Код
function ReBuilMyINFO(curUser)
        curUser = GetNormalValue(curUser)
    local descript, userip = nil, CalcIP(curUser.sIP)

Автор: Derk_B_P 4.4.2009, 21:30

Скопипастил в конец скрипта http://mydc.ru/ipb.html?s=&showtopic=334&view=findpost&p=9085 функцию и эту

Цитата
function ReBuilMyINFO(curUser)
curUser = GetNormalValue(curUser)
local descript, userip = nil, CalcIP(curUser.sIP)
end


В function UserConnected(curUser) дописал tUser=GetNormalValue(tUser)

Вот какая ошибка:

Код
[21:24] Синтаксис ...r_\PtokaX_0.4.1.1\scripts\Description_Network.lua:301: attempt to index field 'sDescription' (a nil value)


Теперь, даже если bIsFuuDescr = 0, скрипт отказываеться работать.

Сам скрипт ниже.

 Description_Network.rar ( 2.56 килобайт ) : 11
 

Автор: Wariner 4.4.2009, 21:38

перечитай мой предыдущий пост и подумай что сделал не так

Автор: Derk_B_P 4.4.2009, 22:29

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

Цитата(Wariner @ 4.4.2009, 21:38) *
перечитай мой предыдущий пост и подумай что сделал не так


Кинул две функции в конец скрипта. Но ничего не изменилось. Так же материться.

Автор: Nickolya 4.4.2009, 22:45

Ну хватит, не ругайтесь big_smile.gif Ошибка твоя в том, что первую ф-цию и вправду надо в конец записать скрипта, а вот вторую надо просто найти в самом теле скрипта и уже там добавить 1 строку, как показал Wariner.

Илюх, будь лояльнее, если задолбался - немного расслабься и отдохни. sweet_kiss.gif

Автор: Wariner 4.4.2009, 23:31

итак по этапам:
1) пишешь в конец скрипта следующие строки

Код
function GetNormalValue(tUser)
  if not tUser.sTag then
    local sDescription,sTag,sClient,sClientVersion,sMode,iNormalHubs,iRegHubs,iOpHubs,iSlots,iLlimit = tUser.sDescription:match"(.*)(<(.+)%sV?:?(.-),M:(.-),H:(%d+)/(%d+)/(%d+),S:(%d+)>)$"
    if not sDescription then
      sDescription,sTag,sClient,sClientVersion,sMode,iNormalHubs,iRegHubs,iOpHubs,iSlots,iLlimit = tUser.sDescription:match"(.*)(<(.+)%sV?:?(.-),M:(.-),H:(%d+)/(%d+)/(%d+),S:(%d+),L:(%d+)>)$"
    end
    if not sDescription then
      sDescription,sTag,sClient,sClientVersion,sMode,iNormalHubs,iRegHubs,iOpHubs,iSlots,iLlimit = tUser.sDescription:match"(.*)(<(.+)%sV?:?(.-),M:(.-),H:(%d+)/(%d+)/(%d+),S:(%d+),B:(%d+)>)$"
    end
    tUser.sDescription=sDescription
    tUser.sTag=sTag
    tUser.sClient=sClient
    tUser.sClientVersion=sClientVersion
    tUser.sMode=sMode
    tUser.iNormalHubs=iNormalHubs
    tUser.iRegHubs=iRegHubs
    tUser.iOpHubs=iOpHubs
    tUser.iHubs=iNormalHubs and iRegHubs and iOpHubs and (iNormalHubs + iRegHubs + iOpHubs)
    tUser.iSlots=iSlots
    tUser.iLlimit=iLlimit
  end
  return tUser
end


2) находишь строку
Код
function ReBuilMyINFO(curUser)

и после неё пишешь
Код
curUser = GetNormalValue(curUser)

Всё! ничего в функции UserConnected менять не надо!!!

Цитата(Nickolya @ 4.4.2009, 23:45) *
Илюх, будь лояльнее, если задолбался - немного расслабься и отдохни. sweet_kiss.gif

есть бос)))))

Автор: Derk_B_P 5.4.2009, 0:00

Мне жутко не удобно) Но, даже после детального описания ув. Wariner, скрипт не заработал.

Цитата
[23:58] Синтаксис ...okaX_0.4.1.1\scripts\Description_Network_orig.lua:301: attempt to index field 'sDescription' (a nil value)


Скрипт ниже.

 Description_Network_orig.rar ( 2.87 килобайт ) : 9
 

Автор: Setuper 5.4.2009, 0:13

Ошибка в функции:

Код
function OverWrite(curUser)
  local tableover = Core.GetOnlineUsers() or {}
  for i, Userover in pairs(tableover) do
    Core.GetUserAllData(Userover)
    local sNewMyINFO = ReBuilMyINFO(Userover)
    Core.SendToUser(curUser, sNewMyINFO)
  end
end

Автор: Derk_B_P 5.4.2009, 10:56

Изменил function OverWrite(curUser). Но, скрипт по прежнему отказывается работать.

Цитата
[10:53] Синтаксис ...okaX_0.4.1.1\scripts\Description_Network_orig.lua:302: attempt to index field 'sDescription' (a nil value)


 Description_Network_orig.rar ( 2.88 килобайт ) : 6
 

Автор: Setuper 5.4.2009, 11:34

Функцию ReWrite то же надо исправить))))

Код
function ReWrite()
  for i, v in pairs(tNeedToSend) do
    local v2 = Core.GetUser(v, true)
    if v2 then
      local sNewMyINFO = ReBuilMyINFO(v2)
      Core.SendToAll(sNewMyINFO)
      Core.SendToUser(v2, sNewMyINFO)
      tNeedToSend[i] = nil
    end
  end
  for i, v in pairs(tNeedToSend2) do
    local v3 = Core.GetUser(v, true)
    if v3 then
      local tableover = Core.GetOnlineUsers() or {}
      for k, l in pairs(tableover) do
        local sNewMyINFO = ReBuilMyINFO(l)
        Core.SendToUser(v3, sNewMyINFO)
      end
      tNeedToSend2[i] = nil
    end
  end
end

Автор: Derk_B_P 5.4.2009, 16:45

Скрипт уже дописывает в описание [Подсеть][Профиль][Пол][Описание пользователя]

Но, снова есть одно "но" =(

Если пользователи видят на хабе, и я включаю скрипт, то он дописывает описание.
Как только пользователь переподключается скрипт падает:

Цитата
[16:39] Синтаксис ...okaX_0.4.1.1\scripts\Description_Network_orig.lua:302: attempt to index field 'sDescription' (a nil value)


 Description_Network_orig.rar ( 2.9 килобайт ) : 9
 

Автор: Wariner 5.4.2009, 16:55

не надо прикладывать файл в каждый свой пост!!!

Автор: Derk_B_P 5.4.2009, 17:46

Цитата(Wariner @ 5.4.2009, 16:55) *
не надо прикладывать файл в каждый свой пост!!!

Кроме !!!111адынадын есть что сказать?

Каждый раз делаю атач скрипта лишь по той причине, что текст скрипта каждый раз изменяется.

И как ты прикажешь людям смотреть, где проблема (.. lua:302 ..), если у них не будет самого скрипта? Ведь, стоит мне добавить хоть одну строчку с комментарием, и уже изменится скрипт.

Автор: Derk_B_P 12.4.2009, 0:31

Добрые люди (Mutor) написали скрипт. Перевёл я.

NetNick 1.0 LUA 5.1x [Strict] [API 2] - не пускает на хаб пользователей, пока они не изменят ник на [NickName]+[NetTag]

krs_ix2 - (нашёл тут на форуме) дописывает в описание пользователя [Название сети]+[Описание самого пользователя]

Кому нужно атач ниже.

 NetNick_1.0_LUA_5.1x__Strict___API_2_.rar ( 1.72 килобайт ) : 19
 krs_ix2.rar ( 930 байт ) : 23
 

Автор: Hammer 23.5.2009, 14:54

Люди а есть такой скрипт который говорит если пользователь с интернета что-бы он поставил перед ником [inet] и т.д.?

Автор: Wariner 23.5.2009, 22:46

http://mydc.ru/topic1947.html

PS: закрыто дабы не разводить флуд!