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

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

MyDC.ru _ Kорзина _ Пара Скриптов

Автор: alver 9.10.2008, 20:08

Доброго времени суток всем. Огромная просьба к знающим переделать скрипты под новую птоку.

1. Информер. Этот скрипт мне очень нравится потому, что не создает флуда в чате. Он отправляет сообщение в том случае, если за установленный промежуток времени было сказано установленное количество фраз. Пытался править сам, но птока выдает ошибку...

2. Описания юзеров. Выводит в описании юзеров к какой сети принадлежит тот или иной пользователь.

Заранее спасибо.

P.S. К модераторам: есть такая же тема в другом разделе форума, просьба удалить.

 informer_newapi.lua ( 1.7 килобайт ) : 44
 UsersDescription.lua ( 4.42 килобайт ) : 107
 

Автор: Nickolya 9.10.2008, 23:47

Информер поправленный мной приложил. И вот экспериментальная версия описания сетей. Обычную найдешь тут.

 informer_newapi_1_.lua ( 1.44 килобайт ) : 77
 UsersDescription___v2.0b__.lua ( 10.8 килобайт ) : 166
 

Автор: alver 10.10.2008, 16:44

Во-первых, огромное спасибо. Во-вторых, скрипт правил сам через конвертор.

Автор: Angel_D 12.10.2008, 4:39

UsersDescription___v2.0b__.lua вгоняет хаб в состояние в котором он постоянно перезапускается.

Автор: Nickolya 12.10.2008, 16:23

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

Код
function ConfigPtokaX()
    local bMustChange
    if SetMan.GetNumber(11) ~= 2 then
        SetMan.SetNumber(11, 2)
        bMustChange = true
    end
    if SetMan.GetBool(11) then
        SetMan.SetBool(11, false)
        bMustChange = true
    end
    if SetMan.GetBool(12) then
        SetMan.SetBool(12, false)
        bMustChange = true
    end
    if not SetMan.GetBool(13) then
        SetMan.SetBool(13, true)
        bMustChange = true
    end
    if not SetMan.GetBool(14) then
        SetMan.SetBool(14, true)
        bMustChange = true
    end
    if not SetMan.GetBool(15) then
        SetMan.SetBool(15, true)
        bMustChange = true
    end
    if not SetMan.GetBool(16) then
        SetMan.SetBool(16, true)
        bMustChange = true
    end
    if bMustChange then
        SetMan.Save()
        Core.Restart()
    end
end

Или вот как всё должно выглядеть:

 

Автор: Angel_D 12.10.2008, 20:39

Спасибо.
Переписал. Функцию - помогло.

Автор: Perspect 13.10.2008, 17:49

А возможно ли сделать, чтобы списки диапазонов в самом скрипте (для PtokaX 0.4.1.1) расписывались так: ?


-- список подсетей и описания, вставляемое в тэг.
RangeDesc = {

"24.131.40.0 - 24.131.43.255-[США, Atlanta]",
"24.190.30.0 - 24.190.79.255-[США, Brooklyn]",
"24.192.224.0 - 24.192.231.255-[США, Warren]",
"24.255.160.0 - 24.255.255.255-[США, Topeka]",
"58.90.128.0 - 58.90.255.255-[Japan, Osaka]",
"61.250.145.164 - 61.250.145.164-[Южная Корея, Seoul]",
"62.16.0.0 - 62.16.31.255-[Украина, Odessa]",
"62.16.96.0 - 62.16.127.255-[Россия, Saint Petersburg]",
"62.32.63.232 - 62.32.63.239-[Украина, Vinnitsa]",
"62.32.63.248 - 62.32.63.255-[Украина, Lvov]",
"62.33.208.0 - 62.33.215.255-[Россия, Ufa]",
"62.33.0.0 - 62.33.255.255-[Россия, Samara]",

}

У мну большое количество IP-диапазонов и в том скрипте, который предложил ты, это расписать заново просто не реально. Да и текст ВЕСЬ почему-то стал синим.

Выкладываю скрипт для PtokaX 0.3.6.0 (который сейчас работает на моём хабе)

 __IPадреса_описание.lua ( 3.34 килобайт ) : 52
 

Автор: Angel_D 13.10.2008, 21:00

Nickolya, вопросец к тебе...
Скрипт пашет, всё хорошо, но теперь хаб уверен (по крайней мере показывает в списке пользователей DC клиент), что все прицепились к 6ти хабам, что у всех открыто 12 слотов, так же все, кроме операторов, мастеров и тех, о ком бот еще не дал инфу в списке стали за иконкой "планета" (иконки перед ником, уж не помню что какая означает) - ты не мог бы сказать, что баг, что фича и может что-то стОит подправить?

Автор: Nickolya 13.10.2008, 21:12

Приложил 1 старенький скрипт описания под 2 апи, может подойдет...
Что касается выложенного мной, повторю еще раз: он был написан, оптимизирован под конкретный хаб. Это всё фишки скрипта, чтобы были иконки, надо закомментировать вторую строку sMyInfoUserString, а еще в настройках есть:

Цитата
-- Будет тег от скрипта (true) или тот, что предоставил клиент (false):
bScriptTag = true
Почему бы не посмотреть хотя бы конфиг скрипта до того как задавать вопросы???

 Description_Network.lua ( 8.57 килобайт ) : 139
 

Автор: Perspect 14.10.2008, 19:53

Огромнейшее спасибо!!! На скольких форумах задавал этот вопрос... и только здесь ответили, да и ещё всё заработало big_smile.gif

Автор: Angel_D 14.10.2008, 21:22

Nickolya, спасибо большое. Прошу прощения за свой "затуп". Реально заламерил.
Остановился на выладенном тобою "стареньком" скрипте - народ давно жаждал "гендерного сепаратизма". big_smile.gif
Как в нем "с иконками разобраться" не подскажешь?
Точно так же как и в твоем скрипте?

Автор: Nickolya 14.10.2008, 22:18

Да, просто на мой вкус лучше смотрится когда у всех одинаковые иконки.
Строку

Код
return "$MyINFO $ALL "..nick.." "..addtag.."$ $ $ $"..share.."$"
заменить на
Код
    local sByte = Core.GetUserValue(tUser, 24)
    if sByte then
        sByte = string.char(sByte)
    else
        sByte = ""
    end
    return "$MyINFO $ALL "..nick.." "..addtag.."$ $"..(Core.GetUserValue(tUser, 4) or "")..sByte.."$ $"..share.."$"

Автор: Angel_D 19.10.2008, 23:31

что-т не вышло...

[23:24] Нет синтаксических ошибок в файле скрипта Description_Network.lua
[23:24] Скрипт запущен.
[23:24] Синтаксис ...ram Files\PtokaX\scripts\Description_Network.lua:232: bad argument #1 to 'GetUserValue' (table expected, got nil)

Автор: Nickolya 19.10.2008, 23:56

Извиняюсь, ошибка элементарна, надо учиться такие самому исправлять:

Код
return "$MyINFO $ALL "..nick.." "..addtag.."$ $"..(Core.GetUserValue(curUser, 4) or "")..sByte.."$ $"..share.."$"
тут не curUser, а tUser:
Код
return "$MyINFO $ALL "..nick.." "..addtag.."$ $"..(Core.GetUserValue(tUser, 4) or "")..sByte.."$ $"..share.."$"

Автор: Angel_D 20.10.2008, 2:17

Прошу прощения за назойливость, но опять таки...

[02:09] Нет синтаксических ошибок в файле скрипта Description_Network.lua
[02:09] Скрипт запущен.
[02:09] Синтаксис ...ram Files\PtokaX\scripts\Description_Network.lua:232: bad argument #1 to 'GetUserValue' (table expected, got nil)

Строка 232 это "local sByte = Core.GetUserValue(tUser, 24)"

Автор: e-ploko 20.10.2008, 6:06

local sByte = Core.GetUserValue(curUser, 24)
if sByte then
sByte = string.char(sByte)
else
sByte = ""
end
return "$MyINFO $ALL "..nick.." "..addtag.."$ $"..(Core.GetUserValue(curUser, 4) or "")..sByte.."$ $"..share.."$"

Пиши так, у меня работает.. eyes_droped.gif

Автор: Angel_D 20.10.2008, 10:17

Спасибо, работает.

Автор: Angel_D 4.11.2008, 22:50

...и всетаки хочу чтобы правда восторжествовала и достойный разум получил хотя бы такую благодарность...
Nickolya, поюзав "старый скрипт" выложенный тобой, вернулся на твой (убрав таки монотонные иконки).
причина - гибкость настройки твоего скрипта.
когда на хабе гдет 900 юзверей и скрипт пытается отдать при конекте юзверя помимо того, что он должен отдать, еще и инфу о всех юзверях, начинали происходить "чудеса", типа MotD не приходил, менюшки от сервака не получались и т.д.
в твоем же скрипте - это все настраиваемо... и инфу можно кинуть с задержкой и обновлять реже и т.д.
Спасибо.

Автор: Angel_D 5.11.2008, 12:42

Кстати, Nickolya, а не было идеи в своем скрипте описания сетей реализовать "деление полов"?
"Старый скрипт" спрашивал у юзверей пол ну и те, при желании, могли его указать - в описании появлялась еще одна буква "половой принадлежности. Вот еще бы и твоему скрипту такого + иконка в зависимости от "половой принадлежности" - всё было б вообще идеально.

Автор: Nickolya 5.11.2008, 22:51

Еще и еще и еще раз скажу что делал "старый" скрипт для конкрентного хаба, в принципе, запихнуть можно много чего в 1 скрипт, но этим злоупотребялть не стоит. По поводу полов - не такой уж и сложный мод на скрипт, так что без меня обойдетесь, заодно в луа зашарите. big_smile.gif
Про различия в картинках не знаю, это вообще зависит от скорости соединения, так что и так влезли куда не надо...

Иногда бывало забавно, когда в чат приходило что-то типа "М" или "женский", инструкций в "Пожалуйста, укажите Ваш пол", конечно маловато, но кому надо делали.

Автор: Rez911 21.12.2008, 6:29

При добавлении диапазонов ипов выскакивает такая ошибка.

[10:25] Синтаксис ...aX 0.4.1.1 LUA.5.1.3\scripts\Description_Network.lua:220: bad argument #1 to 'find' (string expected, got nil)

Нашел где но не знаю че делать???

CODE
function 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


Помогите исправить.

Автор: intlive 5.1.2009, 12:10

А можно убрать пол в описании юзеров? Ну тоесть совсем удалить его из скрипта... still_dreaming.gif