Здравствуйте, гость ( Вход | Регистрация )
Дата поста: | В теме: | За сообщение: | Спасибо сказали: | ||
---|---|---|---|---|---|
15.10.2010, 20:52 |
StatPX API1, API2 | Статистика хаба |
RAND(i)M Логично. Только так наверное проще: Код tCopy[i] = {Name = v.sNick, Sort = v.bOperator and "\1"..v.sNick:lower2() or v.sNick:lower2(), Share = v.iShareSize, Profile = v.iProfile, Client = client or "?", Version = version or "", Descr = Descr or "",Email = Email, Mode = Mode, Hubs = hubs or "?", Slots = slots or "?", Limit = GetNormalSpeed(limit)} bahodiruz Попробуй так: Код Path = "", Файлы будут сохраняться в корне FTP-сервера. |
Milena | ||
15.10.2010, 10:16 |
Модуль GeoCity Определяем местоположение по IP с точностью до города |
Доступен GeoCity Updater 1.02 Изменения: Переписан интерфейс программы.Утилита совместима с модулем GeoCity 1.01, и не совместима с версией 1.00 |
Milena, Saymon21 | ||
15.10.2010, 10:05 |
StatPX API1, API2 | Статистика хаба |
alex82 1. Юзеров с ключом не получится переместить вверх без изменения формата БД, а сортировку хотел исправить, но забыл. Исправлю в следующей версии.1. Было бы неплохо приблизить список пользователей в WEB-статистике к привычному списку юзеров в ДЦ. т.е. сделать сортировку нечувствительной к регистру, и может даже поместить "ключканутых" вверх списка. 2. Скрипт создаёт пусту папку htdocs на диске C:, вроде все папки поменял, но он продолжает создавать, где именно в скрипте - я так и не нашёл. 2. Проверил. Папка создается именно там где надо, а не на диске C. -------------------------------------------------------- Исправление сортировки: Открываем Raw.lua. Находим (около 30 строки): Код table.insert(tCopy, {sEnter = v.Enter, iSessionTime = tonumber(v.SessionTime), iOnline = v.Online, iTotalTime = tonumber(v.TotalTime), Заменяем на sLeave = v.Leave, sNick = v.Name, iProfile = v.Profile, sIP = i, sRank = GetRank(i) } ) Код table.insert(tCopy, {sEnter = v.Enter, iSessionTime = tonumber(v.SessionTime), iOnline = v.Online, iTotalTime = tonumber(v.TotalTime), sLeave = v.Leave, sNick = v.Name, sSort = v.Name:lower2(), iProfile = v.Profile, sIP = i, sRank = GetRank(i) } ) Далее несколькими строками ниже находим: Код table.sort(tCopy, function(a, b) return (a.sNick < b.sNick) end) Заменяем на:Код table.sort(tCopy, function(a, b) return (a.sSort < b.sSort) end) Находим (около 94 строки): Код tCopy[i] = {Name = v.sNick, Share = v.iShareSize, Profile = v.iProfile, Заменяем на:Client = client or "?", Version = version or "", Descr = Descr or "",Email = Email, Mode = Mode, Hubs = hubs or "?", Slots = slots or "?", Limit = GetNormalSpeed(limit)} Код tCopy[i] = {Name = v.sNick, Sort = v.sNick:lower2(), Share = v.iShareSize, Profile = v.iProfile, Client = client or "?", Version = version or "", Descr = Descr or "",Email = Email, Mode = Mode, Hubs = hubs or "?", Slots = slots or "?", Limit = GetNormalSpeed(limit)} Далее несколькими строками ниже находим: Код table.sort(tCopy,function(a,b) return(a.Name<b.Name) end) Заменяем на:Код table.sort(tCopy,function(a,b) return(a.Sort<b.Sort) end) |
Milena, RAND(i)M | ||
14.10.2010, 13:14 |
От: StatPX От темы с ID: 1269 |
infection С помощью меню |
infection | ||
14.10.2010, 12:42 |
StatPX API1, API2 | Статистика хаба |
Доступна версия 1.06 beta Список изменений: Добавлена возможность отправки сгенерированных страниц на удаленный FTP-сервер |
Milena, Saymon21 | ||
12.10.2010, 12:46 |
Unknown Blocker API2 | Блокировка неизвестных команд |
Unknown Blocker Версия: 1.00 Версия API: API2 (Lua 5.1) Автор: alex82 Описание: Скрипт предназначен для блокирования неизвестных команд в главном чате и личке главного бота хаба. При создании скрипта преследовались следующие цели: * Исключить возможность "пробивания" скриптов блокировки главного чата при помощи произвольной команды. Внимание! Скрипт должен находиться в самом низу списка скриптов. При запуске он самостоятельно переместится на последнюю позицию списка. Однако следует помнить, что если Вы не выполняете полный перезапуск скриптов при их установке, Вам необходимо самостоятельно переместить данный скрипт на последнюю позицию после установки нового скрипта. [attachment=5096:Unknown_...ker_1.00.rar] |
Nickolya, rus.region78, Tsd, Invisible, Accelerator, PomanoB, OVERLORD1979, Kingston, Milena, Saymon21, Dimon21, TiGRpp, RAND(i)M, DEN 007, shur49, AfLc | ||
11.10.2010, 3:37 |
StatPX API1, API2 | Статистика хаба |
Ameet Полная совместимость будет только тогда, когда появитcя библиотека Lua-GD для Win64. А пока что придется отключить графики. |
Milena | ||
11.10.2010, 2:49 |
Заготовки скриптов для PtokaX Делимся болванками скриптов |
1) В этой таблице хранятся функции, отвечающие за обработку команд. Подробное описание есть в комментариях. 2) Ага. Зачем при каждой отправке меню выполнять десятки конкатенаций, если можно сделать это при запуске скрипта, а при подключении юзера просто отправлять готовую строку? |
Saymon21 | ||
11.10.2010, 1:57 |
Заготовки скриптов для PtokaX Делимся болванками скриптов |
Ksan Я не претендую на эксклюзивность, так что можешь выкладывать свою. ----------------------------------------------------------------------- Небольшие исправления в заготовке #1 - теперь алгоритм обработки команд стал еще ближе к встроенному обработчику птоки. Также добавил пару комментариев для кода, который может показаться новичкам темным лесом. Выложил заготовку #2 |
Saymon21 | ||
10.10.2010, 22:29 |
ChatHistorySQL История чата |
Решение проблемы: заменяем 125 строку на эту: Код if me or not data:find("^["..SetMan.GetString(29):gsub("[%^%$%(%)%%%.%[%]%*%+%-%?]","%%%1").."]"..tCfg.CmdPattern) and not data:find("^%s*is%s+kicking%s+%S+%s+because:") then |
Kingston, Milena, Saymon21, WINS, shullz | ||
10.10.2010, 14:12 |
Заготовки скриптов для PtokaX Делимся болванками скриптов |
Думаю, ни для кого не секрет, что скрипты далеко не всегда пишутся с нуля - многие скрипты, предназначенные для какой-либо определенной программы (в данном случае под "определенной программой" следует понимать PtokaX) содержат много практически идентичного кода (обработчик команд в чате, отправка меню, и.т.д), переписывать который в каждом скрипте не имеет смысла. Некоторые, наверное, даже догадываются о том, что в арсенале скриптеров со стажем имеются заранее написанные "болванки" скриптов, содержащие тот самый повторяющийся код, и позволяющие быстро сваять нужный скрипт. Предлагаю выкладывать подобные заготовки в этой теме. Для затравки выкладываю одну из своих заготовок: [attachment=5091:script_template_1.lua] Еще одна заготовка: [attachment=5092:script_template_2.lua]Отличается от первой тем, что позволяет устанавливать разные права доступа для команд. Тем, кто ковырялся в моих скриптах, данный код может показаться знакомым, и в этом нет ничего удивительного - прочитайте еще раз первый абзац этого сообщения, и вы поймете почему . |
Nickolya, Tsd, Invisible, Ksan, Артём, HackFresse, rival, Kingston, Milena, Saymon21, Dimon21, Antibiotic | ||
10.10.2010, 11:38 |
CmdToAdmin Скрипт посылает в приват владельцу хаба команды | API2 |
Можно несколько упростить код отлова команды в чате: Код function ChatArrival(user,data) Префиксы команд берутся из настроек хаба. Соответственно отпадает необходимость в таблице команд и цикле, проверяющем наличие команды в таблице. И чистка памяти, я думаю, здесь лишняя.if Core.GetUser(sNick) and user.sNick ~= sNick then local pre,cmd = data:match("%b<>%s+(["..SetMan.GetString(29):gsub("[%^%$%(%)%%%.%[%]%*%+%-%?]","%%%1").."])(%S+)") if pre then if not (pre == "+" and cmd:find("^%d+")) then -- Не реагируем на "+5", к примеру. cmd = cmd:lower() for i = 1,#tIgnoreCmd do if cmd == tIgnoreCmd[i] then return end end Core.SendPmToNick(sNick, sBot, "\tПослана команда хабу: "..data:sub(1,-2)) end end end end Код ToArrival = ChatArrival А это лучше удалить, поскольку во-первых, подавляющее большинство юзеров вообще не знают о возможности отправки команд главному боту хаба, во-вторых, будут проверяться все лички, а не только те, что были отправлены боту, а в третьих, при текущей реализации функции отлова команд, в лог будет попадать вся команда $To. Будет что-то вроде этого:Цитата <bot> Послана команда хабу: $To: bot From: user $<user> !command |
Invisible, Saymon21 | ||
5.10.2010, 17:48 |
Модуль GeoCity Определяем местоположение по IP с точностью до города |
Таки выложил обещанный класс php. В архиве также имеется тестовый скрипт. Подробности в первом посте. |
Milena, Saymon21 | ||
5.10.2010, 2:03 |
Модуль GeoCity Определяем местоположение по IP с точностью до города |
У меня вопрос к форумчанам. Найдутся ли добровольцы, знающие географию России, и желающие помочь проекту? Если да - обьясню суть проблемы подробнее. Добровольцы могут отписываться в этой теме. |
Milena | ||
4.10.2010, 0:39 |
StatPX API1, API2 | Статистика хаба |
Можно взять скин для StatPX Lite (пока что их всего 2), и переделать под StatPX. А можно самому сверстать. Если с веб-дизайном плохо, то можно сделать скин на основе какого-нибудь готового HTML-шаблона. |
Milena | ||
3.10.2010, 5:17 |
Вопросы Разработчикам Скриптов вопросы по скриптам (мелкие вопросы) |
Наверное потому что надо Код local _,_,information,fd=string.find( вместоКод local _,information,fd=string.find( PS. Цитата А мыши плакали, кололись, но продолжали жрать кактус Я решительно не понимаю, зачем вновь и вновь использовать эту хрень с прочерками (и делать в ней ошибки), если есть string.match() |
Saymon21 | ||
2.10.2010, 6:09 |
Anekbot API2 | Анекдоты из Интернета |
Чтобы не было пустых вопросов? В этом случае пустые вопросы все равно будут, ибо переменная Core определяется при запуске хаба. Соответственно, если скрипт запустить при остановленном хабе, он выкинет ошибку. Если уж менять, то на это: Код path = debug.getinfo(1).source:match("^@?(.+[/\\]).-$"):gsub("\\","/") |
Milena | ||
30.9.2010, 21:38 |
StatPX API1, API2 | Статистика хаба |
Идея действительно хороша, и уже реализована в StatPX Lite. Если когда-нибудь решусь на выпуск очередной версии, обязательно добавлю. |
Milena, Saymon21 | ||
21.9.2010, 12:24 |
string.gsub string.gsub замена > < аналогом < > |
Функция обработки смайлов из StatPX: Код tSmiles = { ["biggrin.gif"] = {":D", ":-D", ":=D"}, ["blink.gif"] = {"oO", "o.O", "o_O", "оО", "о.О", "о_О"}, ["confused.gif"] = {":S", ":-S", ":=S", ":confused:"}, ["cry.gif"] = {":'(", ":'-(", ":'=(", ":cry:"}, ["lol.gif"] = {":lol:", ":LOL:", "LOL"}, ["sad.gif"] = {":(", ":-(", ":=("}, ["shock.gif"] = {"O.O", "O_O", "О.О", "О_О", ":shock:"}, ["smiley.gif"] = {":)", ":-)", ":=)"}, ["tongue.gif"] = {":P", ":-P", ":=P"}, ["wink.gif"] = {";)", ";-)", ";=)"}, ["woohoo.gif"] = {"8-D", "8=D", ":woohoo:"}, } function string.Smiles(str) for i,v in pairs(tSmiles) do local rep = "<img src=\"smiles/"..i.."\" border=\"0\" alt=\"%1\" />" for _,smile in ipairs(v) do str = str:gsub(smile:gsub("[%^%$%(%)%%%.%[%]%*%+%-%?]","%%%1"),rep) end end return str end Используется так: Код src=src:Smiles() PS. Изобретать велосипед - на редкость неблагодарное занятие. |
foXDEvil | ||
21.9.2010, 12:07 |
string.gsub string.gsub замена > < аналогом < > |
Nickolya Код tMagic = { Вся эта лабуда делается при помощи одного метода:["%^"] = "%%%^", ["%["] = "%%%[", ["%)"] = "%%%)", ["%("] = "%%%(", ["%+"] = "%%%+", ["%*"] = "%%%*", ["%$"] = "%%%$", ["%?"] = "%%%?", ["%."] = "%%%.", ["%-"] = "%%%-", } function MakeNormMagicCharacters(sData) local sData = string.gsub(sData, "%%", "%%%%") for sFrom, sTo in pairs(tMagic) do sData = string.gsub(sData, sFrom, sTo) end return sData end Код :gsub("[%^%$%(%)%%%.%[%]%*%+%-%?]","%%%1") Об этом я уже писал здесь. |
Saymon21 | ||
20.9.2010, 20:08 |
string.gsub string.gsub замена > < аналогом < > |
Наверное, в качестве аргумента при втором вызове нужно указывать zamena, а не data. А еще лучше так: Код zamena = data:gsub("<", "<"):gsub( ">", ">") |
foXDEvil | ||
20.9.2010, 12:08 |
Модуль GeoCity Определяем местоположение по IP с точностью до города |
Доступна версия 1.01. Подробности в первом посте. PS. Чуть позже выложу класс php для работы с GeoCity. |
Milena, Saymon21 | ||
20.9.2010, 11:24 |
PXControl Удаленное управление PtokaX 0.4.x.x |
[02:58:27] <Bot> *** Error, script PXControl_Server.lua start failed. Попробуй закомментировать Код if path:find("^/") then -- OS detection Если после этого скрипт запустится, проблема в неправильно установленной LFSrequire "lfs" -- Linux bLinux = true else require"pxlfs" -- Windows end |
Milena | ||
18.9.2010, 13:26 |
StatPX Lite API2 | Веб-статистика хаба, чат-ранг, статистика местоположения юзеров |
Напиши в shortstat.tpl: Код <a href="/hubstat/stat.php">Хаб <font color="red">( (Юзеров: [TOTALUSERS], шара: [TOTALSHARE]) )</font></a> Потом в настройках скина включи страницу краткой статистики:Код ShortStat = y, -- Генерировать страницу краткой статистики для размещения на главной странице сайта (шаблон shortstat.tpl) Потом пропиши абсолютный путь и имя файла в переменной tWebFiles.ShortStat.PS. Принцип работы краткой статистики был таким изначально, так что это актуально для любой версии. |
Invisible, Saymon21 | ||
13.9.2010, 18:44 |
StatPX Lite API2 | Веб-статистика хаба, чат-ранг, статистика местоположения юзеров |
Мдя, и в самом деле, фигню сморозил. Ладно, теперь серьезно. Находим в Raw.lua: Код local f = io.open (tWebFiles.ChatRank, "w") перед этим добавляем:Код if tTemp[1] then sTopChat = tTemp[1][1].." ("..tTemp[1][2].." сообщ.)" end Теперь вместо той фигни, что ты процитировал, пишем: Код :gsub("%[TOPCHAT%]",sTopChat or "?") |
Invisible, Saymon21 | ||
12.9.2010, 18:27 |
Ваши Вопросы И Предложения По Поводу Форума |
В свое время настраивал подсветку кода Lua для highlight.js (цвета а-ля Notepad++). Если надо - могу скинуть. |
Invisible | ||
12.9.2010, 18:18 |
StatPX Lite API2 | Веб-статистика хаба, чат-ранг, статистика местоположения юзеров |
Saymon, Ksan Это мусор, оставшийся от StatPX. Правильным будет удалить эти строки: Код if not(tWebCfg.Enable) then UpdateUserStats() end |
Saymon21 | ||
11.9.2010, 18:42 |
StatPX Lite API2 | Веб-статистика хаба, чат-ранг, статистика местоположения юзеров |
Saymon Открываем Raw.lua, находим: Код local f = io.open (tWebFiles.TopShare , "w") перед этим добавляем:Код if tCopy[1] then sTopShare = tCopy[1].Name.." ("..FormatSize(tCopy[1].Share)..")" end Открываем Web.lua, находим: Код :gsub("%[BANNED%]",sBanned) после чего добавляемКод :gsub("%[TOPSHARE%]",sTopShare or "?") :gsub("%[TOPCHAT%]",tCountryStats and tCountryStats[1] and tCountryStats[1][1].." ("..tCountryStats[1][1].." сообщ.)" or "?") И заменяем: Код WebstatUpdateTime=FormatDate2(os.time()) наBuildMainStat(user) BuildOnline() Код WebstatUpdateTime=FormatDate2(os.time()) BuildOnline() BuildMainStat(user) PS. Работоспособность не проверял. PPS. Для сообщения дня напишу чуть позже |
Invisible, Saymon21 | ||
11.9.2010, 1:36 |
Переименовка Ptokax Dc Hub 0.3.6.0 можно ли переименовать |
Удаление копирайта PtokaX Открываем SettingManager.cpp, находим (в районе 1400 строки): Код if(sTexts[SETTXT_HUB_TOPIC] == NULL) { Заменяем на:iLen = sprintf(msg, "$HubName %s|<%s> %s %s (%s: ", sTexts[SETTXT_HUB_NAME], sPreTexts[SetMan::SETPRETXT_HUB_SEC], LanguageManager->sTexts[LAN_THIS_HUB_IS_RUNNING], sTitle.c_str(), LanguageManager->sTexts[LAN_UPTIME]); } else { iLen = sprintf(msg, "$HubName %s - %s|<%s> %s %s (%s: ", sTexts[SETTXT_HUB_NAME], sTexts[SETTXT_HUB_TOPIC], sPreTexts[SetMan::SETPRETXT_HUB_SEC], LanguageManager->sTexts[LAN_THIS_HUB_IS_RUNNING], sTitle.c_str(), LanguageManager->sTexts[LAN_UPTIME]); } Код if(sTexts[SETTXT_HUB_TOPIC] == NULL) { iLen = sprintf(msg, "$HubName %s|", sTexts[SETTXT_HUB_NAME]); } else { iLen = sprintf(msg, "$HubName %s - %s|", sTexts[SETTXT_HUB_NAME], sTexts[SETTXT_HUB_TOPIC]); } Открываем utility.cpp, находим (в районе строки 973): Код int GetWlcmMsg(char * sWlcmMsg) { Заменяем на:#ifdef _WIN32 int iLen = sprintf(sWlcmMsg, "%s%I64d %s, %I64d %s, %I64d %s / %s: %I32d)|", SettingManager->sPreTexts[SetMan::SETPRETXT_HUB_NAME_WLCM], #else int iLen = sprintf(sWlcmMsg, "%s%" PRIu64 " %s, %" PRIu64 " %s, %" PRIu64 " %s / %s: %u)|", SettingManager->sPreTexts[SetMan::SETPRETXT_HUB_NAME_WLCM], #endif iDays, LanguageManager->sTexts[LAN_DAYS_LWR], iHours, LanguageManager->sTexts[LAN_HOURS_LWR], iMins, LanguageManager->sTexts[LAN_MINUTES_LWR], LanguageManager->sTexts[LAN_USERS], ui32Logged); if(CheckSprintf(iLen, 1024, "GetWlcmMsg2") == false) { sWlcmMsg[0] = '\0'; return 0; } return iLen; } Код int GetWlcmMsg(char * sWlcmMsg) { int iLen = sprintf(sWlcmMsg, "%s", SettingManager->sPreTexts[SetMan::SETPRETXT_HUB_NAME_WLCM]); if(CheckSprintf(iLen, 1024, "GetWlcmMsg2") == false) { sWlcmMsg[0] = '\0'; return 0; } return iLen; } Далее качаем Borland Developer Studio или Borland C++ Builder, и собираем PtokaX.exe из исходников. А пока качается, размышляем о том, имеем ли мы моральное право удалять копирайты. PS. А для особо ленивых выкладываю модифицированную GUI-версию: [attachment=5006:PtokaX_n...opyright.rar] файл раздается на правах лулзов |
Invisible, Alexey, dembel | ||
10.9.2010, 16:08 |
StatPX Lite API2 | Веб-статистика хаба, чат-ранг, статистика местоположения юзеров |
Ksan Вообще-то время запуска хаба устанавливается в строке 36, и только при первом запуске: Код if not tHubStat.Start then tHubStat.Start = os.time() end А 267 строка - это и есть та самая функция установки времени запуска в "удобоваримом" формате. В связи с этим у меня предложение: давайте будем хоть немного вникать в суть прежде чем писать сообщения. И еще. Давайте не будем устанавливать километровые подписи. |
мамин_парень | ||
10.9.2010, 4:18 |
StatPX Lite API2 | Веб-статистика хаба, чат-ранг, статистика местоположения юзеров |
Error404 Даже представляю, куда могла деться переменная, обьявленная в самом начале скрипта. Может ты сам ее удалил? Или пытаешься подсунуть птоке файл конфигурации отдельно от скрипта? А ты в config.lua задал переменную path? Она задается глобально в StatPX_Lite.luaДоступна версия 1.00 beta2. Изменения: * Исправлена ошибка в функции перезагрузки шаблонов * Добавлена возможность использовать в сообщении дня переменной [MESSAGES], отвечающей за количество сообщений текущего юзера. * Удален отладочный код, приводящий к периодическому получению сообщения об ошибке "Ошибка StatPX Lite: upd" * Удалены неиспользуемые настройки, оставшиеся от StatPX * Незначительные исправления скина Default * Добавлен скин Simple * Более оптимальные настройки по умолчанию |
мамин_парень, Unique | ||
9.9.2010, 20:49 |
Registrator API2 | Скрипт регистрации |
Has21 Первая ошибка возникает из-за наличия символа процента в нике юзера, вторая - из-за использования команды смены пароля без аргументов. Лечатся так: Код return (tMsg.Reg:gsub("%[nick%]",user.sNick):gsub("%[pass%]",pass)) заменить на Код return (tMsg.Reg:gsub("%[nick%]",user.sNick:gsub("%%","%%%%")):gsub("%[pass%]",pass:gsub("%%","%%%%"))) Код [tCmd.NewPass] = function(user,data) заменить на local tReg = RegMan.GetReg(user.sNick) if tReg then local pass = data:match("^(%S+)") local newpass = data:match("^%S+%s+(%S+)") if pass and newpass then if tReg.sPassword == pass then RegMan.ChangeReg(tReg.sNick,newpass,tReg.iProfile) return "Пароль изменён. Новый пароль - "..newpass..". Не забудьте исправить пароль в настройках избранного хаба." else return "Неверный пароль." end else return "Ошибка синтаксиса. Синтаксис: "..sPrefix..tCmd.NewPass.." <старый пароль> <новый пароль>." end else return "Команда доступна только для зарегистрированных пользователей!" end end, Код [tCmd.NewPass] = function(user,data) if data then local tReg = RegMan.GetReg(user.sNick) if tReg then local pass = data:match("^(%S+)") local newpass = data:match("^%S+%s+(%S+)") if pass and newpass then if tReg.sPassword == pass then RegMan.ChangeReg(tReg.sNick,newpass,tReg.iProfile) return "Пароль изменён. Новый пароль - "..newpass..". Не забудьте исправить пароль в настройках избранного хаба." else return "Неверный пароль." end else return "Ошибка синтаксиса. Синтаксис: "..sPrefix..tCmd.NewPass.." <старый пароль> <новый пароль>." end else return "Команда доступна только для зарегистрированных пользователей!" end end return "Ошибка синтаксиса команды" end, |
Milena, Has21 | ||
9.9.2010, 17:18 |
StatPX Lite API2 | Веб-статистика хаба, чат-ранг, статистика местоположения юзеров |
Выложил 2 скина. Подробности во втором посте. |
мамин_парень, Unique | ||
8.9.2010, 21:54 |
StatPX Lite API2 | Веб-статистика хаба, чат-ранг, статистика местоположения юзеров |
*FoxMalder* Покрути эти опции: Код ForceUpdate = 10, -- Количество отключений/подключений пользователей, после которого будет произведено внеочередное обновление статистики Код CountryStatsUpdate = 10, -- Число подключений, по достижении которого будет обновлен топ стран. Рекомендуется увеличить значение параметра на хабах с онлайном более 1000 Поставь около 50 в обеих. |
мамин_парень, Unique | ||
8.9.2010, 18:55 |
StatPX Lite API2 | Веб-статистика хаба, чат-ранг, статистика местоположения юзеров |
Invisible Найди кусок кода: Код {"%[RANK%]",[[ result = result:gsub("%[RANK%]",tChatRank[user.sNick] and GetRank(tChatRank[user.sNick]) or "нет")]]}, После него добавь: Код {"%[MESSAGES%]",[[ result = result:gsub("%[MESSAGES%]",tChatRank[user.sNick] or 0)]]}, Теперь можно использовать переменную [MESSAGES] в сообщении дня |
Invisible, Saymon21, мамин_парень, Unique | ||
8.9.2010, 16:26 |
StatPX Lite API2 | Веб-статистика хаба, чат-ранг, статистика местоположения юзеров |
*FoxMalder* Сколько юзеров на хабе? |
мамин_парень | ||
8.9.2010, 5:23 |
StatPX Lite API2 | Веб-статистика хаба, чат-ранг, статистика местоположения юзеров |
Часто задаваемые вопросы Вопрос: Зачем было удалять базу данных пользователей? Кому она мешала? Ответ: Это сделано для того, чтобы сделать возможной работу скрипта на крупных инет-хабах - из-за засорения БД динамическими IP-адресами, StatPX становился неработоспособным уже через несколько дней использования. Данный скрипт лишен этого недостатка. Вопрос: В какую папку надо положить папки со смайлами и флагами чтобы они отображались на сайте? Ответ: В ту же папку, в которую сохраняются сгенерированные html-страницы Вопрос: Как сделать так, чтобы страницы статистики могли видеть юзеры из сети? Ответ: Для этого необходимо установить веб-сервер (например Apache), и указать в качестве пути сохранения страниц корневую директорию веб-сервера Вопрос: Как заставить работать пункт "Последний зарегистрировавшийся юзер" на главной странице? Ответ: Для этого необходимо добавить в скрипт регистрации код, записывающий ник зарегистрировавшегося юзера в файл lastreg.txt, находящийся в папке StatPX_Lite. Код должен выглядеть примерно так: Код local lastreg = io.open(Core.GetPtokaXPath().."scripts/StatPX_Lite/lastreg.txt","w") К примеру, в скрипт Registrator этот код нужно добавить сразу после строк:if lastreg then lastreg:write(user.sNick) lastreg:close() end Код if tCfg.ShowToAll then ToAll("Поприветствуем нового зарегистрировавшегося участника - "..user.sNick.."!") end Скины pixabella green |
Invisible, Saymon21, Dimon21, DEN 007, dj_crazy_joker, ImDim, мамин_парень, kztm, Unique | ||
8.9.2010, 5:18 |
StatPX Lite API2 | Веб-статистика хаба, чат-ранг, статистика местоположения юзеров |
StatPX Lite Версия: 1.01 beta Версия API: API2 Системные требования: PtokaX 0.4.x.x, Lua 5.1 Автор: alex82 Описание: Скрипт представляет собой переделанный и дополненный StatPX. Основные отличия от оригинала: * удалена база данных юзеров (со всеми вытекающими отсюда последствиями - топ хабберов и статистика посещаемости также пошли под нож) Возможности скрипта: Статистика хаба:учёт рекордов по размеру шары и количеству пользователей Скачать: [attachment=5140:StatPX_L....01_beta.rar] Старые версии [attachment=5004:StatPX_L...00_beta2.rar] Флаги стран: [attachment=4993:flags.rar] Смайлы: [attachment=4995:smiles.rar] |
Nickolya, Tsd, Invisible, Ksan, Артём, Accelerator, Satib, dka, Milena, Saymon21, Dimon21, Just, random name, WINS, viperrr, grifons, ke(x)one, dj_crazy_joker, ImDim, Hashish, мамин_парень, Unique | ||
8.9.2010, 4:04 |
StatPX API1, API2 | Статистика хаба |
Оно должно быть включено в настройках скина: Код ShortStat = n, -- Генерировать страницу краткой статистики для размещения на главной странице сайта (шаблон shortstat.tpl) Ты, эт самое, уточни с какой версией возишься. 1.05 сильно отличается от предыдущих. |
Milena | ||
8.9.2010, 2:41 |
StatPX API1, API2 | Статистика хаба |
Дело в том, что автор скрипта - ленивая скотина. Он до сих пор не переделал шаблоны, предназначенные для встраивания в движки, под новую версию StatPX (формат шаблонов изменился в версии 1.05). В общем, в данный момент единственный выход - самому сверстать шаблоны для Вашего движка. PS. Хотя, можно взять шаблон краткой статистики из старой версии скрипта (разумеется, нужно переименовать его из hubstat.tpl в shortstat.tpl) - изменений в нем почти нет. Это не решит всех проблем, однако ручной работы станет поменьше. |
Milena, Avalon55 | ||
5.9.2010, 20:44 |
Автозапуск с Windows |
http://mydc.ru/index.html?showtopic=1164&a...ost&p=32061 To Saymon Ту тему давно пора прибить, или на худой конец убрать из прилепленных - она морально устарела |
random name | ||
3.9.2010, 13:50 |
Registrator API2 | Скрипт регистрации |
Milena, xXx-Portal | |||
2.9.2010, 4:14 |
вход/выход |
kc_duke [attachment=4975:conn_log.lua] |
Invisible, kc_duke | ||
28.8.2010, 17:42 |
HubBanner API2 | Графический баннер хаба |
Доступна версия 2.01 Изменения: * Добавлена возможность отрисовки текста произвольным шрифтом (можно использовать любые шрифты, поддерживаемые библиотекой FreeType). * В настройки изображений добавлена переменная [topic]. * Открыд код функции отрисовки текста шрифтом Visitor. |
Invisible, Saymon21, averon.nv | ||
28.8.2010, 11:59 |
StatPX API1, API2 | Статистика хаба |
640 строка. Меняем Код MOTDChat на Код (MOTDChat or "") |
alexvv, Milena, xXx-Portal | ||
26.8.2010, 23:54 |
Hub Menu API2 | Меню для встроенных команд PtokaX |
xXx-Portal Подозреваю, что всему виной кривая настройка прав профилей, точнее пункта "Заходить с забаненных IP-адресов". |
Milena, xXx-Portal | ||
16.8.2010, 12:18 |
PXControl Удаленное управление PtokaX 0.4.x.x |
Хотелось бы чтобы можно в настройках указать с ключиком/без ключика с сохранением всех функций. Насколько мне известно, права на просмотр статистики имеют все юзеры. А насчет всех функций - доступ к некоторым функциям (в частности, UDP-отладчик) дается ТОЛЬКО с ключом, и это НИКАК нельзя исправить из Lua.И перестань называть юзера ботом. Никакой это не бот, а обычный юзер. А клиент PXControl - обычный DC-клиент, в который добавлены расширения протокола для управления настройками, и UDP-отладчик. |
Milena | ||
15.8.2010, 18:48 |
ChatHistorySQL История чата |
Добавлен конвертер БД ChatLogsMySQL --> ChatHistorySQL |
Nickolya, Milena, Saymon21 | ||
14.8.2010, 19:39 |
StatPX API1, API2 | Статистика хаба |
averon.nv Ну так укажи высоту ячейки Код <tr><td align="center" height="30"><a href="http://страница"><IMG SRC="http://адрес рисунка.png" border="0" alt="Перейти к теме"></a></td></tr> |
Milena | ||
14.8.2010, 18:55 |
StatPX API1, API2 | Статистика хаба |
ALex82 Нихрена не понял.Спасибо, копирайт вернулся, но сейчас у изображения появился отступ первой строки и после него - как бы по середине стал - так и должно быть? И не отображается фукция «alt="Перейти к теме"» - при наведении мышкой на изображение, показывает обычный переход по указнной ссылке, когда за место этого должно быть замена на: Перейти к теме Насколько мне известно, alt используется в том случае, когда в браузере отключено отображение рисунков. Для создания всплывающей подсказки нужно использовать параметр title тега aНиколяся Не надо флудить. |
Milena | ||
14.8.2010, 18:17 |
StatPX API1, API2 | Статистика хаба |
averon.nv Вставлять нужно внутрь таблицы: Код <body> <table cellpadding="0" cellspacing="0" border="0" align="center" class="mainblock"> <tr><td align="center"><a href="http://страница"><IMG SRC="http://адрес рисунка.png" border="0" alt="Перейти к теме"></a></td></tr> <tr><td valign="top" class="content"> <table class="head" width="100%" cellpadding="0" cellspacing="0" align="center"> <tr> <th nowrap="nowrap" class="head">Статистика хаба [HUBNAME]</th> </tr> Код но как сайт вкл не получается Я надеюсь, у тебя установлен вебсервер? Или ты ждешь, что раздавать файлы в сеть начнет сама птока? |
Milena | ||
14.8.2010, 17:56 |
PXControl Удаленное управление PtokaX 0.4.x.x |
Можно создать отдельный профиль админа без ключа, но в этом случае не будет работать UDP-отладчик. А можно заставить сервер удалять админа, использующего команды удаленного управления, из списка юзеров: |
Tsd, Milena, Saymon21 | ||
14.8.2010, 1:13 |
PXControl Удаленное управление PtokaX 0.4.x.x |
Milena | |||
2.8.2010, 5:05 |
От: StatPX От темы с ID: 1269 |
Ну вот, приехали. В моем скрипте без моего ведома появилась функция чат-ранга, а я узнаю об этом последним. А если серьезно... ...то это вовсе не чат-ранг, а звание топа хабберов - по проведенному на хабе времени. И в конфиге есть соответствующий комментарий: Цитата Ранги должны добавляться от самого низкого к самому высокому {время,"Ранг"} [время] - количество дней проведённых пользователем на хабе Пример: {30, "Постоялец"} Означает: чтобы получить ранг "Постоялец" пользователь должен просидеть на хабе не менее 1 месяца |
Invisible | ||
31.7.2010, 19:10 |
LinkCollect API2 | Сборщик ссылок |
GASTROLER692 Теоретически можно все. Если ты внятно обьяснишь свою задумкку, тогда станет ясно, можно ли это практически. |
Invisible | ||
28.7.2010, 21:57 |
IP Info API2 | Информация об IP-адресах, отправленных в главный чат |
IP Info Версия скрипта: 1.00 Версия API: API2 (PtokaX 0.4.0/0.4.1, LUA 5.1) Автор: alex82 Описание: Скрипт отлавливает в главном чате IP-адреса, и отображает информацию о них. Если информация об IP-адресе не найдена в базе данных скрипта, то он попытается определить местоположение адреса по базе данных IP-To-Country. [attachment=4784:IPInfo_1.00.rar] |
Nickolya, intlive, rus.region78, Invisible, rival, Milena, Chimera, Cyber_voodoo | ||
26.7.2010, 10:06 |
FAQ | Часто задаваемые вопросы Общие вопросы относительно программирования на Lua |
Вопрос: Не могу запустить lua.exe - выкидывает ошибку "Приложению не удалось запуститься, поскольку оно некорректно настроено. Повторная установка приложения поможет решить проблему". Подскажите, что надо настроить, чтобы эта ошибка не возникала? Ответ: Данная ошибка присуща официальным бинарникам Lua и пакету LuaForWindows. Для ее устранения нужно установить набор runtime-библиотек Visual C++ 2005: Вопрос: Я написал скрипт на Lua, но, судя повсему, допустил в нем ошибку - консоль Lua сразу закрывается, игнорируя ключ -i, и я не могу посмотреть сообщение об ошибке. Подскажите, можно ли сделать так, чтобы консоль переходила в интерактивный режим даже в том случае, когда в скрипте есть синтаксическая ошибка? Ответ: Можно. Для этого Вы можете добавить в контекстное меню Lua-скриптов команду, запускающую скрипт в "безопасном" режиме: Код Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\lua\shell\runsafe] @="Запуск (безопасный режим)" [HKEY_CLASSES_ROOT\lua\shell\runsafe\command] @="\"D:\\Program Files\\lua\\lua.exe\" -i -e \"r,e = pcall(dofile,[=[%1]=]); if r then print([=[File %1 has no errors]=]) else print(e) end\"" либо команду, позволяющую проверить скрипт на наличие синтаксических ощибок, но не запускающую его выполнение (Следует помнить, что данная команда проверяет скрипт только на наличие грубых синтаксических ошибок, не позволяющих интерпретатору Lua скомпилировать его в байт-код. Для поиска ошибок в алгоритмах скрипта, Вам необходимо отлаживать его непосредственно на той платформе, для которой он написан): Код Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\lua\shell\check] @="Проверить" [HKEY_CLASSES_ROOT\lua\shell\check\command] @="\"D:\\Program Files\\lua\\lua.exe\" -i -e \"r,e = loadfile([=[%1]=]); if r then print([=[File %1 has no errors]=]) else print(e) end\"" Чтобы добавить команду в контекстное меню, скопируйте код в файл с расширением .reg, и запустите его. Во всех приведенных выше фрагментах кода предполагается, что бинарники Lua находятся в папке D:\Program Files\lua\. Если Lua установлен в другую папку, то Вам необходимо исправить пути вручную. Имя раздела реестра, который используется для создания контекстных меню файлов с расширением .lua, также может отличаться. Чтобы узнать его, запустите редактор реестра, откройте ветвь HKEY_CLASSES_ROOT, найдите раздел .lua, и посмотрите значение параметра "По умолчанию". Если Вы по каким-либо причинам не хотите лезть в реестр, то можете воспользоваться готовым файлом, который внесет все необходимые изменения, и добавит в контекстное меню файлов .lua и .luac команды для редактирования в Notepad++, запуска в обычном и безопасном режимах, и проверки на наличие ошибок: [attachment=4766:lua.reg.rar] Не забудьте исправить пути перед запуском файла! |
Nickolya, Invisible, Drakula, Milena, Saymon21 | ||
26.7.2010, 0:13 |
Ваши Вопросы И Предложения По Поводу Форума |
Это вроде как в "Всё о Direct Connect" надо. Еще можно реорганизацию раздела скриптов для птоки. Уже давно просится раздел "Взаимодействие хаба с сетью" (ну, или что-то в этом роде), в который можно переместить все веб-статистики, мониторинги игровых серверов, парсеры RSS - в общем, все, что так или иначе взаимодействует с Сетью. Также можно выделить все антиматы, антирекламы и антипрокси в раздел "Безопасность" |
Nickolya, Saymon21 | ||
25.7.2010, 13:51 |
ChatHistorySQL История чата |
ChatHistorySQL Версия скрипта: 1.00 Версия API: API2 (PtokaX 0.4.0/0.4.1, LUA 5.1) Автор: alex82 Описание: Скрипт предназначен для сохранения истории сообщений главного чата в базе данных MySQL, и последующего вывода ее при подключении к хабу, либо по запросу. Имеется возможность поиска сообщений по нику, IP-адресу, или тексту. Также имеется возможность создания резервной копии базы данных скрипта непосредственно с помощью меню хаба, либо команды в главном чате. Скрипт умеет самостоятельно восстанавливать соединение с сервером MySQL. ВНИМАНИЕ! Для работы скрипта требуется библиотека MySQL. Перед запуском скрипта необходимо создать базу данных MySQL. [attachment=4760:ChatHist...SQL_1.00.rar] Конвертер базы данных ChatLogsMySQL --> ChatHistorySQL [attachment=4885:chatlog_converter.rar] |
Nickolya, intlive, rus.region78, Tsd, Invisible, Herurg, Kingston, whuru, Milena, CrazyKiller, Saymon21, Dimon21, WINS, lankmv, shullz | ||
24.7.2010, 12:23 |
! Часто Задаваемые Вопросы ! Обязательно прочитать всем!!! |
Как установить/удалить/запустить PtokaX как службу? Консольная версия PtokaX прекрасно умеет устанавливать себя как системную службу.
Примеры: Конфигурирование директории и установка сервиса: Код "C:\Program Files\PtokaX\PtokaX.exe" -c "C:\PtokaX\" -i "PtokaX" Удаление сервиса: Код "C:\Program Files\PtokaX\PtokaX.exe" -u "PtokaX" Для запуска и остановки службы можно также использовать консольную программу NET, входящую в состав Windows. Команда запуска службы: Код NET START PtokaX Команда остановки: Код NET STOP PtokaX |
Invisible, Saymon21, shur49, мамин_парень | ||
13.7.2010, 23:41 |
StatPX API1, API2 | Статистика хаба |
одно интересное место в стате пользюка, обязательно такая космическая точность нужна? строку 433 меняем на эту: Код FormatTime(math.round(tUserStat[IP].TotalTime/iAverage)).."\n\t- Ранг: "..GetRank(IP).."\n" И еще один момент: пишутся в лог любые русскоязычные команды, которые не перехватили вышестоящие скрипты. Надо хотя-бы для приличия заглянуть в файл настроек. Там каждая настройка откомментирована.Цитата CmdPattern = "[a-zA-Z]+", --Шаблон команд в главном чате. Используется для фильтрации команд в логе главного чата. --Шаблон, подходящий для настроек PtokaX по умолчанию: "[a-zA-Z]+" --Если на хабе используются команды, содержащие символы кириллицы или цифры, то вместо [a-zA-Z]+ нужно использовать %S+ |
Milena | ||
1.7.2010, 1:27 |
StatPX API1, API2 | Статистика хаба |
Доступна версия 1.05. Изменения: Исправлена ошибка в функции поиска IP (attempt to concatenate global 'IP' (a nil value)) |
Milena, Saymon21 | ||
30.6.2010, 23:23 |
StatPX API1, API2 | Статистика хаба |
Цитата В Web.lua нашел строку: Шаблона действительно нет. Качаем одну из старых версий, и берем шаблон оттуда.Код ADDITMAINSTAT = LoadTemplate(path..tWebCfg.Skin.."/shortstat.tpl") Но шаблона этого нет. Или мы его создаем? Цитата Никто не пробовал интегрировать сюда скрипт ChatLogsMySQL? Зачем его сюда интегрировать? Ставь отдельно, бери веб-морду из webstats Романова, и подгоняй под дизайн StatPX.Цитата Простите. Но если проблема известная, почему же ее в релизе не исправить сразу? В ближайшем будущем исправлю все засветившиеся ошибки. Может быть даже сегодня.Цитата truth, не годится, т.к. в сгенерированных страничках исчезнет ссылка на лог чата, автор это предусмотрел. А что мешает убрать соответствующий переключатель из header.tpl? |
Milena, Naum_Off | ||
28.6.2010, 21:12 |
Нужна помощь по 2 скриптам |
Не по таймеру, а при подключении нового юзера Код function UserConnected(user) Core.SendToUser(user,BotShit) end OpConnected = UserConnected RegConnected = UserConnected Отправка по таймеру будет жрать траффик |
prokazzza | ||
26.6.2010, 0:49 |
ScriptTimer API2 | Запуск/остановка скрипта по таймеру |
ScriptTimer Версия: 1.00 Версия API: API2 (Lua 5.1; PtokaX 0.4.x.x) Автор: alex82, Nickolya Описание: Скрипт предназначен для запуска и остановки указанного скрипта в заданное время. [attachment=4652:ScriptTimer_1.00.7z] Перенесено из раздела "Запросы скриптов" |
Tsd, Invisible, Karumo, rival, Milena, TiGRpp, Pro009, sania, shur49 | ||
21.6.2010, 10:43 |
Sourcemon API2 | Мониторинг игровых серверов Source и GoldSource |
Разве настройки серверов находятся в нескольких файлах? Код {Addr = "localhost",Timeout = 1,Client = "http://sample.ru/file.exe", Forum="http://sample.ru/forum/"}, |
Milena, brauzer84 | ||
21.6.2010, 10:37 |
Угадай онлайн API2 |
Я тупо забыл добавить в архив файл конфига. Перезалил архив. |
Nickolya, Invisible, Milena | ||
18.6.2010, 16:11 |
Угадай онлайн API2 |
Угадай онлайн Версия: 1.01 Версия API: API2 (PtokaX 0.4.x.x) Автор: alex82 Описание: Смысл игры заключается в угадывании количества юзеров на хабе в определенное время. Если никому из игроков не удалось угадать точное число юзеров, победителем становится тот, кто был наиболее близок к к победе. [attachment=4636:GuessOnline_1.01.rar] |
Nickolya, Invisible, Milena, Saymon21, Pro009, random name, Тёмич, доктор ливси, ImDim | ||
18.6.2010, 15:52 |
Sourcemon API2 | Мониторинг игровых серверов Source и GoldSource |
ребят...мож знает кто как добавить ссылку на сам клиент для игры... После этого: Код if tCfg.ShowServerCmd then msg = msg.."\n"..sTab.."Для получения подробной информации введите "..Prefix..tCmd.Server.." "..i end вставляешь. Код if tServers[i].Client then msg = msg.."\n"..sTab.."Скачать клиент: "..tServers[i].Client end if tServers[i].Forum then msg = msg.."\n"..sTab.."Форум сервера: "..tServers[i].Forum end Теперь в настройки серверов можно добавлять параметры Client и Forum. |
Milena, brauzer84 | ||
18.6.2010, 15:26 |
Nick Protect API2 | Защита ников от подделки |
Nick Protect Версия: 1.00 Версия API: API2 Автор: alex82 Описание: Скрипт предназначен для защиты ников от подделки методом подмены символов на аналогичные по начертанию. ВНИМАНИЕ! Скрипт не совместим с идиотскими никами операторов (@dm1№, |З@©Я, и.т.д). Настоятельно рекомендуется удалить операторов с такими никами перед установкой скрипта. [attachment=4618:nick_protect_1.00.rar] |
Nickolya, FallenAngel, mariner, Karumo, OVERLORD1979, Drakula, Kingston, Milena, Jet1k, Barmolei0808, Saymon21, FreeNas, TiGRpp, WINS, DEN 007, Змий | ||
12.6.2010, 16:16 |
Hub Menu API2 | Меню для встроенных команд PtokaX |
Как именно не работает? Команда пролетает в чат, или вылазит сообщение о неизвестной команде? Если второе, то виноват один из скриптов, блокирующий команду !topic |
Milena | ||
31.5.2010, 19:57 |
StatPX API1, API2 | Статистика хаба |
Правильное исправление ошибки: меняем 274 строку на эту: Код if #tCopy[i].sRank < 9 then tCopy[i].sRank = tCopy[i].sRank.."\t" end |
Milena, Saymon21 | ||
24.5.2010, 18:52 |
StatPX API1, API2 | Статистика хаба |
Строка 374: Код return "\n\t"..string.rep("=", 40).."\n\tРезультат поиска по IP "..IP..": ".."\n\t"..string.rep("=", 40).. заменяем на: Код return "\n\t"..string.rep("=", 40).."\n\tРезультат поиска по IP "..data..": ".."\n\t"..string.rep("=", 40).. |
Milena | ||
23.5.2010, 23:19 |
StatPX API1, API2 | Статистика хаба |
Конвертер баз писал довольно давно, и уже подзабыл как он работает. Код if loadfile(fOnline) then Отсюда следует, что птока не просто открывает файл, а пытается загрузить его как порцию Lua, и не может, поскольку в файле есть синтаксическая ошибка.-- blablabla else error("Файл "..fOnline.." не найден.") end Чтобы узнать, где именно ошибка, сделай так: Код function Main() local c,e = loadfile(fOnline) if c then os.execute("md \""..path.."StatPX/\"") dofile(fOnline) for i, v in pairs(tUserStat) do tUserNicks[i] = tUserStat[i].Names tUserStat[i].Names = nil end Save() else error("Ошибка: "..e) end end |
Milena | ||
23.5.2010, 22:49 |
StatPX API1, API2 | Статистика хаба |
Возраст хаба - хотелось бы что б это была дата, которую можно было указать. Моему хабу, к примеру, не 15 минут отроду. В data.tbl видимо делается запись Start и берутся значения из неё, я так понял - т.е. можно подправить там, только пока не понятен формат даты / числа, в котором оно там записано. Ну а для чего, по-твоему, сделано меню "Установить время запуска"?Цитата можно ли такую опцию, как ввести настраиваемый диапозон IP адресов, кол-во пользователей из которого на графике будет отображено отдельной линией? смысл сей "фантазии" в том, чтобы, к примеру, локальные (пользователи локальной сети) и внешние пользователи (точнее их кол-во) на графике как-то отражались, или, например, россияне и все остальные. "Нафантазировать" можно и подвязку графиков к ip-to-country.csv, но это уже имхо излишний гемор, чтобы получить "кашу", а не график. Можно и отдельной линией, но придется перепилить весь код создания графиков. Куда проще сделать это отдельным графиком.Цитата Под виндой я так понял дело связано с слешом. (пытаться победить даже не стал) При любой чертовщине с файлами хорошо помогает утилита FileMon - она покажет, где на самом деле птока ищет файл, и почему не может открыть его.Под фри пробовал в скрипте указать полные пути но все арвно ошибка появлятся таже. (уж поверте файл базы по этим путям есть ) что делать как быть? |
Milena | ||
21.5.2010, 10:31 |
StatPX API1, API2 | Статистика хаба |
Доступна версия 1.05 beta Список изменений: Переписаны функции обработки команд. |
Nickolya, truth, Milena, Saymon21 | ||
20.5.2010, 15:51 |
Registrator API2 | Скрипт регистрации |
baralgin Цитата можно ли переделать этот скрипт так, что бы список зарегестрированных пользователей чистился сам, например если с аккаунта не выходили месяц , то он удаляется автоматически Это можно реализовать отдельным скриптом. Где-то на форуме такой валялся (название даже приблизительно не помню).Цитата и добавить ограничение на скорость скачки незарегестрированным юзерам Это нереализуемо в принципе - скачка происходит напрямую между клиентами, и хаб не может контролировать ее. |
Milena | ||
18.5.2010, 4:02 |
От: StatPX От темы с ID: 1269 |
Saymon21 | |||
14.5.2010, 20:35 |
StatPX API1, API2 | Статистика хаба |
alex82, спасиб за функцию, все сделал, работает отлично. WMR есть? Хоть на пивас подкину ;) WMR нету, зато есть WMZ - Z843102502936 Цитата alex82, как правильно запихнуть функцию перекодирования в utf8?) Пихай сразу после открывающего тега препроцессора (<?php или просто <?) - не ошибешься. И включи отображение ошибок PHP - не дело отлаживать скрипты вслепую.Если заменить на Код $this->output = toutf8(@file_get_contents("имя_файла")); старничка вовсе не отображается.. Код error_reporting = E_ALL (это в php.ini)display_errors = On |
Milena | ||
14.5.2010, 6:55 |
StatPX API1, API2 | Статистика хаба |
Постановления обязующие хранить чуть ли не логи личек уже давно актуальны, но хоть это благо компенсируется пониманием исполнителей. Из запросов с которыми приходилось сталкиваться - "ник такой-то в такое-то время - какой IP адрес был?" Ответы на такие вопросы формулировкой "нет технической возможности" вполне могут закончится закрытием ресурса, как "несоответствующего требованиям постановления №...". Проблема решается с помощью переноса хаба на выделенный сервер, находящийся в цивилизованной стране.Беларусским патриотам Можете сколько угодно брызгать слюной в монитор по поводу сказанного выше, но мое мнение останется неизменным - государство с ТАКИМИ законами нельзя считать цивилизованным. |
Milena | ||
13.5.2010, 22:19 |
StatPX API1, API2 | Статистика хаба |
Milena | |||
13.5.2010, 19:35 |
StatPX API1, API2 | Статистика хаба |
Когда онлайн хаба 3.5-4к и файл базы до метров 9ти-10ти разрастается, начинает складываться ощущение, что сервер только тем и занимается, что работает с этим файлом. Если закрыть Птоху, то она закрываться будет минуту - две. Это нормально, или мне имеет смысл поискать потенциальный конфликт с другими скриптами? Это нормально - Lua не умеет работать с такими большими объемами данных - вот оно и тупит. Экспериментальным путем было выяснено, что предел скрипта - 50 тысяч записей в базе. При достижении этого предела Lua умирает.После выхода новой версии слеплю облегченный вариант скрипта - с веб-статистикой, но без статистики ников/IP. А как насчет интеграции с IPB 3? Добавляем дополнительную страницу со всей статой хаба.. иными словами: статистика в шаблоне форума (= Ну, тогда ничего не мешает подгрузить в эту страницу содержимое файла статистики.Было бы весьма популярно. Понимаю, что это не так легко, но авось выйдет. Как сделать доп. страницу с поддержкой php на IPB 3 уже известно Прежде всего, добавляем в скрипт функцию перекодирования cp1251 в utf8 (поскольку мазохистский движок phpbb3 работает именно в этой кодировке, а функция utf8_encode, встроенная в не менее мазохистский язык php, не умеет работать с кодировкой cp1251): Код function toutf8 ($txt) { $in_arr = array ( chr(208), chr(192), chr(193), chr(194), chr(195), chr(196), chr(197), chr(168), chr(198), chr(199), chr(200), chr(201), chr(202), chr(203), chr(204), chr(205), chr(206), chr(207), chr(209), chr(210), chr(211), chr(212), chr(213), chr(214), chr(215), chr(216), chr(217), chr(218), chr(219), chr(220), chr(221), chr(222), chr(223), chr(224), chr(225), chr(226), chr(227), chr(228), chr(229), chr(184), chr(230), chr(231), chr(232), chr(233), chr(234), chr(235), chr(236), chr(237), chr(238), chr(239), chr(240), chr(241), chr(242), chr(243), chr(244), chr(245), chr(246), chr(247), chr(248), chr(249), chr(250), chr(251), chr(252), chr(253), chr(254), chr(255) ); $out_arr = array ( chr(208).chr(160), chr(208).chr(144), chr(208).chr(145), chr(208).chr(146), chr(208).chr(147), chr(208).chr(148), chr(208).chr(149), chr(208).chr(129), chr(208).chr(150), chr(208).chr(151), chr(208).chr(152), chr(208).chr(153), chr(208).chr(154), chr(208).chr(155), chr(208).chr(156), chr(208).chr(157), chr(208).chr(158), chr(208).chr(159), chr(208).chr(161), chr(208).chr(162), chr(208).chr(163), chr(208).chr(164), chr(208).chr(165), chr(208).chr(166), chr(208).chr(167), chr(208).chr(168), chr(208).chr(169), chr(208).chr(170), chr(208).chr(171), chr(208).chr(172), chr(208).chr(173), chr(208).chr(174), chr(208).chr(175), chr(208).chr(176), chr(208).chr(177), chr(208).chr(178), chr(208).chr(179), chr(208).chr(180), chr(208).chr(181), chr(209).chr(145), chr(208).chr(182), chr(208).chr(183), chr(208).chr(184), chr(208).chr(185), chr(208).chr(186), chr(208).chr(187), chr(208).chr(188), chr(208).chr(189), chr(208).chr(190), chr(208).chr(191), chr(209).chr(128), chr(209).chr(129), chr(209).chr(130), chr(209).chr(131), chr(209).chr(132), chr(209).chr(133), chr(209).chr(134), chr(209).chr(135), chr(209).chr(136), chr(209).chr(137), chr(209).chr(138), chr(209).chr(139), chr(209).chr(140), chr(209).chr(141), chr(209).chr(142), chr(209).chr(143) ); $txt = str_replace($in_arr,$out_arr,$txt); return $txt; } Затем загружаем файл статистики, и перекодируем его в UTF8: Код $content = toutf8(@file_get_contents("имя_файла")); После этого в переменной $content будет лежать содержимое файла, перекодированное в UTF8, и мы можем делать с ним все, что душе угодно. |
evg, serrrios, Milena, Saymon21 | ||
12.5.2010, 23:42 |
Trivia Mod API2 | Игра "Викторина" |
Прекрасно меняется. Главное - редактировать новую базу адекватным текстовым редактором (виндовый Блокнот таковым не является). |
Milena | ||
12.5.2010, 22:06 |
От: StatPX От темы с ID: 1269 |
serrrios Оно-то можно, только новая версия не за горами, и если после выхода ты захочешь обновиться - придется все переделывать по-новой. Может лучше чуток подождать? |
Saymon21 | ||
7.5.2010, 4:26 |
Функции Для Разработчиков склад полезных функций |
Не вижу проблему в установке локали - поставил локаль, инвертнул регистр, вернул локаль. Только работать такая функция будет раза в 2 медленнее, чем те, что выложил я.PS. Если вам не нравятся функции, выложенные мной - используйте другие. Я выложил их в надежде, что они окажутся полезными кому-нибудь, а вовсе не для того, чтобы развязать холивар. |
MIKHAIL | ||
6.5.2010, 16:12 |
Функции Для Разработчиков склад полезных функций |
Функции преобразования регистров: Код function string.lower2(s) return s:gsub("([А-Я])",function(str) return string.char(str:byte()+32) end):gsub("Ё", "ё"):lower() end function string.upper2(s) return s:gsub("([а-я])",function(str) return string.char(str:byte()-32) end):gsub("ё", "Ё"):upper() end Работают быстрее, чем все аналогичные функции, выложенные ранее в этой теме. __________________________________________________ Функция экранирования "волшебных" символов регулярных выражений Lua (собственно, даже не функция, а метод): Код :gsub("[%^%$%(%)%%%.%[%]%*%+%-%?]","%%%1") Метод необходим при использовании произвольных строк в качестве второго аргумента функций string.gsub(), string.match(), string.gmatch(). Пример: Код local result = data:gsub(str:gsub("[%^%$%(%)%%%.%[%]%*%+%-%?]","%%%1"),repl) Стоит напомнить, что в третьем аргументе функции string.gsub() необходимо экранировать символ %, иначе функция будет "съедать" этот символ, или вызывать ошибку "Invalid capture index". Экранирование производится так: Код repl:gsub("%%","%%%%") |
Nickolya, Alexey, Kingston, Saymon21, MIKHAIL | ||
6.5.2010, 12:44 |
FireBans API2 (Linux only) | Баны при помощи фаервола |
Андрей JuNiOr
При этом каждый бан будет сопровождаться мельканием консоли. |
Milena | ||
3.5.2010, 21:16 |
Lua-GD Библиотека для обработки изображений |
Nickolya, Milena, Kasteill | |||
2.5.2010, 9:30 |
Скрипт тестирования множеств в регулярных выражениях |
Версия Lua: 5.1 Автор: alex82 Описание: Данный скрипт наглядно демонстрирует, какие символы будут захвачены при использовании тех или иных множеств в регулярных выражениях Lua. Пример %a => A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z %c => \0 \1 \2 \3 \4 \5 \6 \a \b \t \n \v \f \r \14 \15 \16 \17 \18 \19 \20 \21 \22 \23 \24 \25 \26 \27 \28 \29 \30 \31 %d => 0 1 2 3 4 5 6 7 8 9 %l => a b c d e f g h i j k l m n o p q r s t u v w x y z %p => ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~ %s => \t \n \v \f \r <space> %u => A B C D E F G H I J K L M N O P Q R S T U V W X Y Z %w => 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z %x => 0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e f %z => \0 [attachment=4459:capture_test.lua] |
Nickolya, intlive, Ksan, Milena, Saymon21, X-Sky, MIKHAIL | ||
16.4.2010, 14:11 |
Нужен скрипт freshstuff под PtokaX 0.4.1.2 Нужен нормально работающий скрипт freshstuff под PtokaX 0.4.1.2 |
Решение проблемы предельно простое - перейти обратно на 0.4.1.1 |
мамин_парень | ||
15.4.2010, 20:48 |
Setting Saver API2 | Сохраняет настройки хаба |
Малость доработал скрипт - добавил функции сохранения профилей и скриптов. [attachment=4392:Settings_saver.lua] |
Tsd, Артём, HackFresse, Kingston, Saymon21, X-Sky, Enyby, random name, forZejkee, Kar@bas | ||
15.4.2010, 17:04 |
FireBans API2 (Linux only) | Баны при помощи фаервола |
Доступна версия 1.01 Изменения: * В сообщениях о бане теперь отображется причина бана. * При бане iptables блокирует только порты, используемые хабом. * Добавлена возможность временного бана. |
Milena | ||
15.4.2010, 0:59 |
FireBans API2 (Linux only) | Баны при помощи фаервола |
FireBans Версия: 1.01 Версия API: API2 Системные требования: iptables Совместимость с Windows: нет Автор: alex82 (Пинки в зад и ковыряние linux'а by mariner) Описание: Скрипт позволяет банить юзеров при помощи фаервола. Для забаненного юзера такой бан выглядит весьма забавно - как будто по данному адресу нет хаба. Равно как и всех остальных ресурсов, находящихся на этой машине. ВНИМАНИЕ! Для нормальной работы скрипта, необходимо добавить файл, указанный в переменной tCfg.File в автозапуск. [attachment=4386:FireBans_1.01.7z] Старые версии: [attachment=4383:FireBans_1.00.rar] PS. Если, несмотря на жирный красный шрифт, все же найдутся люди, которые захотят потестить скрипт под Windows, то я настоятельно рекомендую им закомментировать строки 95 и 109. PPS. Все вопросы, касающиеся настройки Linux'а, адресовать mariner'у |
Nickolya, Tsd, mariner, Ksan, Артём, Milena, Saymon21, andromed, MIKHAIL, мамин_парень | ||
12.4.2010, 19:29 |
Отправка сообщений в диапазон IP |
Угу, начудил... Зачем было пихать проверку диапазона в функцию обработки rss? В ней нету таблицы user, да и результат работы она засовывает в сообщение дня птоки. А оно глобальное, т.е одинаковое для всех, вне зависимости от диапазона. Как я понимаю, ты хочешь отправлять данные, полученные из rss-потока, юзерам из локалки при входе? Если да, то так делать нельзя: Код local ip = user.sIP:iptonumber() for _,range in ipairs(tLocal) do if range[1] <= ip and ip <= range[2] then if DoMotd and Motd ~= "" then SetMan.SetMOTD(Motd.."\n\n\t"..s) end Почему нельзя - написано одним абзацем выше. |
SAG | ||
11.4.2010, 18:42 |
Отправка сообщений в диапазон IP |
http://mydc.ru/topic3167.html http://mydc.ru/topic2816.html PS. Совсем забыл - проверяемый айпи тоже нужно перевести в числовой формат Код local ip = user.sIP:iptonumber() for _,range in ipairs(tLocal) do if range[1] <= ip and ip <= range[2] then -- Здесь выполняются действия, необходимые только для указанных диапазонов break end end |
valdis73, Saymon21 | ||
11.4.2010, 9:48 |
Отправка сообщений в диапазон IP |
Да и вообще, как это делается в скриптах? Создаем таблицу с диапазонами: Код tLocal = { {"10.0.0.0","10.255.255.255",}, {"172.16.0.0","172.31.255.255"}, {"192.168.0.0","192.168.255.255"}, } При запуске скрипта преобразовываем адреса в числовой формат: Код function OnStartup() for i in ipairs(tLocal) do tLocal[i][1] = tLocal[i][1]:iptonumber() tLocal[i][2] = tLocal[i][2]:iptonumber() end end Ну а дальше остается проверить принадлежность IP-адреса к одному из диапазонов: Код for _,range in ipairs(tLocal) do if range[1] <= ip and ip <= range[2] then -- Здесь выполняются действия, необходимые только для указанных диапазонов break end end Ну и, разумеется, нужна функция преобразования адреса в числовой формат: Код function string.iptonumber(ip) local i1, i2, i3, i4 = ip:match("^(%d+)%.(%d+)%.(%d+)%.(%d+)$") if i1 then return i1*16777216+i2*65536+i3*256+i4 end end |
Saymon21 | ||
29.3.2010, 23:44 |
Userbars API2 | Персональные юзербары пользователей |
Цитата Я уже предлагал такую идею, но видимо про неё забыли Про нее не забыли, на нее положили прибор. Ибо веб-морда скрипту нафиг не нужна - он прекрасно и без нее работает. |
Milena | ||
28.3.2010, 20:37 |
Anekbot API2 | Анекдоты из Интернета |
здесь на форуме я скачивал две библиотеки,и только одна мне подошла.Почему так??? Видимо, вторая была предназначена для РусХаба.К PtokaX 0.4.x.x подходят только те библиотеки, которые были скомпилированы специально для нее. Даже не пытайся подсовывать ей либы от PtokaX 0.3.x.x, RusHub'а, Lua-AIO, и.т.д. |
Milena | ||
27.3.2010, 21:43 |
RusRC Графический интерфейс для управления RusHub'ом |
Исправил эту ошибку, и еще несколько не менее идиотских ошибок. Перезалил серверную часть. |
Milena, Saymon21 | ||
27.3.2010, 21:03 |
RusRC Графический интерфейс для управления RusHub'ом |
Действительно странно. Особенно если учесть что Lua не может создавать сообщения об ошибках со словом "mistakes". Можешь убедиться в этом сам, пробежавшись поиском по исходникам. PS. Кажись я понял в чем причина. Я забыл убрать подключение lfs . Попробуй удалить Код require"lfs" |
Milena, Saymon21 | ||
27.3.2010, 20:44 |
RusRC Графический интерфейс для управления RusHub'ом |
Milena | |||
27.3.2010, 19:40 |
RusRC Графический интерфейс для управления RusHub'ом |
RusRC RusHub Remote Control Серверная часть: Версия: 1.00 beta Клиентская часть: Версия: 1.00 beta Автор: alex82 (основано на PtokaX Remote Administration v2.12 by Hungarista) Описание: Программный комплекс, предназначенный для управления RusHub'ом, состоящий из двух частей: •Серверная часть. Представляет собой скрипт, устанавливаемый на хаб.Клиентская программа подключается к хабу как обычный DC-клиент. Следовательно, клиент и хаб могут находиться на разных машинах. Возможности: •Просмотр главного чата. Дополнительная информация: Расширение протокола, используемое программой $SHELLO - Команда, сообщающая хабу о том, что к нему подключился клиент удаленного управления. В ответ хаб должен отправить команду $SHELLO, список настроек, и список скриптов. $SGET - Запрос файлов и информации о настройках. 1 - Информация о настройках хаба. 2 - Информация о скриптах. 4 - Запрос скрипта. Пример: $SGET 4 <имя файла>. $SSET - Управление настройками и файлами. 1 - Управление настройками хаба. Пример: $SSET 1 <имя_параметра_1>$<значение параметра 1>$$<имя_параметра_2>$<значение параметра 2>$$ 2 - Информация о скриптах. Пример: $SSET 2 <имя скрипта 1>:<состояние (0 или 1)>$<использование памяти>$$<имя скрипта 2>:<состояние (0 или 1)>$<использование памяти>$$ 3 - Управление скриптами. Пример: $SSET 3 <имя скрипта>:<UP/DOWN/ON/OFF/RS> 4 - Передача файла скрипта. Пример: $SSET 4 <имя скрипта>:<содержимое файла> $SERR - Сообщение об ошибке 1 - Клиент использует неподдерживаемую версию протокола удаленного управления. 2 - Отказано в доступе. 3 - Ошибка при применении параметра настроек. 4 - Ошибка при изменениии состояния скрипта. Пример: $SERR 4 <имя скрипта>:<UP/DOWN/ON/OFF/RS> 5 - Синтаксическая ошибка в скрипте. 6 - Ошибка при чтении файла скрипта. 7 - Ошибка при сохранении файла скрипта. [attachment=4306:RusRC_Se...00_beta2.rar] [attachment=4302:RusRC_1.00_beta.rar] Убедительная просьба сообщать обо всех найденных ошибках. |
Nickolya, Setuper, Invisible, Артём, valdis73, KT315, Drakula, Kingston, Milena, Saymon21 | ||
7.3.2010, 20:19 |
Помогите пожалуйста отладить скрипт FileSearch |
У тебя есть 2 варианта:
|
Saymon21 | ||
7.3.2010, 15:17 |
CountryStats API2 | Статистика местоположения пользователей по странам |
Всё таки работает... Мдя, скрипт просто притягивает к себе разного рода чертовщину.Если не заносить диапазон IP-адресов 89.222.212.0 по 89.222.215.255 в список локальных, то например IP-адрес 89.222.214.82 определяет как "Россия" Если же внести этот диапазон в список локальных IP-адресов, то этот же IP-адрес определяется как "Локальная сеть" Как следует из этого куска кода: Код local country = IP2Country.GetCountryCode(v.sIP) if country == "??" then local ip = v.sIP:iptonumber() for _,range in ipairs(tLocal) do if range[1] <= ip and ip <= range[2] then country = "LN" break end end end принадлежность к локальным диапазонам проверяется ТОЛЬКО в том случае, если не удалось узнать страну юзера посредством IP-To-Country. Но несмотря на это, у одного юзера скрипт умудряется работать по совершенно другим алгоритмам . Чертовщина, однако. PS. Может его святой водой окропить? А как же на счёт: Можно. Цитата(DrakonSP @ 4.3.2010, 14:13) А возможно ли добавить функцию, чтобы можно было посмотреть к какой стране относиться юзер и просмотр юзеров относящихся к определёной стране. Соответственно добавив менюшку "проверить страну юзера" - вводишь ник юзера и узнаёшь его страну "юзеры страны" - вводишь страну и узнаёшь список юзеров относящихся к этой стране Можно даже банить страны . Если будет настроение - займусь. |
Milena | ||
6.3.2010, 18:55 |
CountryStats API2 | Статистика местоположения пользователей по странам |
Saymon Под РусХабом оно сможет работать только с использованием MySQL. Может займусь чуть позже, когда закончу гуевину для РусХаба. |
Milena, Saymon21 | ||
6.3.2010, 17:50 |
StatPX API1, API2 | Статистика хаба |
Если стоит шаблон по умолчанию то обновляется всё кроме hubstat.htm ((( Это не глюк, а невнимательность.Кто что скажет об этом глюке ? Код {"По умолчанию","default","",true,false}, --1. - Название скина. 2. - Папка скина. 3. - URL файлов скина. 4. - Добавлять к страницам "шапку" и "подвал". 5. - Дополнительная страница общей статистики Как видишь, дополнительная страница отключена. |
Milena | ||
4.3.2010, 0:59 |
Sourcemon API2 | Мониторинг игровых серверов Source и GoldSource |
как убрать повторения слов ===================================================================== CS: Source - Public (--------------:27017) - Counter-Strike: Source, Counter-Strike: Source Карта: de_train. Игроков: 0/22. Для получения подробной информации введите !serv 3 ===================================================================== В 135 строке заменить Код if tInfo[i].Game then на Код if tInfo[i].Game and tInfo[i].Game ~=(tInfo[i].Descr or "?") then так же оч интересует как допесать инфу: ===================================================================== CS 1.6 - Public (---------------:27016) - Counter-Strike (А надо Counter-Strike 1.6) Карта: cs_estate. Игроков: 0/22. Для получения подробной информации введите !serv 2 ===================================================================== Заранее благодарен! В 138 строке заменить Код msg = msg..(tInfo[i].Descr or "?").."\n"..sTab на Код msg = msg..((tInfo[i].Descr or "?") == "Counter-Strike" and "Counter-Strike 1.6" or (tInfo[i].Descr or "?")).."\n"..sTab хотелось бы чтобы скрипт в неё сам пиарил допустим каждые 15 минут =) как такое можно сделать? Для этого нужно объединить данный скрипт со скриптом чат-комнат.Или, как вариант, приспособить ОпЧат под игровую комнату . |
Milena | ||
3.3.2010, 17:19 |
CountryStats API2 | Статистика местоположения пользователей по странам |
CountryStats Версия: 1.00 Версия API: API2 Автор: alex82 Описание: Скрипт отображает статистику местоположения пользователей по странам. Статистика может отсылаться как при входе юзера на хаб, так и по команде. Скриншот: [attachment=4157:screenshot.gif] ВНИМАНИЕ! Перед использованием скрипта необходимо установить базу данных IP-to-Country - [attachment=4156:CountryStats_1.00.rar] |
Nickolya, Tsd, Invisible, Артём, Accelerator, DrakonSP, xRayNeo, Milena, Saymon21, TiGRpp, @_JuNiOr_@, STIVAN | ||
3.3.2010, 10:51 |
HelloBot API2 | Скрипт приветствий |
HelloBot Версия: 1.00 Версия API: API2 Автор: alex82 Описание: Данный скрипт позволяет устанавливать приветствия/прощания, автоматически отправляемые в главный чат при входе/выходе юзеров. Доступны два вида приветствий: *Случайные, отправляемые в чат при входе/выходе любого юзера с указанным профилем. Приветствия данного типа устанавливаются администраторами и операторами хаба. *Пользовательские приветствия/прощания. В скрипте имеется система антифлуда - приветствия и прощания отправляются в чат с задержкой. Если в течение этого промежутка времени отключившийся юзер вернулся на хаб (читай переподключился), прощание и приветствие не отправляются. [attachment=4155:HelloBot_1.00.rar] |
BIMMER71, Invisible, Milena, Тёмич, доктор ливси, shur49, 111222, zeusby | ||
26.2.2010, 16:12 |
CopyCrop Пакетная обработка изображений |
Название: CopyCrop Версия: 1.00 Совместимость с дистрибутивами Lua: Lua/LuaForWindows: нет Lua-AIO: да Совместимость с операционными системами: Windows XP: да Windows Vista/Windows 7: ? Linux: ? (теоретически возможно, но нет возможности проверить) Автор: alex82 Описание: Программа предназначена для пакетной обработки изображений - урезания, уменьшения размеров и наложения логотипа. Поддерживаемые форматы конвертируемых изображений: JPEG, PNG; поддерживаемые форматы логотипов: JPEG, PNG, GIF. Особенности программы: *Функция урезания изображения отрезает указазанное число пикселов от края изображения, в отличие от других программ, умеющих обрезать только до указанного размера (собственно, ради этой функции программа и писалась). *При конвертировании сохраняется структура папок. Недостатки: *Низкое быстродействие (по сравнению с аналогичными программами, написанными на C/C++). *Нет возможности выбрать алгоритм ресайза. Как запустить: В целях экономии места на хостинге, в дистрибутиве присутствует только файл программы (читай скрипт). Следовательно, для того, чтобы запустить программу, необходимо сделать следующее: *Скачать дистрибутив Lua-AIO отсюда: *Извлечь файл copycrop.lua в папку Lua-AIO. *Создать копию хост-программы Lua-AIO (lua.exe), и присвоить ей имя copycrop.exe. *Запустить copycrop.exe Скриншот: [attachment=4131:screenshot.gif] Скачать: [attachment=4132:CopyCrop_1.00.rar] |
Nickolya, Invisible, Milena, Saymon21 | ||
1.2.2010, 4:13 |
Переименовка Ptokax Dc Hub 0.3.6.0 можно ли переименовать |
Drakula | |||
31.1.2010, 17:08 |
StatPX API1, API2 | Статистика хаба |
"сделать хардлинк" - что это такое? как работает? как поставить? Гуглишь на тему "hardlink shell extension", ставишь к себе на комп, перезагружаешься. Потом тыркаешь правой кнопкой на папке и жмешь "Pick link source", переходишь в папку, в которой должна быть вторая директория веб-статистики, и снова тыркаешь правой кнопкой - Drop as... --> Junction. Если ты все сделал правильно, то папка веб-статистики будет находиться в двух местах одновременно.PS. Данный способ работает только в пределах одного раздела NTFS. |
Milena, Saymon21 | ||
31.1.2010, 16:55 |
StatPX API1, API2 | Статистика хаба |
Saymon Сделать такое средствами StatPX затруднительно - прийдется значительную часть кода переписать. Есть куда более простой способ - если у тебя Windows, и файлы сохраняются на раздел NTFS, то можно сделать хардлинк. |
Milena, Saymon21 | ||
31.1.2010, 16:47 |
Registrator API2 | Скрипт регистрации |
Ситуация такая-нужно, чтобы функция запрета регистрации многих пользователей с одного ip работала для всех, кроме определенных ip адресов Меняешь строку 133 Код if tCfg.OneNickIP and tNickIP[user.sIP] then на эту: Код if tCfg.OneNickIP and tNickIP[user.sIP] and not tMultipleReg[user.sIP] then После чего можно добавлять IP-адреса в таблицу tMultipleReg: Код tMultipleReg = { ["123.123.123.123"] = true ["111.111.111.111"] = true } |
Milena | ||
29.1.2010, 23:43 |
Lua 5.2 тестовый вариант |
Цитата Функции table.maxn больше нету. Если вам она необходима, напишите её на lua. Идиотизм, чесслово. Кому она мешала? И вообще, в чейнджлоге только и видно, что "Удалено-Переименовано", "Переименовано-Удалено". А что добавлено-то? Это больше напоминает имитацию бурной деятельности, чем разработку. PS. Переименовывать и кромсать мы и сами могем, даже при полном незнании С/С++. |
Invisible, Ksan | ||
20.1.2010, 0:57 |
StatPX API1, API2 | Статистика хаба |
Версия 1.04a - исправлены все ошибки, замеченные в версии 1.04 (см. предыдущие сообщения). Ссылка на скачивание - в первом посте. Цитата Неделю тестирую не замечал ничего подобнова Какая методика тестирования?PS. Если очень хочется отправлять сообщение дня до полного входа юзера на хаб, то в функцию ValidateNickArrival нужно вынести код, отвечающий только за отправку сообщения, а не тащить туда всё подряд: Код if bSendMOTD then function ValidateNickArrival(user) Core.GetUserAllData(user) if LastUpdate+iUpdateTime*60 < os.time(os.date("*t")) then UpdateUserStats() end msg = GetMOTD(user) Core.SendToUser(user,"<"..sBot.."> "..msg) end end |
Milena | ||
20.1.2010, 0:36 |
StatPX API1, API2 | Статистика хаба |
Saymon Цитата находим 81 строку function UserConnected(user) и заменяем на function ValidateNickArrival Так делать нельзя - статистика будет искажаться, и нагрузка на хаб повысится.Цитата Заменить StatNick на SearchNick Цитата После Мая идёт Июнь, а у Вас Июль =)) Мдя, много идиотских ошибок я умудрился наделать... Надо будет новую версию склепать. |
Milena | ||
12.1.2010, 4:21 |
StatPX API1, API2 | Статистика хаба |
DrakonSP Первое число - хабы, на котором юзер зарегистрирован, второе - не зарегистрирован, третье - оператор. Соответственно, для того, чтобы отображалось одно число, надо сложить три . Код local h1,h2,h3 = Tag:match("H:(%d+)/(%d+)/(%d+),") if h1 then hubs = tonumber(h1)+tonumber(h2)+tonumber(h3) end |
DrakonSP, Milena | ||
10.1.2010, 23:37 |
Lua-AIO Дистрибутив Lua, предназначенный для создания приложений |
Вот кусок кода из того самого пингера, о котором я говорил (некоторые фрагменты удалены, дабы не отвлекать от самой сути): Код [2] = function() tData.NumHubs = 0 local hubs,num = {},0 local cur = con:execute(("SELECT address,port FROM %shubs WHERE `pinged`<%s AND `special`=0"):format(tMySQL.Prefix,os.time()-tCfg.RePingTime*3600)) local address,port = cur:fetch() while address do -- В этом цикле мы разбиваем таблицу хабов на несколько. Число таблиц равно числу ветвей tData.NumHubs = tData.NumHubs+1 num = num+1 if num > tCfg.PingThreads then num = 1 end if not hubs[num] then hubs[num] = {} end table.insert(hubs[num],{address,port or 411}) address,port = cur:fetch() end -- Тут был кусок кода, отвечающий за общие элементы интерфейса local threads,dist,progr = tCfg.PingThreads,34,180 if threads > #hubs then threads = #hubs end GUI.Status,tTh = {},{} for i = 1,threads do -- В этом цикле мы создаем ветви, которые и будут пинговать хабы GUI.Status[i] = {} -- Тут был кусок кода, отвечающий за элементы интерфейса каждого потока. tTh[i] = {} tTh[i].Env = luasql.mysql() tTh[i].Con = assert(tTh[i].Env:connect(tMySQL.DB,tMySQL.User,tMySQL.Pass,tMySQL.Host)) tTh[i].Con:execute("SET NAMES "..tMySQL.Charset) tTh[i].ThID = ThreadCreate(PingThread,{i,hubs[i]}) -- Тут, собственно, и создается ветвь. В качестве аргументов передается номер ветви, и её персональная таблица хабов end GUI.StatusPanel:SetScrollbars(1, dist, 1, threads, 0, 0, false) end, |
Nickolya, Invisible, Milena | ||
10.1.2010, 22:22 |
Lua-AIO Дистрибутив Lua, предназначенный для создания приложений |
Nickolya Преимущество многопоточности - не изолированность, а независимость скрипта (да и, в общем-то, самой хост программы, под управлением которой работает этот скрипт) от времени выполнения определенных функций в тех случаях, когда время выполнения этих функций ограничено не производительностью компа, а чем-то иным. Ты ведь наверняка замечал подвисания PtokaX при использовании на ней скриптов, использующих библиотеку сокетов. А ведь этого можно избежать, если запускать функции, отвечающие за получение информации из сети, в отдельной ветви. В качестве другого примера могу привести твой пингер хабов. Вот скажи - может ли он пинговать несколько хабов одновременно? Могу поспорить что нет. А мой может, поскольку использует многопоточность. Также не стоит забывать, что Lua-AIO используется для создания программ с графическим интерфейсом, и использование ветвей позволяет избежать подвисания GUI во время выполнения продолжительных и ресурсоемких фрагментов кода. |
Milena | ||
10.1.2010, 5:52 |
Lua-AIO Дистрибутив Lua, предназначенный для создания приложений |
Lua-AIO (Lua All-in-One) представляет собой пакет для написания программ на Lua, созданный по принципу "Всё в одном". Пакет включает в себя практически все библиотеки, которые могут понадобиться при написании приложений. В состав пакета входят: Хост-программа Lua-AIO (lua.exe) - приложение, позволяющее запускать Lua-скрипты. Отличия от хост-программы из официального дистрибутива Lua:
Встроенные функции Функции:
События:
Параметры командной строки -v: Показать версию Lua-AIO -d: Режим отладки. В этом режиме Вы можете отправлять сообщения в отладочное окно при помощи функции print(). -t: Запустить тест. С этим параметром программа будет запущена в консольном режиме. -i: Установить программу как системную службу. -u: Удалить службу. -c <имя файла>: Компилировать указанный скрипт. <имя файла>.lua: Запустить указанный скрипт Библиотеки: Раскрывающийся текст base64: Предназначена для форматирования данных в соответствии со стандартом MIME. Сайт: Автор: Luiz Henrique de Figueiredo bc: Библиотека больших чисел, основанная на исходном коде GNU bc Сайт: Автор: Luiz Henrique de Figueiredo ber: Simple Basic Encoding Rules (BER) of Abstract Syntax Notation One (ASN.1) Автор: Nodir Temirhodzhaev bit: bitlib. Операции с битами Сайт: Автор: Reuben Thomas bz2: bzip2 и libbzip2. Сжатие данных. Автор: Julian R Seward cd: CD (Canvas Draw) Кроссплатформенная графическая библиотека. Сайт: Автор: Antonio Scuri crypto: Интерфейс к криптографической библиотеке OpenSSL. Сайт: Автор: Keith Howe, Enrico Tassi curl: Lua-cURL library. Сайт: Автор: Jьrgen Hцtzel dc: Библиотека, реализующая некоторые функции протоколов NMDC и ADC des56: (часть библиотеки md5) Криптографическая библиотека для Lua. Сайт: Автор: Andre Carregal, Tomas Guisasola, Danilo Tuler, Fabio Mascarenhas extend: Расширяет некоторые функции Lua. Автор: Arnaud Le Ber gd: Библиотека для обработки изображений, основанная на библиотеке GD от Thomas Boutell. Сайт: Автор: Alexandre Erwin Ittner geoip: Реализует некоторые функции geoIP Сайт: Автор: MaxMind LLC gzip: Доступ к функциям библиотеки gzip Сайт: Автор: Tiago Dionizio he3: Реализует функции декодирования Хаффмана Автор: Jan Vidar Krey hpdf: Библиотека для создания PDF-файлов. Сайт: Автор: Kurt Jung iconv: Библиотека, предназначенная для преобразования текста из одной кодировки в другую. Сайт: Автор: Alexandre Erwin Ittner im: IM is a toolkit for Digital Imaging. Сайт: Автор: Antonio Scuri irr: Irrlicht (Irrlicht Engine) — трёхмерный графический движок. Сайт: Автор: Josh Turpen iup: IUP Переносимый тулкит для создания графического интерфейса. Сайт: Автор: Antonio Scuri lfs: Реализует функции для работы с файловой системой Сайт: Автор: Roberto Ierusalimschy, Andrй Carregal and Tomбs Guisasola lpeg: pattern-matching library based on Parsin Expression Grammars (PEGs) Сайт: Автор: Roberto Ierusalimschy lualdap: Простой интерфейс к LDAP-клиенту Сайт: Автор: Andre Carregal, Alessandro Hecht, Danilo Tuler, Leonardo Godinho, Luis Eduardo Jason Santos and Tomas Guisasola lxp: SAX XML-парсер, основанный на библиотеке Expat Сайт: Автор: Roberto Ierusalimschy, Andrй Carregal and Tomбs Guisasola md5: Криптографическая библиотека для Lua Сайт: Автор: Andre Carregal, Tomas Guisasola, Danilo Tuler, Fabio Mascarenhas mysql: Библиотека для работы с БД MySQL. Сайт: Автор: Roberto Ierusalimschy, Andrй Carregal and Tomбs Guisasola ntlua: (Windows only) create Windows NT administration and logon scripts. Сайт: Автор: Antonio Scuri pg: Библиотека для работы с БД PostgreSQL Сайт: Автор: Stefan ploticus: Пакет ПО для создания графиков из набора данных. Сайт: Автор: Steve Grubb profiler: time profiler designed to help finding bottlenecks on your Lua program. Сайт: Автор: Luiz Silveira, Miguel Osуrio, Fбbio Mascarenhas, with the help of Andrй Carregal, Tomбs Guisasola and Danilo Tuler rexlib: Библиотека реализует функции, позволяющие использовать две основные системы регулярных выражений : posix и pcre. Сайт: Автор: Reuben Thomas and Shmuel Zeigerman sdl: Позволяет использовать часть функций библиотеки SDL: the SDL, SDL_image, SDL_mixer, SDL_net and SDL_ttf. Сайт: Автор: Kein-Hong Man serial: Позволяет использовать параллельный порт ПК. Автор: Arnaud Le Ber snmp: Реализует функции, необходимые для создания SNMP-клиента. Основана на библиотеке NET-SNMP. Сайт: Автор: Herbert Leuwer socket: Библиотека для работы с сокетами. Реализует доступ к TCP, UDP, DNS, SMTP, FTP, HTTP, MIME. Сайт: Автор: Danilo Tuler, Diego Nehab sqlite: Библиотека для работы с БД SQLite 2. Сайт: Автор: Tiago Dionizio sqlite3: Библиотека для работы с БД SQLite database 3. Сайт: Автор: Michael Roth ssl: Создание TLS/SSL-соединений с использованием библиотеки socket. Сайт: Автор: Bruno Silvestre tcps: Библиотека для создания TCP-серверов Сайт: th: Алгоритмы Tiger Hash tth: Алгоритмы TigerTree Hash udps: Библиотека для создания UDP-серверов Автор: Arnaud Le Ber uname: retrieve some machine specific information Автор: Arnaud Le Ber unicode: support for ASCII, LATIN and UTF-8 unicode Сайт: Автор: Klaus Ripke wx: Многофункциональная кроссплатформенная библиотека, основанная на wxWidgets. Основное назначение - создание графического интерфейса приложений. Сайт: Автор: Francesco Montorsi xml: Парсер XML-файлов, основанный на Tiny XML 2.5.2 Сайт: Автор: Lee Thomason + Arnaud Le Ber zip: Чтение содержимого zip-архивов Сайт: Автор: Danilo Tuler zlib: Использование функций библиотеки zlib Сайт: Автор: Tiago Dionizio Подробная информация о библиотеках доступна в справке (см. ниже). Также, более подробную информацию о некоторых библиотеках пакета можно получить в этом разделе. Скачать последнюю версию версию дистрибутива можно с Файл справки (формат CHM) можно скачать Справка в формате HTML: [attachment=3865:luaaio_doc.rar] Дополнительно: Как запустить скрипт под Lua-AIO Имеются как минимум три способа запустить Ваш скрипт под Lua-AIO: Первый (и самый очевидный): При запуске хост-программы указываем имя скрипта в качестве параметра командной строки. Например: Программы, созданные с использованием Lua-AIO
|
Nickolya, Tsd, Invisible, Milena, Saymon21, MIKHAIL | ||
9.1.2010, 20:56 |
StatPX API1, API2 | Статистика хаба |
Цитата(Gate001) Все шаблоны отрабатывают четко и пишут инфу в файлики. Все, кроме топа хабберов. Ошибка в функции OnStartup:В логах ошибок как скрипта так и хаба пусто Код function OnStartup() sBot = SetMan.GetString(21) HubName = SetMan.GetString(0) if loadfile(fOnline) then dofile(fOnline) end TmrMan.AddTimer(60000,"MainTimer") TmrMan.AddTimer(iSave*60000,"Save") TmrMan.AddTimer(iCleanMemory*60000,"CleanMemory") UpdateOnline() UpdateHubStats() if bSendMOTD then LoadMOTD() end if WebStat then TmrMan.AddTimer(WebStatUpdate*60000,"WebTimer") TmrMan.AddTimer(TopHubbersUpdate*60000,"BuildTopHubbers") if AllowChangeSkins and loadfile(fTplConfig) then dofile(fTplConfig) end LoadTemplates() if next(tUserStat) then BuildTopHubbers() end BuildWebStat() else UpdateUserStats() end end меняем на: Код function OnStartup() sBot = SetMan.GetString(21) HubName = SetMan.GetString(0) if loadfile(fOnline) then dofile(fOnline) end TmrMan.AddTimer(60000,"MainTimer") TmrMan.AddTimer(iSave*60000,"Save") TmrMan.AddTimer(iCleanMemory*60000,"CleanMemory") UpdateOnline() UpdateHubStats() if bSendMOTD then LoadMOTD() end if WebStat then if AllowChangeSkins and loadfile(fTplConfig) then dofile(fTplConfig) end LoadTemplates() TmrMan.AddTimer(WebStatUpdate*60000,"WebTimer") TmrMan.AddTimer(TopHubbersUpdate*60000,"BuildTopHubbers") if next(tUserStat) then BuildTopHubbers() end BuildWebStat() else UpdateUserStats() end end |
evg, Milena, shullz | ||
8.1.2010, 1:45 |
Userbars API2 | Персональные юзербары пользователей |
Хабыч Кавычки внутри строк надо экранировать. Вот так: Код \" |
Milena, Saymon21 | ||
2.1.2010, 1:55 |
Userbars для RusHub |
Хаб не поддерживает библиотеки от PtokaX, но, как выяснилось, прекрасно работает с библиотеками из пакета Lua-AIO. Чтобы убедиться в этом наверняка, я решил переделать под RusHub один из скриптов для PtokaX, и выбор мой пал на последний скрипт, выложенный мной - Userbars. Итак, начнем установку: 1. Переименовываем плагин lua51.dll в lua.dll. Этот шаг необходим для того, чтобы получить возможность использовать библиотеки Lua-AIO. При этом нельзя сохранять Lua-плагин с оригинальным именем в папке plugins 2. Скачиваем пакет Lua-AIO 3. Устанавливаем скрипт: [attachment=5206:Userbars_RusHub.zip] Если Вы все сделали правильно, то при следующем входе на хаб Вам будет отправлено сообщение о том, что для Вас был создан юзербар. |
Nickolya, Setuper, Invisible, fixx, Saymon21, hipimps71 | ||
1.1.2010, 23:56 |
Userbars API2 | Персональные юзербары пользователей |
Milena | |||
1.1.2010, 22:02 |
Userbars API2 | Персональные юзербары пользователей |
Milena, Saymon21 | |||
1.1.2010, 21:24 |
Userbars API2 | Персональные юзербары пользователей |
Userbars Версия: 1.00 Версия API: API2 Совместимость с Linux: частично Автор: alex82 Описание: Скрипт создает юзербары для пользователей хаба, содержащие ник юзера, и размер его шары. При выходе юзера с хаба, размер шары заменяется на надпись "оффлайн". Для работы скрипта требуются: *Библиотека Lua-GD P.S. Результат работы скрипта можно наблюдать на хабе myDC.ru. [attachment=3742:Userbars_1.00.rar] |
Nickolya, intlive, Invisible, PRIZrak, denis, Milena, wasd, Saymon21, TiGRpp, Pro009, Specnazovec, mastersweet, ImDim | ||
28.12.2009, 15:01 |
От: StatPX От темы с ID: 1269 |
knuckles Если ты имеешь ввиду "выбрать", то это делается через меню. PS. Зачем цитировать предыдущий пост? Тем более он никак не связан с твоим вопросом. |
Angel_D | ||
27.12.2009, 15:54 |
ЮБ (юзербар) с твоим ником и статусом на хабе (онлайн / оффлайн) Помогайте |
X-Sky | |||
22.12.2009, 16:40 |
StatPX API1, API2 | Статистика хаба |
Setuper Просто в качестве шаблона скрипта взял конвертор базы, и на эту фигню не обратил внимания. |
Milena, shullz | ||
22.12.2009, 15:48 |
StatPX API1, API2 | Статистика хаба |
Доступна версия 1.04. Список изменений: *Оптимизация кода веб-статистики. Производительность веб-статистики увеличена на несколько порядков. *Добавлена возможность отображения списка заглушек скрипта GagMe. Сравнение производительности: Сравнение производилось на стандартной конфигурации, скине "По умолчанию" и случайно сгенерированной базе данных. БД генерировалась таким образом, чтобы информация обо всех юзерах попадала в список юзеров за сутки. Тестовая конфигурация: CPU: Intel Core 2 Duo E8400 @3000 MHz RAM: 3 GB DDR2 (2GB+1GB) @800MHz Swap-файл: не используется Остальные характеристики, в общем-то, не имеют значения. Итак, результаты сравнения: 5000 юзеров1.03 beta2 - ~9 сек Исмерения времени производились "на глаз", однако в данной ситуации это не имеет совершенно никакого значения. Желающие повторить эксперимент могут воспользоваться генератором баз данных: [attachment=3688:base_random.lua] |
Milena, Saymon21 | ||
21.12.2009, 7:52 |
SendToRanges API2 | Массовая рассылка диапазонам адресов |
SendToRanges Версия: 1.00 Версия API: API2 Автор: alex82 Описание: Скрипт предназначен для массовой рассылки сообщений диапазонам IP-адресов. При рассылке можно использовать один из диапазонов, содержащихся в списке (при этом один диапазон может содержать несколько "поддиапазонов"), либо указать диапазон вручную непосредственно при рассылке. Доступные варианты массовой рассылки:
[attachment=3666:SendToRanges_1.00.rar] |
FallenAngel, Invisible, Артём, xRayNeo, valdis73, Kingston, Milena, Saymon21, lewonchik, WINS | ||
12.12.2009, 13:06 |
StatPX API1, API2 | Статистика хаба |
Milena, shullz | |||
9.12.2009, 23:39 |
PXControl Удаленное управление PtokaX 0.4.x.x |
Обновление серверной части: версия 1.01 Изменения: Исправлена ошибка, возникающая при запуске на остановленном хабе. Исправлена невозможность запуска скрипта на некоторых сборках Lua. Цитата Или же клиента надо было на каком-нить Qt писать... А разве wx не кроссплатформенный? И, кстати, PRA тоже. И линуксовые фрагменты кода я не удалял при создании этого мода. Тут проблема не в тулките, а в том, что я совсем не дружу с линуксом, и не могу даже проверить работоспособность клиента, не говоря уже о тщательном выпиливании багов. |
Milena | ||
2.12.2009, 2:43 |
PXControl Удаленное управление PtokaX 0.4.x.x |
На данный момент самый доступный способ - поставить FTP-сервер. |
Milena | ||
24.11.2009, 7:32 |
Registrator API2 | Скрипт регистрации |
Milena | |||
20.11.2009, 20:54 |
GraphPX API2 | Графики для сайта |
GraphPX Версия скрипта: 1.00 Версия API: API2 Автор: alex82 Описание: Скрипт генерирует графики, отображающие информацию о посещаемости хаба, общей шаре, количестве сообщений в главном чате, и количестве поисковых запросов. Результат работы скрипта можно наблюдать Дополнительная информация: Для работы скрипта требуется библиотека Lua-GD. Простейший код для встраивания графиков в страницу сайта Код <center><h1>Графики</h1><br /> <h2>Пользователи на хабе</h2> За сутки:<br><img src='users_day.png' border=0><br><br>За месяц:<br><img src='users_month.png' border=0><br /> <h2>Общая шара</h2> За сутки:<br><img src='share_day.png' border=0><br><br>За месяц:<br><img src='share_month.png' border=0><br /> <h2>Сообщения в главном чате</h2> За сутки:<br><img src='chat_day.png' border=0><br><br>За месяц:<br><img src='chat_month.png' border=0><br /> <h2>Поисковые запросы</h2> За сутки:<br><img src='search_day.png' border=0><br><br>За месяц:<br><img src='search_month.png' border=0><br /> </center> Встраивание графиков в StatPX 1. Скачиваем html-файл[attachment=3692:graph.rar] разархивируем его, открываем в блокноте, и заменяем [Hub name] на имя Вашего хаба (в двух местах). После чего перемещаем файл в директорию web-статистики. 2. Открываем шаблон default/header.tpl, находим строку: Код <td class="menu" align="center" onclick="window.location.href='bans.html?#39;" OnMouseOver="this.style.background='#F8F8F8'" OnMouseOut="this.style.background='white'"><b><a href="bans.html?#34;>Бан-лист</a></b></td> после добавляем:Код <td class="menu" align="center" onclick="window.location.href='graph.html?#39;" OnMouseOver="this.style.background='#F8F8F8'" OnMouseOut="this.style.background='white'"><b><a href="graph.html?#34;>Графики</a></b></td> [attachment=3528:GraphPX_1.00.rar] |
intlive, Invisible, Serx, Smorg, Accelerator, MIhan, Andrew Frost, Kingston, whuru, Milena, PSIX, Saymon21, X-Sky, TiGRpp, Pro009, shmeks | ||
20.11.2009, 17:46 |
StatPX API1, API2 | Статистика хаба |
Milena | |||
9.11.2009, 1:00 |
TopicTemp API2 | Температура воздуха в топике хаба |
lewonchik Методом научного тыка скрипты лучше не лечить. Чтобы данная ошибка не возникала, нужно найти в скрипте строку: Код tTemp[id] = {} и заменить на Код tTemp[id] = {"",0} Но это всего лишь костыль, не позволяющий ошибке светиться в логе, и первопричину глюка (неправильные данные, приходящие с сервера mail.ru) он не исправляет. |
Milena | ||
5.11.2009, 11:15 |
Хаблисты |
Цитата Ибо после $BotINFO мне рвут соединение без какого-либо ответа. Так и должно быть. Только перед отключением хаб должен отправить команду $HubInfo с информацией о хабе, но только в том случае, если ты не забыл указать в $Supports поддержку $BotInfo/$HubInfo. |
Enyby | ||
30.10.2009, 21:07 |
HubBanner API2 | Графический баннер хаба |
FurLion Библиотеки устанавливаются в папку libs, или в папку scripts/libs, или в корневую папку PtokaX. |
FurLion | ||
24.10.2009, 22:03 |
PXControl Удаленное управление PtokaX 0.4.x.x |
Обновление серверной части: 1.01 beta [+] Сохранение в файл настроек профилей, регистраций и скриптов происходит непосредственно после внесения изменений. Подробности в первом посте. PS. Поскольку сохранение профилей и скриптов производится посредством костылей, просьба ко всем добровольцам проверить правильность сохранения (сам проверял 100 раз, но в некоторых случаях лучше паранойя, чем пофигизм ). |
truth, Milena | ||
17.10.2009, 16:03 |
Trivia Mod API2 | Игра "Викторина" |
Имена таблиц отличаются, содержимое, насколько я помню, нет. |
Milena | ||
15.10.2009, 2:42 |
Registrator API2 | Скрипт регистрации |
Цитата Для любителей українского язика перевел на с рус. на укр. Ещё бы на олбанский перевел...Цитата Реєстрація декілька аккаунтов з однієї IP-адреса не вирішується. Гуглом переводил?Для Вашої IP-адреса не допускається самостійна реєстрація. Вказаний профіль вищий за Ваше. Цитата Помилка при удалении регистрации Гугл перешел на суржик...PS. Видео в тему: |
Milena | ||
22.9.2009, 17:57 |
Sourcemon API2 | Мониторинг игровых серверов Source и GoldSource |
Да и ещё: можно как-нибудь сделать чтобы сообщения о серверах выскакивали не в чате с Ptokax, а с другим ботом (у меня он назван Android-Info)? ну т.е. зарегестрировать что ли его? Да можно и не регистрировать. Находишь строку:Код bot = frmHub:GetHubBotName() и заменяешь frmHub:GetHubBotName() на имя бота (естественно в кавычках) |
Milena, thehawk | ||
23.8.2009, 8:02 |
GeoCity MOTD API2 | Информация о местоположении юзера в сообщении дня |
GeoCity MOTD Версия: 1.00 Версия API: API2 Автор: alex82 Описание: Скрипт предназначен для создания сообщения дня, содержащего информацию о местоположении юзера с точностью до города. Для получения информации используется модуль GeoCity. Скриншот: [attachment=3104:gcm.gif] [attachment=3103:GeoCityMOTD_1.00.rar] PS. Результат работы скрипта можно увидеть на хабе MyDC.ru. |
BIMMER71, Invisible, mariner, Alexey, Sekretchik, Milena, Saymon21, Dimon21, TiGRpp, Тёмич, Rei_Volia, мамин_парень, Unique | ||
23.8.2009, 7:30 |
Модуль GeoCity Определяем местоположение по IP с точностью до города |
Модуль GeoCity Версия: 1.00 Системные требования: Lua 5.1, MySQL 4.1 или новее Автор: alex82 Описание: Данный модуль предназначен для получения информации о местоположении IP-адреса с точностью до города. В качестве источника информации используется база данных GeoLite City, хранящаяся в бд MySQL. Дистрибутив модуля также включает в себя набор утилит, необходимых для его установки. Установка модуля: Для PtokaX: Установка базы данных: 1. Скачать базу данных GeoLite City отсюда - Функции модуля geocity.GetInfo(sIP or iIP) - Возвращает информацию об указанном IP-адресе. В случае успешного вызова возвращается двухбуквенный код страны и название города. В случае неудачи возвращается nil. geocity.GetFullInfo(sIP or iIP) - Возвращает информацию об указанном IP-адресе. В случае успешного вызова возвращается таблица, которая может содержать поля loc_id, country, region, city, postal, lat, long. В случае неудачи возвращается nil. geocity.GetLocId(sIP or iIP) - Возвращает Location ID для указанного IP-адреса. В случае неудачи возвращает nil. geocity.GetInfoById(sLocID or iLocID) - Возвращает информацию о Location ID. В случае успешного вызова возвращается двухбуквенный код страны и название города. В случае неудачи возвращается nil. geocity.GetFullInfoById(sLocID or iLocID) - Возвращает информацию о Location ID. В случае успешного вызова возвращается таблица, которая может содержать поля loc_id, country, region, city, postal, lat, long. В случае неудачи возвращается nil. geocity.GetCountry(sCountryCode) - Возвращает название страны, соответствующее её двухбуквенному коду. В случае неудачи возвращает nil. geocity.GetRegion(sCountryCode, sRegion) - Возвращает название региона. В случае неудачи возвращает nil. geocity.Check() - Проверяет наличие соединения с MySQL, и, при необходимости, восстанавливает его. Если соединение имеется, или было восстановлено, возвращает true. В случае неудачи возвращает nil Описание утилит GeoCity Updater Предназначена для импорта базы данных GeoLite City, а также информации о странах и регионах, в БД MySQL. GeoCity Test Небльшая программа для тестирования модуля GeoCity. Country Select Программа, предназначенная для уменьшеня размера базы данных GeoLite City путем удаления из неё ненужной информации о странах. Get Ranges Программа позволяет получить список диапазонов, отсутствующих в базе данных GeoLite City Changelog 1.01 Изменен формат хранения названий регионов, благодаря чему упростился код выборки данных из соответствующей таблицы [attachment=5110:GeoCity_...ter_1.02.rar] [attachment=5032:geocity_1.01.7z] [attachment=3102:geocity_1.00.7z] Класс php для работы с GeoCity:[attachment=5076:php_geocity.rar] Скрипты, использующие модуль GeoCity: GeoCity MOTD |
Nickolya, BIMMER71, Invisible, district, Master-Grow, Alexey, Milena, Saymon21 | ||
21.8.2009, 15:59 |
Lua-GD Библиотека для обработки изображений |
Milena | |||
20.8.2009, 23:20 |
Lua-GD Библиотека для обработки изображений |
Lua-GD Описание: Библиотека Lua-GD представляет собой Lua-порт хорошо известной в определенных кругах библиотеки GD, и предназначена для проведения различных манипуляций над изображениями - рисования, наложения текста, ресайза, и.т.д. Windows x86 PtokaX: PtokaX Mod: [attachment=7235:gd.rar] x64 PtokaX 0.5.0.3 и новее: PtokaX до 0.5.0.3, а также PtokaX Mod: PtokaX 0.4.0.x и 0.4.1.x PNG support - да Скачать: [attachment=4460:gd.7z] Тестовый скрипт 1: [attachment=3091:gd_info.rar] Тестовый скрипт 2: [attachment=3092:gd_test.rar] (ввиду того, что в данной сборке отсутствуют библиотеки Freetype и Fontconfig, некоторые тесты отключены)[/indent] Linux Исходный код: [attachment=7234:lua_gd.zip] Собирается примерно так: Код cd <directory>/lua-gd && make all install clean Перед сборкой необходимо установить зависимости: Код apt-get install liblua5.1-dev libgd2-xpm-dev Мануал: [attachment=3090:gd_manual.rar] |
Nickolya, BIMMER71, Tsd, Invisible, Ksan, Karumo, Kingston, Milena, PSIX, Saymon21, Antibiotic, RAND(i)M | ||
7.8.2009, 19:12 |
TopicTemp API2 | Температура воздуха в топике хаба |
Исправил Цитата alex82, правильно ли я ставлю??? Это служебные параметры. Их нельзя трогать.tData = {City = 1,Text = true,CurText = 1} |
Milena | ||
|
Сейчас: 23.11.2024, 5:22 |