myDC.ru

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

 
История благодарностей участнику Nickolya. Спасибо сказали: 776
Дата поста: В теме: За сообщение: Спасибо сказали:
10.6.2009, 9:36 Комната Смеха=)
Setuper, хе-хе, ссылку спалили на хабе, +1 big_smile.gif

Цитата
<System> Для регистрации нужно ответить на несколько вопросов!!! Если вы не согласны, то просто закроте это окно ;)
<System> Вопрос № 1: "Согласны ли вы не оскорблять пользователей хаба?"
<()Disconnect> Ога
<System> Положительные ответы предыдущего вопроса: да, согласен, согласна, yes
<System> Вопрос № 2: "Вы собираетесь тут флудить в чате?"
<()Disconnect> Нет
<System> Вопрос № 3: "Вы собираетесь спамить?"
<()Disconnect> Нет
<System> Вопрос № 4: "Рекламить ресурсы будите?"
<()Disconnect> Нет
<System> Вы были кикнуты по причине: Флуд однотипными PM!
*** Юзер ушёл [System - Poligon™] ***
Uncle_Dif
22.4.2009, 12:41 Информация По Nick&ip
Можно, все можно big_smile.gif Делается так: строку
Код
        sMsg = sMsg.."¦_ "..sSp..i.."\t"..tCurIPsData[1].."\t\t"..tLang.From..": "..sForm..sOnStartup.."\t"..tLang.To..": "..sTo..sOnExit..sRn
меняем на
Код
        sMsg = sMsg.."¦_ "..sSp..i.."\t"..tCurIPsData[1].."\t\t"..tLang.From..": "..sForm..sOnStartup.."\t"..tLang.To..": "..sTo..sOnExit.."\t - "..GetNormalTime(((tCurIPsData[4] ~= 0 and tCurIPsData[4]) or os.time()) - tCurIPsData[3])..sRn


и в самый конец добавляем вот эту хорошую функцию:
Код
function GetNormalTime(s)
    s=tonumber(s) or 0
    local r=""
    if s>=31104000 then r=math.floor(s/31104000).." г. " s=math.fmod(s,31104000) end
    if s>=2592000 then r=r..math.floor(s/2592000).." мес. " s=math.fmod(s,2592000) end
    if s>=86400 then r=r..math.floor(s/86400).." д. " s=math.fmod(s,86400) end
    if s>=3600 then r=r..math.floor(s/3600).." ч. " s=math.fmod(s,3600) end
    if s>=60 then r=r..math.floor(s/60).." мин. " s=math.fmod(s,60) end
    return r..s.." сек."
end


Получаем:
Цитата
¦ История сессий пользователя (лимит установлен в 30 записей):
¦_ 1 192.168.0.10 с: 12:13:02 22-04-09* до: 12:13:34 22-04-09 - 32 сек.
¦_ 2 192.168.0.10 с: 12:13:35 22-04-09 до: 12:14:40 22-04-09* - 1 мин. 5 сек.
¦_ 3 192.168.0.10 с: 12:14:41 22-04-09* до: 12:15:32 22-04-09* - 51 сек.
¦_ 4 192.168.0.10 с: 12:15:32 22-04-09* до: 12:16:04 22-04-09* - 32 сек.
¦_ 5 192.168.0.10 с: 12:16:04 22-04-09* до: 12:27:24 22-04-09* - 11 мин. 20 сек.
¦_ 6 192.168.0.10 с: 12:27:24 22-04-09* до: 12:28:44 22-04-09* - 1 мин. 20 сек.
¦_ 7 192.168.0.10 с: 12:28:45 22-04-09* до: 12:29:56 22-04-09* - 1 мин. 11 сек.
¦_ 8 192.168.0.10 с: 12:29:56 22-04-09* до: текущее время (на хабе) - 5 сек.
¦ * Включение или выключение скрипта


Для особо ленивых прилагаю файлик, из поста выше его удаляю. И напоминаю что таблицы надо удалить если вы пользовались старой версией, без записей всех ip для ника big_smile.gif
[attachment=2214:UserInfo...API_2___.lua]

Еще забыл спросить, в скрипте я храню данные в формате TEXT, а потом уже используя конструкцию в духе
Код
    local tNeedUserData = loadstring("return "..row.sData)()
получаю таблицу, получается как бы бд за место текстовых файлов с доп. возможностями выборки и сортировки, как вам такая реализация, в том же сравнении со скриптом Ильи (варинера) и в духе оптимизованности и рациональности?!
Saymon21, TiGRpp
25.2.2009, 9:53 Ошибка При Распаковке
Тема обсуждения (на английском): http://board.ptokax.ch/index.php?topic=7803.0

Ответ PPK:
Цитата
Error during decompression is possible in any client supporting ZPipe.. when for some reason client is not able to receive all data and PtokaX reach max size for his sendbuffer. In that case when "keep slow clients online" is enabled PtokaX delete some data from start of sendbuffer and zpiped data can be corrupted.

Мой примерный перевод, по-моему по-дилетантски, но смысл думаю понятен:
Цитата
Ошибка при распаковке возможна в любом клиенте, поддерживающем ZPipe.. когда по какой-либо причине клиент не имеет возможности получить все данные и Птока достигает максимального размера буфера отправки. По этой причине когда "поддерживать медленные клиенты" включено, Птока удаляет некоторые данные из начала буфера отправки и сжатые данные могут быть повреждены.

Как видите, дело в скорости соединения и в объеме изначально отправляемых данных. Так что думаю будет разумно не мешать птоке и отправлять все что надо со скриптов по таймеру, как в некоторых скриптах описания...
Была и у меня такая проблема, виной всему были новые версии флайлинка (тогда еще новые), помогла установка версии еще новее. big_smile.gif
Saymon21
5.2.2009, 13:04 Textfiles_manager_and_updater
API1, API2 | Обновление TXT файлов по интервалу
На скорую руку перевел под 2 апи:
CODE
sTextFilesPath = "texts" -- папка с текстовыми файлами
iTime = 60 -- время в секундах на обновление файлов
bPm = false -- отсылать сообщение в приват (true) или нет (false)

function OnStartup()
sBot = SetMan.GetString(21)--frmHub:GetHubBotName()
require("pxlfs")
tFiles = {}
sHubPath = Core.GetPtokaXPath()--frmHub:GetPtokaXLocation():g("/", "\\")
sFilesPath = sHubPath..sTextFilesPath
--SetTimer(1000 * iTime)
--StartTimer()
TmrMan.AddTimer(1000 * iTime, "LoadFiles")
LoadFiles()
end

function string.g(sData, s1, s2)
return sData:gsub(s1, Return(s2))
end

function Return(sData)
if type(sData) == "function" then
return sData
end
return function()
return sData
end
end

--[[
function OnTimer()
LoadFiles()
end
]]--

function ChatArrival(tUser, sData)
sData = sData:sub(1, -2)
local _,_, sCmd = sData:find("^%b<>%s+%p(%S+)")
if not sCmd then
return
end
local sText = tFiles[sCmd]
if sText then
if bPm then
--tUser:SendPM(sBot, sText.data)
Core.SendPmToUser(tUser, sBot, sText.data)
else
Core.SendToUser(tUser, "<"..sBot.."> "..sText.data)
--tUser:SendData(sBot, sText.data)
end
return true
end
end

function LoadFiles()
tFiles = attrdir(sFilesPath)
end

function attrdir(path)
local tData = {}
for file in lfs.dir(path) do
if file ~= "." and file ~= ".." then
local _,_, sFileName, sExt = file:find("(.+)(%.txt)$")
if sExt then
local f = path.."/"..file
local attr = lfs.attributes(f)
assert (type(attr) == "table")
if attr.mode ~= "directory" then
tData[sFileName] = {
modification = attr.modification,
data = OpenTextFile(f),
}
end
end
end
end
return tData
end

function OpenTextFile(sFileWay)
local sMessage = "[ can not open file ]"
local sFile = io.open(sFileWay, "r")
if sFile then
sMessage = sFile:read("*all")
sMessage = sMessage:g("\n", "\r\n")
sFile:close()
end
if sMessage then
sMessage = "[ no data in file ]"
end
return sMessage
end


Библиотеку надеюсь найдете big_smile.gif
ramzes
27.12.2008, 15:08 Webhubconfig
API2 | Скрипт конфигурации хаба через веб-интерфейс
Файл WebScriptsCore.lua, строки 94-99:
Код
        if RegMan.AddReg(sNick, sPass, iDefRegProfile) then
            sLoginErrors = "<b style=\"color:#FF6600\">Поздравляем с успешной регистрацией!</b><blockquote>Вы зарегистрировали ник <b>"..GsubForHtml(sNick).."</b> с паролем <b><input value=\""..sPass.."\" readonly=\"true\" /></b><br />Теперь для входа на хаб под вашим ником необходимо знать пароль<br />Вы можете вводить его каждый раз вручную, либо прописать пароль в настройках клиента<br />Для этого найдите в списке избранных хабов этот хаб, зайдите в его свойства и пропишите в строках Nick и Password ваши ник и пароль</blockquote>"
            tRegSessions[sIP] = os.time()
        else
            sLoginErrors = "<b style=\"color:#FF6600\">Неизвестная ошибка регистрации!</b>\r\n"
        end

Меняем на:
Код
        if RegMan.AddReg(sNick, sPass, iDefRegProfile) then
            sLoginErrors = "<b style=\"color:#FF6600\">Поздравляем с успешной регистрацией!</b><blockquote>Вы зарегистрировали ник <b>"..GsubForHtml(sNick).."</b> с паролем <b><input value=\""..sPass.."\" readonly=\"true\" /></b><br />Теперь для входа на хаб под вашим ником необходимо знать пароль<br />Вы можете вводить его каждый раз вручную, либо прописать пароль в настройках клиента<br />Для этого найдите в списке избранных хабов этот хаб, зайдите в его свойства и пропишите в строках Nick и Password ваши ник и пароль</blockquote>"
            tRegSessions[sIP] = os.time()
            Core.SendToAll("<"..SetMan.GetString(21).."> *** Привестсвуем нового зарегестрировавшегося пользователя "..sNick.." ***")
        else
            sLoginErrors = "<b style=\"color:#FF6600\">Неизвестная ошибка регистрации!</b>\r\n"
        end

Ищи отличия big_smile.gif Так же можно сделать отправку нику дополнительного сообщения с хаба и прочее...
Wildcdu
15.12.2008, 2:03 Webhubconfig
API2 | Скрипт конфигурации хаба через веб-интерфейс
Выкладываю скрипт, библиотеки и другие файлы найдете если что в ахиве выше. Про дизайн никто ничего не говорил, хотя я просил, так что получайте что получаете big_smile.gif
Теперь при переходе на адрес хаба автоматом перекидывает в папку /reg/, где и можно зарегистрироваться.
Настройки регистрации (в главном файле в самом начале):
Цитата
iDefRegProfile = 3 -- регистрируемый профиль по умолчанию
iMinPassLen = 6 -- минимальная длина пароля
iRegTimeToIpInterval = 60*60*12+1 -- интервал для возможности пользования интерфейсом, в секундах, указано 12 ч. 1 сек.

Если задать параметр nick в get запросе, то получите заполненное поле ник, к примеру: http://localhost:7070/reg/?nick=me, для корректности запроса надо использовать функцию библиотеки сокетов url.escape, вот пример из мануала:
Код
-- load url module
url = require("socket.url")

code = url.escape("/#?;")
-- code = "%2f%23%3f%3b"
применение в нашем случае:
Код
weneedpagewithnick = "http://localhost:7070/reg/?nick="..url.escape(sSomeNick)

Смотрите сами, все претензии - сюда, чувствуется мне будет их немало...
Конфигурация по-прежнему находится в каталоге /config/, больше ничего толком не сделано. shame.gif
Invisible, Saymon21
22.11.2008, 13:57 Webhubconfig
API2 | Скрипт конфигурации хаба через веб-интерфейс
Всё что угодно при Вашем финансировании... Наймем ученых, программеров, пару шаманов с бубном, и дадим им задание сделать всё что хотите. big_smile1.gif

Ты имел в виду отметание фтп и редактирование скриптов как в редакторе птоки? Или можно сделать просто управление папками и файлами через скрипт. Но это часы разработки, а у меня их нет, так что либо ждать, либо делать самим.
X-Sky
11.11.2008, 0:49 Домены Для Вашего Хаба
Как думаете?
Сделано...
jina-net.mydc.ru <= 193.93.13.15
mageal.mydc.ru <= 195.189.45.30

Буду, естественно, очень рад взаимной помощи...
Чебурашка
10.11.2008, 21:20 Домены Для Вашего Хаба
Как думаете?
Итак, приступимс к выполнению заявок:
Записи типа CNAME:
jina-net.mydc.ru <= jina-net.no-ip.org
hentai.mydc.ru <= hentai-family.redirectme.net
Записи типа A:
district.mydc.ru <= 80.64.95.38

dimetrius, надо указать либо ip к которому привязывать домен, либо другой домен big_smile.gif

Цитата
[21:05:06] *** Соединение с jina-net.mydc.ru...
[21:05:08] *** Соединён
[21:05:09] <Eras> Этот хаб работает под управлением PtokaX DC Hub 0.4.2.9 (Время работы: 0 дней, 22 часов, 33 минут / Юзеры: 145)
Ээээ, я упустил выход новых версий хаба??)))

Цитата(mariner @ 10.11.2008, 17:55) *
=) Вроде крутые парни, а домен за 350р в год се позволить не можете big_smile.gif))

Ну не знаю, это правда просто, но я так не думал пока не задался такой целью.
А домен сейчас можно купить чуть ли не за 100, но это же русский народ... bad_smile.gif
Чебурашка
10.11.2008, 11:44 Домены Для Вашего Хаба
Как думаете?
Суть вопроса такова: есть возможность раздавать домены вида любая-фигня.тут.как_вообще_хотите.mydc.ru.
Технически, dns позволяет разместить большое количество записей, но раздавать всем подряд домены я не собираюсь, только тем кто в этом нуждается. Если вы имеете хаб, имеет ли смысл для вас иметь домен не с no-ip, допустим, а с mydc? Единственную трудность, которую я тут вижу, что лично вы не будете иметь доступ к изменению записи, так что тем, у кого часто меняется айпи, этот вариант не подойдет (может и получится автоматизировать процесс смены ip, но по личным наблюениям меняется он не так быстро как в указанном выше сервисе, может я конечно что-то не так делаю, но это время в районе 4 часов)... В плюсах вижу некую уникальность, да и домен хорошо показывает направленность. Материальных выгод я не ищу, только некое увеличение популярности форума, плюс может где-то скромную ссылку на ресурс.

Теперь что вы думаете по этому поводу?
PS: извиняю за не очень четкое выражение мысли, бошка варит с трудом...
tolya, LOKI, dj_crazy_joker
8.11.2008, 21:52 Работа С Библиотекой Операционной Системы
Lua 5.1.x
Оригинальный мануал (на английском), и не только, находится тут.

Итак, вот функции, их описание и способы применения, всё исключительно из опыта ковыряния скриптов и этого мануала, функции никогда не применияемые мною или в которых я не вижу смысла не описываю:

os.clock()
Возвращает приблизительное время в секундах использования ЦПУ программой (с момента запуска exe'шника)

os.date([format [, time]])
Функция для получения даты в определенном формате. Имеет два опциональных параметра format и time. Если оба параметра отсутствуют, то функция аналогична os.date("%c"), "%с" = "%x %X", об этом далее.

Первый параметр format имеет тип string. Опционально можно указать "!" в самом начале строки, тогда время форматируется в соответствии с универсальным глобальным временем (по Гринвичу).

Если формат состоит из "*t", то возвращается таблица со следующими полями: year (4 знака), month (1–12), day (1–31), hour (0–23), min (0–59), sec (0–61), wday (день недели, Воскресенье - 1), yday (день года) и isdst (по-моему летнее ли время, имеет тип boolean).
Код
[22:22:01] os.date("*t") = {
    ["hour"] = 22,
    ["min"] = 22,
    ["wday"] = 7,
    ["day"] = 8,
    ["month"] = 11,
    ["year"] = 2008,
    ["sec"] = 1,
    ["yday"] = 313,
    ["isdst"] = false,
}
[22:22:57] os.date("!*t") = {
    ["hour"] = 19,
    ["min"] = 22,
    ["wday"] = 7,
    ["day"] = 8,
    ["month"] = 11,
    ["year"] = 2008,
    ["sec"] = 57,
    ["yday"] = 313,
    ["isdst"] = false,
}
Как видите, с восклицательнм знаком параметры hour различаются на 3.

Если формат отличен от "*t", то строка форматируется аналогично функции С strftime. Вот обрабатываемые форматы:
  • "%a" - Сокращенный день недели. Пример: Thu.
  • "%A" - День недели полностью. Пример: Thursday.
  • "%b" - Сокращенное название месяца. Пример: Sep.
  • "%B" - Полное название месяца. Пример: September.
  • "%d" - Двухзначный день месяца начанающийся с 0 если цифра одна. Пример: 09.
  • "%e" - День месяца. Пример: 9.
  • "%H" - Двухзначное число часов начанающиеся с 0 если цифра одна. Пример: 16.
  • "%I" - Двухзначное число часов в 12-часовом формате начанающиеся с 0 если цифра одна. Пример: 04.
  • "%j" - Трехзначное число дней с начала года начанающиеся с 0 если цифра одна. Пример: 040.
  • "%k" - Двухзначное число часов. Пример: 9.
  • "%l" - Двухзначное число часов в 12-часовом формате . Пример: 4.
  • "%m" - Двухзначный месяц года начанающиеся с 0 если цифра одна. Пример: 09.
  • "%M" - Двухзначное число минут начанающиеся с 0 если цифра одна. Пример: 02.
  • "%p" - AM или PM.
  • "%S" - Двухзначное число секунд начанающиеся с 0 если цифра одна. Пример: 04.
  • "%w" - Номер дня недели в пределе от 0 до 6, где 0 - Sunday. Пример: 0.
  • "%x" - Стандартный формат даты. Для большинства языков это то же, что и "%B %d, %Y". Пример: September 06, 2002.
  • "%X" - Стандартный формат времени. Для большинства языков это то же, что и "%I:%M %p". Пример: 04:31 PM.
  • "%y" - Двухзначный год начанающиеся с 0 если цифра одна. Пример: 01.
  • "%Y" - Четырехзнчный год. Пример: 2001.

Примечание: перевод докуметации без изменения, в реальности некоторые функции отличаются или вообще не работатют, вот примеры:
Цитата
os.date() = "11/08/08 23:33:15"
os.date("%A") = "Saturday"
os.date("%b") = "Nov"
os.date("%B") = "November"
os.date("%d") = "08"
os.date("%e") = "00"
os.date("%H") = "23"
os.date("%I") = "11"
os.date("%j") = "313"
os.date("%k") = "00"
os.date("%l") = "00"
os.date("%m") = "11"
os.date("%M") = "33"
os.date("%p") = "PM"
os.date("%S") = "15"
os.date("%w") = "6"
os.date("%x") = "11/08/08"
os.date("%X") = "23:33:15"
os.date("%y") = "08"
os.date("%Y") = "2008"
Как видите, не всё работает. И для доп. нагрузки на мозги код для получения такого списочка:
CODE
qwe = "\r\n"

tData = {
"",
"%A",
"%b",
"%B",
"%d",
"%e",
"%H",
"%I",
"%j",
"%k",
"%l",
"%m",
"%M",
"%p",
"%S",
"%w",
"%x",
"%X",
"%y",
"%Y",
}

for i = 1, #tData do
local s = "return os.date(\""..tData[i].."\")"
s = s:gsub("\"\"", "")
local q = assert(loadstring(s))()
q = (type(q) == "string") and string.format("%q", q) or tostring(q)
s = s:gsub("return ", "")
qwe = qwe..s.." = "..q.."\r\n"
end

Core.SendToAll(qwe)


Второй параметр, если он не указан, равен os.time(), т.е. текущему времени "эпохи", можно указать другое время, которое можно получить при помощи функции os.time(table), пример таблицы table выше.

os.difftime(t2, t1)
Возвращает количество секунд с времени t1 по время t2. В POSIX, Windows и некоторых других системах это значение равнозначно t2-t1.

os.execute([command])
Функция аналогична С функции system. Она передает команду на исполнение ОС. Возвращает статус-код, который зависит от ОС. Если команда отсутствует, тогда возвращается ненулевое значение если shell доступен, 0 в противном случае.

os.exit([code])
Вызывают функцию C exit, с опциональным кодом code,чтобы выйти из программы. По умолчанию значение code - код успешного выполнения.

os.getenv(varname)
Возвращает значение системной переменной или nil если переменная не определена.

os.remove(filename)
Удаляет файл или папку с названием filename. Папка должна быть пустой чтобы ее удалить. Если функция не может провести удаление, возвращается nil и сторка с ошибкой.

os.rename(oldname, newname)
Переименовывает файл или папку с названием oldname в newname. Если функция не может провести переименование, то возвращается nil и строку с ошибкой.

os.time([table])
Возвращает текущее время при вызове без аргументов, или время и дату, указанные в передаваемой таблице. Эта таблица должна иметь поля year, month, и day, и может иметь поля hour, min, sec, и isdst (описание этих полей см. в описании функции os.date).

Возвращаемое значание – это число, значение которого зависит от системы. В POSIX, Windows и некоторых других системах, это число соответствует количеству секунд, отсчитываемому от некоторого заданного момента времени ("эпоха"). В других системах, значение не специфицировано, и число, возвращаемое функцией time, может быть использовано только как аргумент функций date и difftime.
Setuper, FallenAngel, Invisible, Ksan, BeN, Saymon21
17.10.2008, 22:30 Бан По Днс
подскажите кто в курсах
Можем, я вот попробовал, пробуй что вышло.
Saymon21, MIKHAIL, CRH
12.10.2008, 21:28 HelloToNewUsers
API1, API2 | Приветствие новому юзеру
Название скрипта: HelloToNewUsers
Версия API: API 1 и 2
Автор: Nickolya
Описание скрипта: отправляет приветствия юзеру зашедшему первый раз!
Pro009
12.10.2008, 16:23 Пара Скриптов
Скрипты под ptoka 0.4.1.1
Просто этот скрипт делал персонально для 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

Или вот как всё должно выглядеть:
DriverZX-10
11.10.2008, 0:52 Бан По Днс
подскажите кто в курсах
Самой птокой - никак, можно использовать доп. библиотеки для скрипта, но там есть 1 проблема: если за ip нет записи на DNS-сервере, то библиотека виснет на некоторое время, от 1 до 20 секунд. А имя хоста определяется каждый раз при заходе юзера (надо чтобы знать забанен он или нет) и когда ты пытаешься забанить пользователя, так что хаб начнет жутко тормозить и превратится в один сполшной лаг. Чтобы ты попробовал, даже нашел у себя скрипт бана по днс, который я еще давно-давно пытался сделать, апи 1, работает с библиотекой PXLuaSocket.
andromed
9.10.2008, 23:47 Пара Скриптов
Скрипты под ptoka 0.4.1.1
Информер поправленный мной приложил. И вот экспериментальная версия описания сетей. Обычную найдешь тут.
Pro009, мамин_парень
4.10.2008, 17:24 Weather [ Api 1&2 ] [ By Nickolya ]
API2 | Расширенная погода с rp5.ru
Нашел вот в закромах у себя скрипт погоды, был даже сделан под оба апи, на сколько я помню, не выкладывал.
Для работы требуется библиотека сокетов! Вот тут ее можно взять.
Для работы с вашим городом идем на rp5.ru и ищем там свой код города, вставляем его в ссылку в настройках в главном файле скрипта. Код открыт, так что ковыряйте сколько влезет big_smile.gif
Вот результат работы (полный просмотр):

Цитата
<PtokaX> Погода в Туле. Расписание Погоды:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
В 13:00 было +18.8°C, облачность 7-8 баллов, влажность 60%, ветер ЮЮЗ, 3 м/с
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[ сб, 4 о. ]
\_ На 22:00: +13°C, без осадков, малооблачно (облачность 19%), влажность 76%, ветер Южный, 4 м/с, давление 745 мм рт. ст.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[ воскресенье, 5 октября ]
\_ На 04:00: +10°C, без осадков, переменная облачность (35%), влажность 80%, ветер Южный, 4 м/с, давление 745 мм рт. ст.
\_ На 10:00: +11°C, осадки (0.2 мм / 6 час), пасмурная погода (облачность 100%), влажность 82%, ветер Юго-Восточный,
4 м/с, давление 744 мм рт. ст.
\_ На 16:00: +15°C, преимущественно без осадков (0.1 мм / 6 час), пасмурная погода (облачность 100%),
влажность 74%, ветер Юго-Восточный, 4 м/с, давление 744 мм рт. ст.
\_ На 22:00: +12°C, без осадков, пасмурная погода (облачность 97%), влажность 81%, ветер Юго-Восточный,
2 м/с, давление 744 мм рт. ст.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[ понедельник, 6 октября ]
\_ На 04:00: +11°C, без осадков, значительная облачность (81%), влажность 82%, ветер Южный, 3 м/с, давление 744 мм рт. ст.
\_ На 10:00: +11°C, преимущественно без осадков (0.1 мм / 6 час), пасмурная погода (облачность 100%),
влажность 90%, ветер Восточный, 5 м/с, давление 744 мм рт. ст.
\_ На 16:00: +16°C, преимущественно без осадков (0.1 мм / 6 час), пасмурная погода (облачность 100%),
влажность 73%, ветер Юго-Восточный, 4 м/с, давление 743 мм рт. ст.
\_ На 22:00: +13°C, осадки (0.2 мм / 6 час), пасмурная погода (облачность 97%), влажность 90%, ветер Юго-Восточный,
2 м/с, давление 743 мм рт. ст.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[ вторник, 7 октября ]
\_ На 04:00: +13°C, осадки (3 мм / 12 час), пасмурная погода (облачность 100%), влажность 93%, ветер Юго-Восточный,
2 м/с, давление 743 мм рт. ст.
\_ На 16:00: +17°C, преимущественно без осадков (0.2 мм / 12 час), пасмурная погода (облачность 100%),
влажность 81%, ветер Юго-Восточный, 4 м/с, давление 744 мм рт. ст.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[ среда, 8 октября ]
\_ На 04:00: +11°C, без осадков, малооблачно (облачность 18%), влажность 90%, ветер Юго-Западный, 2 м/с,
давление 744 мм рт. ст.
\_ На 16:00: +17°C, преимущественно без осадков (0.3 мм / 12 час), облачно (облачность 77%), влажность 62%,
ветер Южный, 2 м/с, давление 744 мм рт. ст.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[ четверг, 9 октября ]
\_ На 04:00: +11°C, пасмурная погода (облачность 100%), влажность 93%, ветер Северный, 3 м/с, давление 745 мм рт. ст.
\_ На 16:00: +13°C, пасмурная погода (облачность 100%), ветер Северо-Восточный, 4 м/с, давление 748 мм рт. ст.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[ пт, 10 о. ]
\_ На 04:00: +10°C, пасмурная погода (облачность 100%), ветер Восточный, 3 м/с, давление 750 мм рт. ст.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> Данные предоставлены rp5.ru - по лицензии Мет.Офиса Великобритании (Met Office) http://rp5.ru/town.php?id=8306
[ Этот скрипт и не только можно найти на портале для администратора хаба: http://mydc.ru/ ]
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Invisible, Ksan, ZION, Артём, 7up, Anarhiya, Kingston, Sekretchik, Saymon21, TiGRpp, girs, Тёмич, Litе, shur49, Kar@bas, zeusby
19.9.2008, 21:59 Webhubconfig
API2 | Скрипт конфигурации хаба через веб-интерфейс
Появился наконец интернет, так что я теперь снова с вами, но хватит о грустном. super_man.gif big_smile.gif
Я конечно ленив, но кое-что все-таки делаю на досуге, так что вот вам очередная версия для тестов, там не до конца сделана страничка с ошибками скриптов, да и не доделаны 3 страницы настроек различного антифлуда, но пока потестите это. В архиве все нужные библиотеки, теперь нужна еще и LFS, файлы скрипта, файлы языков, распаковываем в папку хаба, включаем в скриптах и тестируем. Обо всей фигне пишем сюда. confident.gif
Alexey, dj_crazy_joker
3.9.2008, 12:12 Антикапс
API1, API2 | Без наворотов, зато работает
Пжалуста secret_smile.gif big_smile.gif
Нашел вот один баг в новой функции: при наличии подряд не максимального ряда символов, а потом их повторе без разделения другими символами, второй и следующие ряды урезаются, к примеру "! раз! два!! три!!!" будет урезано в "! раз! два! три". Исправленную версию качаем из этого поста.
1.9.2008, 11:01 Антикапс
API1, API2 | Без наворотов, зато работает
Может это подойдет? Скрипт подделал под универсальный, будет работать на любой птоке с луа 5.1. Работает в фоновом режиме, никаких сообщений или предупреждений не оставляет, настройка простая - со скольки символов сообщения реагировать и процент капса, при котором сработает скрипт.
Pro009
26.8.2008, 18:31 RSS Ленты
API2 | Скрипт для просмотра новостных лент
Вот функция перевода из утф в коир, пришлось как-то сворганить, причем из функции которая переделывала коир в утф big_smile.gif, из-за неумения создания библиотек, изобретаем велосипеды... Вот код:

Код
s208 = string.char(208)
s209 = string.char(209)

function utf8towinru(text)
    text = text:gsub(s208.."(.)", function(sch)
        if (string.byte(sch)>=144 and string.byte(sch)<=191) then
            return string.char(string.byte(sch)+48)
        end
        if (string.byte(sch)==129) then
            return "Ё"
        end
        return s208..sch
       end)
    text = text:gsub(s209.."(.)", function(sch)
        if (string.byte(sch)>=128 and string.byte(sch)<=143) then
            return string.char(string.byte(sch)+112)
        end
        if (string.byte(sch)==145) then
            return "ё"
        end
        return s209..sch
    end)
    return text
end
xRayNeo
17.8.2008, 9:10 Webhubconfig
API2 | Скрипт конфигурации хаба через веб-интерфейс
Начал вот доделывать скрипты, думаю можно показать, заодно потестите. Скрипт работает подобно апачу, намного упрощенней конечно, но все же. Это лишь наработки, надеюсь конечная версия будет намного лучше оформлена. big_smile.gif
По умолчанию в скрипте прописан порт 7070, так что после запуска заходите на http://IP_хаба:7070/, там вводим ник и пароль, проверяется всё из базы хаба, так что вводим админские данные (таблица с профилями которым доступен скрипт в наличии), дальше думаю разберетесь. Сделано пока только пара страниц, но сейчас меня на продолжение уже не хватает, буду по мере возможности доделывать. Для работы понадобится библиотека PXLuaSocket (распаковать в папку libs в папке хаба), найти ее можно на форуме. Скрипт для версии 0.4.1.0 и на 0.4.1.1 думаю тоже пойдет. Пробуйте, обо всех корявостях пишем сюда.
Invisible, Alexey, TiGRpp, striker, CyberGhost404
29.7.2008, 22:11 Chatguard_v1.2
Удобный скрипт. ))
Переконвертировал. Конвертор очень хороший - мои руки))) Так что всё должно работать. Скрипт был довольно коряво написан, так что немного его переписал, тестите.
DrakonSP, САМАЭЛЬ
24.6.2008, 17:20 Faq По Dc
Задавайте свои вопросы!
Поправил. Спасибо! big_smile.gif
мамин_парень
22.6.2008, 22:23 Changestatus+seepass&profile
API1, API2 | Меняем профиль + смотрим профиль или пароль юзера
ChangeStatus+SeePass&Profile, скрипт для быстрой смены админом хаба профиля пользователя, просмотра его профиля или пароля.
Всё делается через удобное меню, профили уже вбиты в него, и никаких заморочек!
Как всегда, для обоих версий апи.

Цитата
<PtokaX> *** Nickolya, ты успешно сменил профиль юзера "Nickolya2" с Owner (0) на VIP (4)!
<PtokaX> *** Nickolya, пользователь "Nickolya2" имеет профиль VIP (4)
<PtokaX> *** Nickolya, пользователь "Nickolya2" имеет такой пароль: "1"
Invisible, Kingston, CERBER, Pro009, shur49
22.6.2008, 17:29 Network Separation
API1, API2 | Скрипт разделения сетей пользователей
Вот он, новый релиз скрипта разделения сетей пользователей. Выкладываю, как и всегда, для 1 и 2 API.

Функционал скрипта (версия 1.3):
  • Разделение сетей пользователей
  • Возможность указать в одной сети несколько диапазонов (если они прерываются)
  • Для каждой сети можно указать описание
  • Каждую сеть можно ограничить по размеру шары или по количеству пользователей
  • Профили, на которые не действуют ограничения
  • Сообщение о том, что сети разделены при попытке скачать с пользователя из другой сети (опционально)
  • Выключения разделения сетей для пользователя
  • Выключение или включение сообщения о разделении
  • Статус сети пользователя при заходе на хаб (опционально)
  • Просмотр своего статуса по команде
  • Просмотр списка пользователей, отключивших разделение сетей
  • Просмотр полной информации о каждой сети
  • Полноценное меню

Выкладываю версию 1.3b и 1.3.1. В первой исправлена 1 ошибочка в реализации, во второй по умолчанию разделение сетей у пользователя выключено!
Invisible, Ksan, Kingston, whuru, Milena, Dialog, -Andersen-, TiGRpp, balbes, van21, RAND(i)M, мамин_парень
21.6.2008, 17:03 Userinfo [ By Nickolya ] [ Sqlite Db ] [ Lua5.1 ] [ Api 1 ]
API1 | Скрипт оффлайн информации по юзерам
Нде, как я не старался, ничего не вышло.
Давайте разрулим вместе эту библиотеку, это ооочень полезная вещь, и я хочу ее использовать в своих проектах!
Обсуждаем все тут: Дополнительные Библиотеки: Sqlite
Milena
16.6.2008, 14:12 Гороскоп
API1, API2 | Гороскоп от Hyrax.ru на вашем хабе
Вот, свял... Скрипт берет rss-ленты с Hyrax.ru и делает из них гороскопы для хаба. :P

Цитата
Функционал скрипта:
• Общая характеристика дня из Ежедневного гороскопа
• Показ общей характеристики по определенным минутам часа
• Автообновение данных (опционально), проводится 1 раз в день, после 1 часа ночи
• Гороскопы сгруппированы для каждого знака зодиака и доступны по команде
• По команде доступен просмотр всего тематического гороскопа
• Просмотр полного гороскопа для всех знаков зодиака
• Админские команды просмотра статуса скрипта и ручного обновления данных
• Полноценная менюшка

Как всегда, выкладываю скрипт для 1 и 2 api хаба.

Изменения в версии 1.1:
• Добавлена таблица для настроек времени вывода (теперь можно четко задавать время суток, в которое будет отсылаться сообщение в чат)
• Добавлены опции обновления: время таймаута, время между попытками при неудавшемся обновлении и час дня, после которого происходит обновление.
• Усовершенствована система обновления, теперь скрипт сверяет время обновлений данных с сервера и данных, хранящихся в базе скрипта, при отсутствии различий во времени, скрипт выдает ошибку и прекращает обновление.

Библиотека для работы скрипта лежит тут, без нее работать ничего не будет! big_smile.gif
Invisible, Saymon21, Pro009, Тёмич, доктор ливси, Litе, Kar@bas
16.6.2008, 14:03 Luasocket
win32 | Работа с сокетами
Бибилиотека для работы с данными из интернета.

Для работы помещаем файлы из архива в папку libs, которую надо создать в папке хаба (где лежит PtokaX.exe)

Версия 2.0.2 для второго API, для первого - 2.0.1 !!
FBR, Tsd, Invisible, Ksan, district, Tarantul13, Sekretchik, Saymon21, Men, Sunshine-hub, Setup, Shurchik, shur49, stone, Osimus, AfLc, dj_crazy_joker, Yamakasi, Unique
10.6.2008, 18:09 Бутылочка
API1, API2
Цитата
Функционал скрипта:


Игра в бутылочку на хабе, бот выдает сначала фразы из таблицы w, затем - случайное действие из таблицы s.
Возможность случайной игры в бутылочку без участия пользователей. Включается и выключается из меню.
[nick1] - ник того, кто крутит бутылочку, или слчуайный ник при случайной игре
[nick2] - случайный ник из всех, находящихся на хабе

Что умеет скрипт (добавлено мною):


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

Что примерно получается:

[00:00:03] < Бутылочка > *** Бутылочка крутится, крутится...
[00:00:04] < Бутылочка > *** Крутится, вертится...
[00:00:05] < Бутылочка > *** Останавливается...
[00:00:06] < Бутылочка > *** И указывает на MaRy...
[00:00:07] < Бутылочка > *** Nickolya от радости прыгает на MaRy и страстно целует в губы ***


Выкладываю версии для 1 и 2 апи хаба. Пользуйтесь на здоровье! ;) big_smile.gif
Invisible, denis, Drakula, Санёк, Inkvizitor_ks
29.5.2008, 12:27 Userinfo [ By Nickolya ] [ Sqlite Db ] [ Lua5.1 ] [ Api 1 ]
API1 | Скрипт оффлайн информации по юзерам
UserInfo [ by Nickolya ] [ SQLite db ] [ lua5.1 ] [ API 1 ]

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

База включает в себя:

  • Архив данных пользователя:
Цитата
------------------------------------------------------------------------------------------------------------------------------------------------------
¦ Информация о пользователе: Nickolya ( пользователь на хабе )
------------------------------------------------------------------------------------------------------------------------------------------------------
¦ Общая информация:
¦ Имя в базе данных: nickolya
¦ Юзер: Nickolya
¦ IP: 10.3.10.3
¦ Тег: <++ V:0.699,M:A,H:4/6/7,S:7>
¦ Описание: ?!!
¦ Email: @
¦ Клиент: DC++
¦ Версия клиента: 0.699
¦ Активный режим: Нет
¦ Оператор: Нет
¦ Шара: 296,31 ГБ (318155250438 Б)
¦ Профиль: Администратор (0)
¦ Хабы: 17
¦ Слоты: 7
------------------------------------------------------------------------------------------------------------------------------------------------------
¦ История сессий IP (лимит установлен в 30 записей):
¦_ 1 10.3.10.3 с: 13:22:13 29-05-08 до: текущее время (на хабе)
¦ * Включение или выключение скрипта
------------------------------------------------------------------------------------------------------------------------------------------------------


  • Информацию о никах, использованных конкретным ip-адресом:
Цитата
------------------------------------------------------------------------------------------------------------------------------------------------------
¦ Информация о никах IP-адреса 10.3.10.3 пользователя Nickolya (nickolya):
------------------------------------------------------------------------------------------------------------------------------------------------------
¦_ AУA™: использовался 2 раз, последний - 13:21:44 29-05-08
¦_ Nickolya: использовался 1 раз, последний - 13:22:13 29-05-08
------------------------------------------------------------------------------------------------------------------------------------------------------


Для работы вам потребуется вот эта библиотека, ее надо разместить в папке хаба (где лежит PtokaX.exe)

Пока только для 1 апи, под второй видимо были изменения в библиотеке, и теперь приходится решать кое-какие проблемы. Пробуем и отписываем как всё это работает...
Ksan, Milena, WINS, мамин_парень
19.5.2008, 21:29 Открытие Форума
Мы открылись! U are welcome :)
Вот и состоялось открытие форума, пока абсолютно девственного, но думаю общими усилиями мы это исправим!?!
Все замечания и пожелания оставляем тут, опрос я думаю будет в тему, так что отвечаем, аргументы так же тут. Приятного общения!
Saymon21

15 страниц V  « < 12 13 14 15 >
RSS Сейчас: 20.4.2024, 11:54