Здравствуйте, гость ( Вход | Регистрация )
Дата поста: | В теме: | За сообщение: | Спасибо сказали: | ||
---|---|---|---|---|---|
19.12.2012, 4:50 |
Surdo_Isolation Почти универсальный скрипт заглушек с богатым меню и возможностями |
Пофиксил вышеобсуждённую проблему, перезалил (точнее, дозалил) файл (старый остался доступен) в первом сообщении. Тем не менее, обнаружилась и осталась не пофиксенной в силу большой трудозатратности и возможного увеличения нагрузки на хаб другая фишка, суть которой не стану тут описывать. P.S.: Файл залит в виде RAR-архива, но скачивается почему-то как ZIP-архив и, естественно, не разархивируется. Поэтому после скачивания расширение файла нужно сразу поменять на .rar Время заливки нового файла: 19-12-2012 05:30 Мск. |
Stym | ||
17.12.2012, 19:05 |
Surdo_Isolation Почти универсальный скрипт заглушек с богатым меню и возможностями |
Stym, а вы скрипт держите ниже других скриптов, как я советовал в первом сообщении? Цитата Примечания: Раскрывающийся текст - Скрипт держать ниже других скриптов, работающих с сообщениями юзеров. Я вот только что поставил на отдельном хабе и проверил скрипт из первого сообщения - антимат работает как надо - в режиме 1 (замена словом только мата) мат заменяет на слово [•ценZура•], вместо него поставил *** - тоже работает (другие режимы тоже работают). Цитата [22:49:55] <Тест-юзер> проверка антимата: [•ценZура•] [22:52:52] <Тест-юзер> проверка антимата: [***] [22:53:27] <Тест-юзер> проверка антимата: *** [22:57:59] <Тест-юзер> Я такой матершинник, мне даже говорить об этом противно! ••• И да, помните, в конфиг-файле есть таблица профилей, для кого мат разрешён (пишу на всякий случай). Ну и, напоследок, - если до этого скрипта (выше в списке скриптов) стоит другой антимат, то сработает он, а не обсуждаемый. |
Stym | ||
9.10.2012, 19:21 |
NewsMix API2 | Новости с двух сайтов |
Booth, библиотеку берите отсюда. Не обращайте внимания, что она для Русхаба, для вашей Птоки тоже пойдёт. Та библиотека, что у вас сейчас стоит, она годится для более ранних версий Птоки, но не для вашей. |
Booth | ||
4.8.2012, 15:12 |
Скрипт кол-во скачиваний Объем: 0 Скачан: 0 раз Раздающие: 1 Качающие: 2 3 В раздаче |
Эту твою требуемую информацию выдаёт клиент, а не хаб. Вот если написать скрипт для клиентского АПИ и получать через него информацию по запросу с хаба (естественно, скриптом)...Но ведь не заставишь каждого посетителя ставить твой скрипт принудительно. Да и не факт, что есть возможность запроса с хаба клиенту. |
мамин_парень | ||
17.6.2012, 1:09 |
Скрипты API 2. Защита хаба. Базы TTH Скрипты защиты от спама, флуда, рекламы, порно |
Пипец скрипты.. Кто скачает посмотрит, поймёт, о чём я...если вообще понимает что-то в скриптах. Извините. И да, автору - комменты, вопросы и пожелания здесь принято писать в теме, а не лезть куда-то в ВК. |
мамин_парень | ||
17.5.2012, 7:19 |
Объединю свой хаб с другими |
Mellon, Ameet, вы стоите друг друга, может, вам объединиться? Может, это ваша судьба? Подумайте над этим! Но только, ради бога, оставьте нас в покое! |
ke(x)one | ||
13.5.2012, 3:13 |
Погода для нескольких городов API1, API2 | Скрипт погоды для нескольких городов |
FIGO, специально сейчас скачал скрипт, поставил, ничего не изменяя, запустился нормально. Тыкнул в меню на Харьков - показал погоду на Харьков. Что я не так делал? Хотя кое-что я изменил, но об этом ниже (ещё ниже, в послании Артёму) и оно не касается твоей проблемы. Я полагаю, что у тебя в 9-й строке в середине выражения вместо точки стоит запятая: Код local sBot = SetMan.GetString(21) -- Имя бота Исправь на точку и запусти, если больше ничего не менял, будет работать, думаю.PS: Артём, у тебя в архиве текстовый файл имеет сдвоенное расширение - ".txt.txt", надо бы подправить, а то при первом включении говорит, что не нашёлся файл. И правильно говорит, я не глянул и запустил, и получил эту ошибку. |
Артём | ||
8.5.2012, 22:50 |
помогите переделать скрипт для Ptokax |
N3RO, вместо Код Core.SendToAll("Текст") пишешь Код Core.SendToUser(curUser, "Текст") в тех местах, где тебе надо получать только юзеру вместо всех. |
N3RO | ||
24.4.2012, 13:40 |
Тест хаба |
Verd, всё это можно без тестирования сказать: 1. Пропусная способность - примерно 250 юзеров на реальный 1 мбит/с - комфортное существование (можно и больше, но с возрастанием числа юзеров начнутся подтормаживания). Соответственно, на 10 мбит/с (но реальных, а не заявленных) - около 2 тыс. Ну тут возможны разные мнения, но приблизительно так и будет. 2. Скорость - не знаю, о чём ты, но если я правильно понял, то всё зависит от твоих скриптов и их настроек. И читай предыдущий пункт. 3. Насчёт атак - практически нет защиты, если ты не платишь деньги какой-нибудь сторонней специализированной организации, занимающейся защитой чужих серверов от атак типа DoS/DDoS. Ты можешь только предпринять некоторые половинчатые меры в помощью скриптов либо команды хаба о переходе на "псевдо-спящий" режим (есть скрипт для этого - http://mydc.ru/topic5101.html ). Возможно, кто-нибудь ещё добавит на эту тему.. 4. Флуд - регулируется только настройками хаба, или скриптами опять же. Или политикой администрации хаба вкупе со скриптами и настройками. PS: И да, горячие споры вокруг моего ответа выше считаю открытыми. |
Verd | ||
15.4.2012, 21:13 |
IP INFO v 1.0 Получаем информацию об ip с ripe.net |
-=Zion=-, тогда можешь использовать этот скрипт. |
-=Zion=- | ||
26.3.2012, 4:33 |
Вопросы Разработчикам Скриптов вопросы по скриптам (мелкие вопросы) |
MIKHAIL, если эти 2 файла входят в один скрипт (вызываются при запуске одного скрипта), то нет никаких проблем - работаешь с этими переменными, как родными. Они и есть родные, ибо принадлежат одному скрипту (головному. вызывающему оба файла). А если переменные принадлежат двум разным скриптам, то это весьма проблемно, если у тебя не Русхаб. |
MIKHAIL | ||
4.3.2012, 3:56 |
Несколько Слов О Захватах И Регулярных Выражениях исключительно для разработчиков |
MIKHAIL: Код local sFilePath = "http://sHostName/sDir1/sDir2/sDir3/sDirN/sFileName.sExt" local sFileName = sFilePath:gsub(".-/", "") |
MIKHAIL | ||
2.3.2012, 15:42 |
Defend Chat API 2 | Полностью автоматическая защита чата от спама |
alex82, насчёт "отлавливая команду..." - вопрос - если она (команда) есть - бот, или наоборот, если нет такой команды - бот? |
мамин_парень | ||
24.2.2012, 22:24 |
Вопросы Разработчикам Скриптов вопросы по скриптам (мелкие вопросы) |
Код Core.SendToUser(tUser, ("Доброй ночи %s"):format(sMsg)) AirKobra45, тут %s означает, что при выводе сообщения вместо шаблона %s подставится очередная переменная из списка, идущего как аргумент выражения format, в данном случае подставится sMsg (оно должно быть уже создано до этого). Так же можно использовать несколько таких %s, и при каждом встреченном в сообщении %s вместо него подставится очередная переменная из аргументов format'а. Пример: Код Core.SendToUser(tUser, ("<%s> Доброй, ночи %s! Твоё IP: %s, твоя шара: %s"):format(sBot, sNick, sIP, sShara)) Значения переменных sBot, sNick, sIP, sShara уже должны быть известны перед применением.Выведет в чате, например, это: Цитата <Страшный_Бот> Доброй ночи, AirKobra45! Твоё IP: 10.20.30.40, твоя шара: 1234567890 |
ustas, AirKobra45 | ||
22.2.2012, 20:56 |
Вопросы Разработчикам Скриптов вопросы по скриптам (мелкие вопросы) |
MIKHAIL, да. Достаточно вот этого, если твой хаб на АПИ 2: Код function OnError(s) Core.SendToOpChat(s) end |
MIKHAIL | ||
16.2.2012, 10:03 |
Дисконнект юзеров с хаба |
Naum_Off, по совокупности твоей информации делаю вывод - у тебя Птока стала отправлять слишком много меню, ты перестарался с набивкой хаба скриптами и развлечениями.. 1. Относительно тебя самого - удали из папки скриптов все невключенные скрипты в отдельную папку "ОТключенные скрипты", если они тебе ещё могут понадобиться...дело в том, что если у тебя стоит, к примеру, скрипт HubMenu, то он отправляет тебе как админу список всех скриптов - и работающих и отключенных - и у каждого скрипта в меню есть ещё подменю - отключить, включить, передвинуть вверх/вниз, перезапустить...а сколько других скриптов ещё.. Когда клиент перегружен менюшками, с какого-то количества их (думаю, объёма в кб), он тупо отключается от хаба. Можешь проверить - отключить какие-то скрипты с кучей строк меню - ты перестанешь слетать. 2. То же самое и для юзеров. У них не будет HubMenu и других админских менюшек, но ты мог их перегрузить менюшками развлекательного характера типа "Действия" или иными скриптами с меню. 3. Короче, если подтвердится моя версия, пересмотри своё отношение к хабу и юзерам. Может, оно того не стоит - такое количество скриптов/развлекалок? PS: Это только версия. Но у меня такое было, долго не мог понять причину, почему меня после захода сразу скидывает как админа, а как юзер спокойно захожу.. А причина оказалась та, которую изложил выше. |
Naum_Off | ||
15.2.2012, 16:17 |
Script_Matrix Скриптовая матрица-заготовка |
-- Скриптовая матрица-заготовка Название: Script_Matrix.lua Платформа: PtokaX API-2 Доктрина: "Были бы кости, мясо нарастёт." -- Когда то и дело пишешь скрипты, то также приходится то и дело писать одни и те же функции и коды, и зачастую приходится их вытаскивать/копировать из собственных же (бывает и из чужих) скриптов. Вот снова решил было написать скрипт и задумался - а почему я каждый раз лезу куда-то копировать уже написанное, пора собрать черновую заготовку скриптов и уже начинать сразу с него писать, всё меньше работы. -- Да и заодно новичкам будет легче ориентироваться, что к чему в скриптах (хотя бы самое простое) Описание: -- почти готовая к разным действиям заготовка скрипта -- достаточно только инициировать нужные переменные и отслеживать за их правильным применением -- всё, что между кавычками, можно менять по своему усмотрению -- все ненужные функции и объявления переменных можно закомментить или удалить -- можно добавить свои переменные и функции (само собой, данная матрица далеко (и очень далеко!) не всеобъемлюща) -- это просто первичная заготовка, но пригодится даже опытным скриптерам (если их устроит принятые в данной матрице обозначения и иные мелочи) Всё равно приходится выцеплять/копировать части кода со своих/чужих скриптов, так почему бы это всё не держать рядышком в корзиночке. PS: -- Данная матрица даже как заготовка несовершенна, ибо нет в мире совершенства, однако я понимаю, что можно увеличить универсальность данной матрицы, если добавить туда кучу других функций (штатных и самописных) и обращаться к ним при необходимости, используя флаги (есть флаг - используется, нет - проходим мимо). Но это уже другая песня. -- И да, я помню, что Alex82 тоже аналогичную тему создавал. Но то его тема, а это моя. Тем более, я давно собирался сам, просто руки не доходили. UPD: - исправил одну грубую синтаксическую ошибку в 85-й строке, перезалил. |
Nickolya, Артём, rival, TiGRpp, Littlemuk | ||
11.2.2012, 17:44 |
Есть ли такой скрипт? изменить адрес хаба |
Пора бы уже знать, что на клиенте ты ничего не можешь менять с хаба, хоть тресни.. Посылать каждому при каждом входе в личку и в чате оповещение о новом адресе, пусть помнят и держат под рукой. И так до тех пор, пока не перейдёте на новый адрес. И поспеши, а то можешь остаться без юзеров, если вдруг сегодня/завтра старый домен умрёт. |
dj hoodo | ||
10.2.2012, 6:07 |
NetSeparator Не даст качать, если помегабайтная плата за трафик на внешке. |
UPD: -- а вот и первый апдейт.. -- обнаружил ошибку в детектировании и анализе при $ConnectToMe и исправил. -- заодно добавил в сообщение с предупреждением показ юзеру ника того, с кем он безуспешно пытается соединиться; -- и для тестового режима на всякий случай сделал сохранение списка тех, кто с внешки (при запуске скрипта список обнуляется, чтоб не дублировались ники при каждом сохранении). Это сохранение можно отключить в настройках. Время перезаливки: 2012-02-10 07:05 (МСК) |
мамин_парень | ||
8.2.2012, 17:54 |
NetSeparator Не даст качать, если помегабайтная плата за трафик на внешке. |
Скрипт регулирования поиска и скачивания между юзерами двух разных сетей (внешки и локали) (аналог NetworkSeparation, только для частного случая, но код свой) Название: NetSeparator Платформа: PtokaX API: 2 Автор: Ksan (aka Trans) Город: Томск Дата: 2012-02-08 Примечания: - 2 варианта скриптов: ---- NetSeparator_AutoUpd - с возможностью автоматического и ручного обновления с сайта списка диапазонов местных сетей ---- NetSeparator - без оного (то есть, список заранее прописываешь в таблицу в нужном формате и при необходимости вручную обновляешь) - Для работы скриптов требуется папка NetSeparator с двумя файлами, в одном диапазоны, в другом - ники (открывших внешку и отключивших показ предупреждений при скачке). ---- при запуске при отсутствии таблицы с местными диапазонами автообновляемый скрипт сам полезет обновляться при наличии ресурса, содержащего диапазоны местных сетей (адрес нужно прописать в настройках), а когда обновится, входит в рабочий режим, если и обновиться не может, то выпадает в осадок, сообщив о ситуации админам (при наличии нужной таблицы скрипт продолжит работать, даже если в дальнейшем обновления провалятся) ---- необновляемый скрипт при запуске тоже проверяет наличие файла с таблицей диапазонов, если не находит, то сообщает админам и самоотключается. - Меню: для внешних юзеров - только ОТКЛ/ВКЛ сообщений с предупреждениями, для местных, кроме этого, ещё в меню есть возможность открыться внешке и посмотреть свой статус. ---- админу отправляется отдельное меню в админский раздел - для ручного обновления с сайта (NetSeparator_AutoUpd) -- И да, чуть не забыл - та ошибка, которая иногда проявлялась в НетворкСепаратион в виде предупреждений не тому юзеру, здесь отсутствует. -- И ещё - в этом скрипте юзеры с внешки открыты для местных, то есть, для них нет разделения сетей, им не надо заморачиваться насчёт этого. Так что дело только за местными. Nota Bene: Скрипт писался под свои хабы (хабы нашего города), где весь город и область (грубо говоря) с бесплатным трафиком, у большинства пользоватлей и с внешним интернетом нет проблем, но есть часть населения, сидящие на тарифах с помегабайтной оплатой трафика. Мало, но есть, раньше было больше. И скрипт писался как раз для разграничения в хабах двух сетей (условно говоря) - Томской сети и всего остального интернета. Благо, у нас есть ресурс ТомскНет, где как раз лежит постянно обновляемый список наших сетей и диапазонов, чем я и воспользовался для своего скрипта...для одного из них. Да и второй скрипт, хоть и не автообновляется, но там тоже юзается та же база. Напоминаю, скрипт сейчас работает только на 2 стороны (на 2 группы сетей). а не на произвольное число групп сетей. Если у кого-то аналогичная или близкая ситуация, думаю, сможете приспособить скрипт под себя. Библиотека: Для автоматического обновления базы с сайта для скрипта NetSeparator_AutoUpd требуется библиотека Lua Socket Таблица диапазонов хранится в таком виде: Код tNets = { ["91.211.184.0"] = { -- начало диапазона [1] = "91.211.184.255", -- конец диапазона [2] = "1540601856", -- начало (числовой вид) [3] = "1540602111", -- конец (числовой вид) }, ["193.150.68.0"] = { [1] = "193.150.68.255", [2] = "3247850496", [3] = "3247850751", }, } PS: Есть нюанс, не зависящий от скрипта - при поиске, если ищущий клиент в активном режиме, то он получит свои результаты в любом случае, даже у того, кто закрыт (и наоборот, кто закрыт, получит свои результаты даже с внешки, если он сам актив), то есть, поиск ограничивается только для пассива. Со скачиванием этой проблемы нет. Если найдутся те, кто будет юзать скрипт, просьба потом отписаться тут. UPD: -- а вот и первый апдейт.. -- обнаружил ошибку в детектировании и анализе при $ConnectToMe и исправил. -- заодно добавил в сообщение с предупреждением показ юзеру ника того, с кем он безуспешно пытается соединиться; -- и для тестового режима на всякий случай сделал сохранение списка тех, кто с внешки (при запуске скрипта список обнуляется, чтоб не дублировались ники при каждом сохранении). Это сохранение можно отключить в настройках. Время перезаливки: 2012-02-10 07:05 (МСК) |
Tsd, ShadoWx, AfLc, мамин_парень | ||
7.2.2012, 0:03 |
Вопросы Разработчикам Скриптов вопросы по скриптам (мелкие вопросы) |
MIKHAIL | |||
1.2.2012, 9:31 |
Вопросы Разработчикам Скриптов вопросы по скриптам (мелкие вопросы) |
Как бы и Птока 0.4.2.0 умеет, судя по ченчлогам. Тут уже писали и не раз. |
MIKHAIL | ||
27.1.2012, 14:18 |
StatPX Lite API2 | Веб-статистика хаба, чат-ранг, статистика местоположения юзеров |
Sergius`, открываешь скрипт, находишь функцию UserConnected(user), там находишь строку Код SendMOTD(user) и вместо этого вписываешь это: Код if user.iProfile ~= -1 then SendMOTD(user) end |
Sergius` | ||
26.1.2012, 20:29 |
RusHub: Запрет неразрывного пробела rushub |
Setuper, как у тебя всё запутано! Извини, даже после твоего пояснения я не понял, то ли ты там описал небрежно, то ли что..Не хочется развивать разбор этих нюансов.. Что до обвинений меня - так помогайте сами, человек уже запарил чат хаба Майдц, мой приват там же, я хоть пытаюсь помочь, а те, кто занимается Русхабом, упорно делают вид, что не замечают его просьбы. И тут ты появился только после того, когда я что-то не так подсказал. Как понимаю, так и подсказываю. ShadoWx, вот тебе работающий на Птоке код: Код function ChatArrival(tUser, sData) Попытайся переделать его под себя. Хотя вроде они похожи.local sMsg = sData:match("^%b<>%s(.-)$") if sMsg:find"" then Core.SendToNick("ShadoWx", "Неразрывный перенос") return true elseif sMsg:find" " then Core.SendToNick("ShadoWx", "Неразрывный пробел") return true end end |
ShadoWx | ||
26.1.2012, 14:43 |
Список пользователей |
fmit, ну этот вариант (без таблицы, проверка с подстановкой каждого префикса в одной строке) у меня сразу был готов, но я хотел с таблицей, на будущее. Тогда вот: Код local sBotMsg = "<"..SetMan.GetString(21).."> *** Просьба добавить к нику префикс и перезайти. Если у вас ADSL - припишите к нику спереди префикс [ADSL], если FTTB - то [FTTB]. Пример:\n [ADSL]Александр, [FTTB]4uMa и т.д." -- текст можно переделать на свой function ValidateNickArrival(tUser, sData) if not tUser.sNick:find"^%[ADSL%]" and not tUser.sNick:find"^%[FTTB%]" then Core.SendToUser(tUser, sBotMsg) Core.Disconnect(tUser) end end |
fmit | ||
26.1.2012, 13:20 |
СКРИПТ ЗАГЛУШКИ |
Ищите сами. Здесь вам не детский сад. 1. Наверху страницы справа увидишь ПОИСК и окошко поисковое. Слова для поиска подберите опытным путём. 2. А ещё на форуме есть каталог тем. Каталог разбит на понятные для любого разделы. Полазай. |
Nickolya, shullz, Littlemuk | ||
25.1.2012, 4:04 |
Вопросы Разработчикам Скриптов вопросы по скриптам (мелкие вопросы) |
Автоматически. Но не потому, что local tContains, а потому, что они задействованы только для выполнения данного цикла. А если внутри этого цикла запустишь ещё один цикл с переменными с такими же наименованиями, они всё равно не будут путаться. |
MIKHAIL | ||
25.1.2012, 3:50 |
XenoPhobia Скрипт для защиты от потенциальных прокси-спамеров из других стран |
Скрипт для защиты от потенциальных прокси-спамеров (да и не только прокси) из других стран Название: XenoPhobia (Ксенофобия) Платформа: PtokaX API: 2 Автор: Ksan (aka Trans) Местоположение: г.Томск Дата: 25-01-2012 Дополнительно: Для работы скрипта необходима база стран и диапазонов, и она должна лежать в папке CFG в корневой папке Птоки. Скорее всего, она у вас уже есть, хотя, может, и устарела слегка. Последнюю версию можно Описание: -- если включен флажок бана, то банит (просто не пускает на хаб) юзеров из стран из отдельной таблицы (флажок ставится/снимается через меню) -- если включен флажок заглушки, то заглушает те страны, которых нет в списке исключений (флажок ставится/снимается через меню) -- но из этих стран не глушит те диапазоны, которые в исключениях (к диапазонам можно добавлять комментарии) -- также не глушатся ники, которые есть в исключениях (к никам можно добавить комментарии) -- отдельные IP тоже можно вносить в исключения (как диапазон, у которого начало и конец совпадают с данным IP) -- при показе страны заходящего на хаб или пишущего сообщение юзера показывается полное название страны + аббревиатура кода, например, так: "Россия (RU)". Так же и при просмотре списка. -- можно посмотреть списки исключений - страны, диапазоны, ники и список забаненных стран. -- все вышеуказанные операции производятся через меню, не останавливая скрипт и не открывая файлы блокнотом -- в коде присутствует примитивное предупреждение о рекламе (если в приватном сообщении у юзера из заглушенной страны имеется точное совпадение хотя бы одного слова из таблицы меток (tMarkers), то это сообщение скрипт покажет операторам/админам в приват). Поэтому вносите туда выражения только однозначные, например, "http://" и/или "dchub://", скрипт не антиреклама и не антимат, поэтому слова-исключения не предусмотрены -- сообщения юзеров заглушенных стран (не исключенных тем или иным способом) в чате видит только сам юзер и операторы/админы Примечания: -- скрипт написан практически без проверки корректности ввода (дабы не усложнять и не загромождать код), так что следите за своими руками, при неправильном вводе просто отмолчится, хотя ничего в таблицы не добавит и не убавит. -- в таблицы страны вносятся ТОЛЬКО в виде двухбуквенных кодов стран латинскими буквами, например: RU , но по ходу работы скрипт сам определяет полное название страны и при необходимости сообщает его (при выводе таблицы или в текущих сообщениях) -- текстовку скрипта можете изменять по своему усмотрению, но для этого вы должны хорошо понимать суть этого участка кода -- можно удалить из исключений все страны, даже свою, и добавить только диапазоны нужные, это ограничит любое общение всем, кроме своего окружения, например, локалки -- при запуске скрипта должны быть в наличии папка "XenoPhobia" и в ней 2 файла - один для динамических таблиц и второй - с полными названиями стран. Если файлы при запуске скрипта не обнаружатся, скрипт сообщит об этом, но сам останется в режиме ожидания, периодически проверяя их наличие, и при появлении файлов сразу же входит в нормальный режим. PS: -- чуть не забыл сказать - таблицу с полными названиями стран взял из скрипта CountryStats (автор - alex82). PPS: -- вдогонку - при первом запуске не забудьте заранее внести свой ник в список исключений (соблюдая структуру таблицы, как в представленных примерах), руками, а не через меню, иначе случайно можете оказаться без управления хабом, особенно это важно для тех, у кого хаб управляется удалённо. Картинки из жизни скрипта (списки в реале слегка форматированные, но тут это не будет видно): Список стран в исключениях Код [07:32:41] <Ксенофоб> *** Список разрешённых стран: 1: Армения (AM) 2: Азербайджан (AZ) 3: Болгария (BG) 4: Беларусь (BY) 5: Эстония (EE) 6: Европейский Союз (EU) 7: Грузия (GE) 8: Израиль (IL) 9: Киргизия (KG) 10: Казахстан (KZ) 11: Литва (LT) 12: Латвия (LV) 13: Польша (PL) 14: Россия (RU) 15: СССР (SU) 16: Таджикистан (TJ) 17: Туркмения (tm) 18: Украина (UA) 19: Узбекистан (UZ) Список невъездных стран Код [01:33:03] <Ксенофоб> *** Список забаненных стран: 1: Бразилия (BR) 2: Китай (CN) 3: Дания (DK) 4: Испания (ES) 5: Индия (IN) 6: Италия (IT) 7: США (US) 8: Вьетнам (VN) Список разрешённых диапазонов Код [07:34:46] <Ксенофоб> *** Список разрешённых диапазонов: 1: 176.65.48.0 -- 176.65.55.255 [ INTERNET-NET, Томск ] 2: 78.139.249.42 -- 78.139.249.42 [ TOMTEL-NET, Томск ] 3: 172.16.0.0 -- 172.31.255.255 [ Локалка ] 4: 90.188.95.153 -- 90.188.95.153 [ It's me! ] 5: 10.0.0.0 -- 10.255.255.255 [ Локалка ] 6: 46.161.144.0 -- 46.161.159.255 [ NTS-ETTH, Томск ] 7: 127.0.0.0 -- 127.255.255.255 [ Компьютер с хабом ] 8: 192.168.0.0 -- 192.168.255.255 [ Локалка ] Список ников-исключений Код [07:05:56] <Ксенофоб> *** Список ников-исключений: 1: Тест [ Просто так ] 2: Indy[wrk] [ Админ ] 3: Indy [ It's me! ] 4: Спорт [ ] 5: Ksan [ Админ ] 6: TestNick [ Тестер ] Граница на замке! UPD 1: -- добавил "бан" отдельных стран (юзеры оттуда не будут допускаться на хаб) с возможностью добавления/удаления стран в этот список через меню (2-буквенный код страны) и просмотр этого списка -- также добавил флажок включения этого бана (флажок можно ставить/снимать через меню) -- и добавлен флажок такой же относительно заглушек стран, включая и меню -- незначительно оптимизировал код -- таблицы/файлы совместимы с предыдущей версией скрипта, достаточно просто ещё добавить через меню страны в таблицу банов -- после перезапуска скрипта перезайти необходимо (добавлены новые пункты в меню) UPD 2: (версия 1.1) -- добавил в меню "Показывать/нет непускание" (иногда достают тупые многочасовые попытки зайти из невъездной страны, как, например, сегодня из Китая (CN)) -- скрипт перезалит. -- удалил первую версию (которая без бана). Если через меню отключить баны, то версия скрипта 1.1 работает как первая. UPD 3: (версия 1.2) -- по просьбе Артёма добавил блокирование поиска/скачивания для определённых стран ("спамоопасных"). Добавление/удаление/просмотр этих стран - через меню, как и в предыдущих случаях. -- разная косметическая мелочь. Дата последнего апдейта: 2013-04-26 19:10 (МСК) |
Nickolya, ustas, rival, Inkvizitor_ks, WINS, Mellon, AfLc, tammi_0909, Nikolaevich | ||
22.1.2012, 7:05 |
SuspendHub Блокирование хаба от входящих (защита от внешних атак) |
Артём, мамин_парень | |||
13.1.2012, 20:13 |
TotalGag для аварийной заглушки всего хаба (кроме определенных лиц) |
MIKHAIL, ага, есть такое, спасибо, что подсказал! Это потому, что я Код ToArrival = ChatArrival добавил в последний момент по просьбе кое-кого, не догадавшись проверить работу скрипта с изменением.Исправляется так - вместо кода: Код if sUngagable[tUser.sNick] ~= 1 and bFlag then нужно вот это (тут всего 1 строка перемещена)Core.SendToUser(tUser, "<"..tUser.sNick.."> "..sMsg) if not (sData:match("From:") and sData:match("To:")) then Core.SendToOps("<"..tUser.sNick.."> ••• "..sMsg) end return true end Код if sUngagable[tUser.sNick] ~= 1 and bFlag then if not (sData:match("From:") and sData:match("To:")) then Core.SendToOps("<"..tUser.sNick.."> ••• "..sMsg) Core.SendToUser(tUser, "<"..tUser.sNick.."> "..sMsg) end return true end А строку Код ToArrival = ChatArrival оставить включенным.UPD: -- перезалил исправленный скрипт в первом сообщении. |
MIKHAIL | ||
10.1.2012, 5:23 |
SuspendHub Блокирование хаба от входящих (защита от внешних атак) |
Скрипт блокирования хаба от входящих юзеров (вариант защиты от внешних атак) Название: SuspendHub.lua Версия: 1.0 Платформа: PtokaX API: API 2 Автор: Ksan (aka Trans) Город: Томск, Россия Дата: 10-01-2012 Описание: 1. Если вы заметили, что ваш хаб атакуют, то через меню можете заблокировать хаб для всех входящих. По умолчанию - на 5 минут (это регулируется в настройках хаба), также в меню есть блокирование на желаемое время (тоже в минутах). Разблокирование через меню либо по прошествию заданного времени. При блокировании хаб извне будет казаться отключенным, с соответствующими сообщениями, а сидящие в хабе ничего не почувствуют, всё будет работать в обычном режиме. 2. Есть в скрипте и код блокирования без срока, но это опасно в случае вылета из хаба последнего оператора/админа - будет некому разблокировать хаб вплоть до его перезагрузки (а для удалённых хабов в некоторых случаях и это может оказаться проблемой). Для включения команды блокирования без срока нужно раскомментировать код в 2-х местах - в отправке меню и в исполняемом коде 3. Сообщения о блокировании/разблокировании приходят автору команды и в Опчат. Текстовку можете менять по своему вкусу. |
Nickolya, ustas, Tsd, Артём, stoparik, Cyber_voodoo, shur49, bENNY!, nafig, Ust, PAUK | ||
8.1.2012, 0:04 |
Вопросы Разработчикам Скриптов вопросы по скриптам (мелкие вопросы) |
MIKHAIL, Ну и заодно - И да, чуть не забыл - |
MIKHAIL | ||
5.1.2012, 18:57 |
RegmeEmail API2 | Регистрация через e-mail |
Ameet, находишь в скрипте вот такой код: Код function GetPass() и вместо него копируешь отсюда этот: math.randomseed(os.time()) return tostring(math.random(100, 99999999)) end Код local sPass = "" tAbc = { "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", } function GetPass() math.randomseed(os.time()) sPass = tAbc[math.random(#tAbc)] -- 1-я буква пароля local iPass = math.random(4, 7) -- длина пароля = [(от 4 до 7) + 1] for i = 1, iPass do sPass = sPass..tAbc[math.random(#tAbc)] end return sPass end Тут в этой строке регулируется и создаётся произвольная длина пароля: Код local iPass = math.random(4, 7) Вместо 4 и 7 можешь писать другие разумные размеры длины пароля. Только нужно учитывать, что 1 символ уже создался в предыдущей строке.PS: Можно было обойтись без предварительной таблицы символов tAbc, но тогда код стал бы громоздче. UPD: Так, наверно, эту переменную - local sPass - надо объявить заранее, до использования в function GetPass(), иначе не уверен, что вытащится по return.. Поэтому в код внёс поправку небольшую. |
Ameet | ||
3.1.2012, 4:48 |
Вопросы Разработчикам Скриптов вопросы по скриптам (мелкие вопросы) |
1. MIKHAIL, изящность достигается не этим, не твоими "блошиными" исследованиями, ей-богу! Я уже писал тебе выше. Твои скрипты пашут с производительностью в 1 млн вычислений в секунду? Тогда да, твои экзерсисы оправданы. А если ты пишешь то же, что и мы, то забей, займись чем-то более полезным. Просто пиши, как умеешь...остальное придёт с практикой 2. И да, ты выше спрашивал про function, отвечаю - нет разницы. Это вопрос предпочтений. Лично я пишу всегда так: Код function GetData(sData) Цитата [01:40:49] * 10 [01:40:49] * 11 Enyby, а ты проверял только 1 раз? Проверь несколько раз, удивишься. Вот у меня с 4 раз: Тык сюда: Цитата [08:41:58] 6 [08:41:58] 6 [08:42:22] 6 [08:42:22] 6 [08:42:40] 5 [08:42:40] 6 [08:43:08] 6 [08:43:08] 6 Разница чисел у тебя и у меня, думаю, только из-за разных процессоров. И вообще, иногда надо думать и о красоте, особенно когда нет практически разницы между способами в скорости. Разница в микросекунды и наносекунды не считаются. |
Enyby, MIKHAIL | ||
1.1.2012, 9:01 |
Kinozal_tv API2 | Скрипт новостей с трекера |
MIKHAIL, эти файлы у тебя могут лежать и в другом месте. Проверь, нет ли у тебя в папке с Птокой где-нибудь ещё одной папки libs.. |
MIKHAIL | ||
29.12.2011, 1:42 |
Вопросы Разработчикам Скриптов вопросы по скриптам (мелкие вопросы) |
Код Stroka:sub(3,4) - тут от строки Stroka выделяется кусок от 3-го по 4-е число символов.Для изучаемого числа 0.141592654 это будет пропуск первых двух символов "0." и захват цифр "14" из "141592654" Можно брать и отрицательные значения для этих аргументов: Код Stroka:sub(3,-4) - тут у нас захватятся с 3-го по 4-е с конца, то есть, получим число "141592"Знак минус при аргументе означает - с конца строки. |
MIKHAIL | ||
29.12.2011, 1:25 |
Вопросы Разработчикам Скриптов вопросы по скриптам (мелкие вопросы) |
MIKHAIL, заранее не парься. Пиши скрипт спокойно. Вот когда появятся проблемы, тогда и будем решать. И да, ты смотри моё предыдущее сообщение, я там подправил кое-что. |
MIKHAIL | ||
28.12.2011, 23:43 |
Вопросы Разработчикам Скриптов вопросы по скриптам (мелкие вопросы) |
MIKHAIL, а ещё есть это: Код local Pi = 3.141592654 -- твоё обрабатываемое число local sUnit = "" -- единица измерения, в данном случае пусто (а может быть и метр, и процент и что угодно) Core.SendToAll(string.format("%0.2f %s", Pi, sUnit)) -- где 2f - нужное число знаков после запятой, то есть, 2 в данном случае PS: в числе Пи надо было точку вместо запятой. А ещё можно так: Код local Pi = 3.141592654 local M, N = math.modf(Pi) -- получение целой части числа и дробной части Core.SendToAll(M.."."..tostring(N):sub(3,4)) -- получаем 3.14 Это для представления. А для выполнения матем. операций в дальнейшем нужно применить команду Код tonumber(вышеполученное строчное выражение) Например, продолжая предыдущий код (который с выводом числа в чат) - заменяем вывод в чат на эту строку: Код Core.SendToAll(tostring(tonumber(M.."."..tostring(N):sub(3,4))*10)) -- получаем 31.4 Тут происходит вот что - сначала соединяем и получаем в строковом виде 2 части (вторая часть только с двумя значащими цифрами после запятой) числа вновь, превращаем это полученное в числовой вид и умножаем на 10 и выводим результат в чат, превратив снова в строковый вид (чтоб убедиться в правильности метода). |
MIKHAIL | ||
27.12.2011, 17:01 |
Public PHP hublist (Хаблист) by Enyby Публичный открытый хаблист на PHP |
Цитата(Mellon) раз вы не тролль то я сделаю предположение что вам до 20. На баш! PS: [To All] И вообще, ребятки, зачем вы мучаете животное? Забейте (забаньте?) его и хватит его бред читать. |
Артём | ||
27.12.2011, 16:51 |
Tiny Hublist Программа для создания хаблистов |
Mellon, хосспади, какое-то невнятное бормотание и бред сумасшедшего ты пишешь. Может, просто промолчишь и за умного сойдёшь? Никогда не поверю, что человек, пишущий ТАК, способен написать хоть 10 строк кода без ошибок, неважно на каком языке...если русским-то не владеет и логика дико страдает. |
Артём, PomanoB | ||
27.12.2011, 3:37 |
WhoisNew Через меню хаба добывает WHOIS-информацию об IP |
UPD-5: - Перезалил, чуть-чуть изменив одну строчку (причина - маленькое изменение на странице результатов сайта, приведшее к неработе скрипта). Теперь скрипт работает. PS: Сорри, что так долго не исправлял...просто руки не доходили, а реально пришлось вносить всего лишь пустяковое изменение.. |
striker | ||
26.12.2011, 15:11 |
Постоянно Зависает Работающая Ptokax 0.4.1.1 An error occured in the application |
Fe(one)X, разбирайся лучше, почему хаб зависает. Просто так ничего не бывает. У всех нормально пашет, и у тебя пахал столько времени, и вдруг стал виснуть....что-то тут не так у тебя. Не факт, что следующая версия не будет зависать. Так что разберись с этим сначала. |
bENNY! | ||
23.12.2011, 22:06 |
Нужен скрипт для вкл/выкл чата |
Достаточно полазать по разделам. |
мамин_парень | ||
22.12.2011, 2:15 |
Current_Weather_All_Cities Выводит текущую погоду автом. в чат и по запросу, любые города |
UPD: - добавил показ текущей даты/времени местности (правда, на сервере погоды время отстаёт минут аж на 5 , но всё же...) - исключил вывод данных при получении ошибки с сайта (чтоб все города не получали одну и ту же погоду) - небольшие косметические малозаметные изменения, улучшающие работу скрипта. Скрипт перезалил в сообщении #1. UPD: - убрал показ даты/времени для вывода в чат местной погоды (зачем местным показывать их время, тем более, не очень точное) Скрипт перезалил в сообщении #1. |
ustas | ||
19.12.2011, 11:57 |
Current_Weather_All_Cities Выводит текущую погоду автом. в чат и по запросу, любые города |
UPD: Выявился неучтённый момент - в архивных данных могут оказаться 2 года через запятую с одинаковой температурой Max. или Min., и при попадании такого случая скрипт падает. Что сегодня и случилось с Владивостоком. Хорошо, хоть сам город не пострадал. Код подправил, скрипт перезалил в сообщении #1. UPD-2: Сделал косметическую подправку - восход/заход солнца разделил на 2 строки, а то слишком длинная получалась: Код Солнце: восход: 09:52 заход: 16:42 Скрипт перезалил в сообщении #1. |
striker | ||
15.12.2011, 6:24 |
Current_Weather_All_Cities Выводит текущую погоду автом. в чат и по запросу, любые города |
Наконец-то собрался и переделал скрипт. Причина - полное изменение структуры страницы на сайте. Пришлось всё перелопатить. Плюс добавил показ восхода/захода солнца. Дата заливки: 15-12-2011 06:25 (мск.) Качайте из первого сообщения темы. |
rival, Dan Claimant | ||
9.12.2011, 1:46 |
Как настроить поиск на винде 7 начальной |
Ты когда научишься описывать свою проблему в сообщении, а не в заголовке темы? Заголовок - только чтоб обозначить, о чём пойдёт тема, а суть проблемы описывают в первом сообщении! Дурдом какой-то. И ещё - тут КАПСОПИСЦАМ не помогают. И напоследок - винда тут ни при чем, да хоть на MacOS сиди.. |
мамин_парень | ||
8.12.2011, 2:51 |
Несколько Слов О Захватах И Регулярных Выражениях исключительно для разработчиков |
Попробуй внедрить в свой скрипт эту процедуру (названия переменных можешь изменить как тебе понравится): Код t = {} for k, v in sMsg:gmatch("<pubDate>.-</pubDate>") do local s = v:match("<pubDate>(.-)</pubDate>") t[k] = s end При выполнении все строки, содержащее нужную тебе информацию (в данном случае время/дату) сохранятся в таблицу t Потом сможешь вытаскивать их когда и как тебе угодно, например, так: Код local sTime = t[1] дальше это вставляешь в своё выводимое сообщение в нужное место. |
MIKHAIL | ||
3.12.2011, 13:12 |
От: Mellon DC Hub List От темы с ID: 5060 |
Как вариант - А.П.Чехов. "Письмо учёному соседу": Цитата ..Вы сочинили и напечатали в своем умном соченении, как сказал мне о. Герасим, что будто бы на самом величайшем светиле, на солнце, есть черные пятнушки. Этого не может быть, потому что этого не может быть никогда. Как Вы могли видеть на солнце пятны, если на солнце нельзя глядеть простыми человеческими глазами, и для чего на нем пятны, если и без них можно обойтиться?.. |
-=ДЕМОН=- | ||
3.12.2011, 12:30 |
От: Mellon DC Hub List От темы с ID: 5060 |
Mellon, как тебе удаётся написать такие предложения - в 100 слов? И ещё: Цитата ты об этом мало что знаешь (так как тебя тогда не было) Интересно было бы услышать комментарии оппонента на эту тему. |
-=ДЕМОН=- | ||
2.12.2011, 16:42 |
помогите сделать скрипт |
max666: Цитата Да мне трудно потому что я в это не вникал и не собираюсь !!!! В этом вся суть твоя. Потому и не хотят тебе помогать. И вообще, если ты такой пустяк не можешь и даже не хочешь сделать, то нафиг ты хаб завёл, спрашивается?! |
Артём | ||
8.11.2011, 16:31 |
Сдвиг таймеров для частного случая Периодическая инициализация действий со сдвигом по времени |
Товарищ один (Akvilon) попросил помощи, и вот кидаю частное решение (хотя расширить никто не мешает). Цель - периодическая инициализация действий со сдвигом по времени (например, 2 сообщения в чат, разнесенных по времени на полчаса, то есть, общий период - 1 час) Код local iTime = 1 -- в данном случае - это 1 час function OnStartup() tmr1 = TmrMan.AddTimer(iTime*3600000) end function OnTimer(tmr) if tmr == tmr1 then Core.SendToAll("Бла-бла-бла!") tmr2 = TmrMan.AddTimer(iTime*30000) elseif tmr == tmr2 then Core.SendToAll("Шурум-бурум-тяп-ляп!") TmrMan.RemoveTimer(tmr2) end end Возможно, решение уже где-то есть, а возможно, ещё кому-то пригодится. |
rival | ||
8.11.2011, 10:50 |
Запрет поиска определенныхслов\выражений |
WINS, думаю, если тебе надо не пропускать поисковый запрос, то, наверно, нужно вместо бана юзера достаточно просто проигнорить его запрос через Код return true в функции обработки поискового запроса. |
WINS, мамин_парень | ||
7.11.2011, 21:49 |
Запрет поиска определенныхслов\выражений |
WINS: Цитата нужен дроп поиска определенных слов, а там бан Не вижу проблему. Переделать бан в дроп быстрее, чем писать ответ сюда. Код Код Core.Disconnect(tUser) вместо кода бана. |
WINS, мамин_парень | ||
6.11.2011, 21:10 |
Запрет поиска определенныхслов\выражений |
WINS, ищи по слову Antisearch тут на форуме через поисковую форму.. |
WINS | ||
30.10.2011, 22:57 |
время входа на хаб задержка при соединении |
MaxFox, вот маленький скриптик, точнее, 2. Первый отправишь для проверки наличия галочек, которые ты не можешь найти (про отправку юзерам майинфо). Если тебе в чате напишет при этом хотя бы один раз true, то запусти второй скриптик, он снимет все 4 галочки. Код local sAdmin = "MaxFox" for i = 13, 16 do Core.SendToNick(sAdmin, tostring(SetMan.GetBool(i))) end Код local sAdmin = "MaxFox" for i = 13, 16 do Core.SendToNick(sAdmin, tostring(SetMan.GetBool(i, false))) end После второго скрипта запусти ещё раз первый скрипт для проверки (если пришлось использовать второй) UPD-1: Исправил одну букву в первом скрипте. Попробуй по-новой. UPD-2: Проверил - работает. UPD-3: Сейчас заходил к тебе - вход 6 секунд при 14 600 юзерах был. |
мамин_парень | ||
30.10.2011, 21:45 |
время входа на хаб задержка при соединении |
MaxFox, ты ведь всё-таки не снял галочки (ну если линукс, то не поставил нули в файлике настроек) в настройках "Моя информация"! Я тебе зря, что ли, писал про это?! Иначе я ни у кого не видел бы всякие тэги, описания и иной мусор у 21 тысячи юзеров... Убери их, и будет у тебя рай. UPD: Во, Алексей уже показал.. |
мамин_парень, valera_ | ||
11.10.2011, 16:44 |
DDD++ – лёгкий и быстрый DC++ клиент Преднастроенный клиент с готовыми списками хабов |
Только я не понял, зачем здесь рекламировать клиента, который собран конкретно под ЛивКомм? Там у вас (ну или у них), что, негде рекламить? Они тут сидят? Или тут их филиал? По-моему, это уже перебор, извини.. |
mariner, Артём, PomanoB, KT315, Saymon21 | ||
7.10.2011, 17:58 |
Администрация Скрипт Статус Модератора или Master по Ип |
reidel_viktor, вот сварганил только что, получай тут. Даже если и есть такой скрипт, мой не будет лишним, думаю.. |
reidel_viktor, ImDim | ||
7.10.2011, 17:56 |
Reg_over_IP Скрипт привязки профиля к постоянному IP |
Скрипт привязки профиля к постоянному IP (другими словами - автоматическая (без ввода пароля) авторизация руководящего состава по постоянному IP) Название: Reg_over_IP.lua Платформа: PtokaX API: API 2 Автор: Ksan Город: Томск, Россия Дата: 07-10-2011 Если у админа, оператора или випа постоянное IP, то они смогут заходить на хаб под постоянным или любым ником, не авторизуясь вообще, и профиль у них всё равно останется тем же самым (админ, оператор или вип) В скрипте в таблицу прописываются IP и профиль, привязанные друг к другу. То есть, ему не придётся заботиться и о пароле. Сообщение о приходе такого юзера приходит в опчат (и/или главному админу - в скрипте есть закомментенная строка для этого) UPD: -= Внимание! =- UPD-2: UPD-3: Скрипт переделан, залит и доступен снова. Прошу прощения за доставленные неудобства! Примечания: 1. Теперь для работы скрипт обязательно наличие двух вспомогательных файлов в отдельной папке. Туда вынесены 2 таблицы: в одной должны быть IP+профили, в другой таблице будут находиться не желающие добровольно исчезать из списка юзеров ники вышедших из хаба юзеров из первого списка (ради которых и сделан скрипт). Они будут принудительно скрыты из списка. Это костыль, но других, более изящных, путей я не нашёл) 2. О пароле можно не заботиться, скрипт при входе нашего юзера зарегистрирует его временно с паролем, равным его IP. Например, "127.0.0.1" При выходе юзера из хаба эта регистрация снова удалится из базы Птоки, ник будет свободен для захода и регистрации любым юзером. 3. В теле скрипта встроенная небольшая таблица - tFixNicks - туда нужно внести резервные ники для администратора хаба (чтоб по ходу экспериментов со скриптом или просто если использует скрипт для своего входа), чтоб случайно не остаться без заргенного админского ника (из этой таблицы ники скрипт не разрегистрирует ни при выходе юзера из хаба, ни при отключении самого скрипта) Помните, скрипт только для тех, у кого постоянный IP (опы, випы и операторы). Мастеру тоже можно, но только на свой страх и риск. Дата последней заливки: 20-11-2011 17:45 (мск.) |
ustas, PomanoB, darkangel17, CrazyKiller, DEN 007 | ||
13.9.2011, 17:41 |
Rss_NewsRu Скрипт для чтения лент новостей с сайта http://www.NEWSru.com/ |
Можно: Код for i,v in pairs(tCmds) do sRssMenu = "$UserCommand 1 3 "..sMenu..tCmds[i][1].."$<%[mynick]> "..i.."||" Core.SendToUser(tUser,"$UserCommand 0 3") -- ЭТО НОВАЯ СТРОКА для отправления разделителей в меню Core.SendToUser(tUser, sRssMenu) end Просто добавь одну строку, как показано выше, в функции Цитата function UserConnected(tUser) больше ничего не меняя. |
AfLc | ||
11.9.2011, 13:22 |
Rss_NewsRu Скрипт для чтения лент новостей с сайта http://www.NEWSru.com/ |
Скрипт для чтения лент новостей с сайта Название: Rss_NewsRu.lua Платформа: PtokaX API: API 2 Автор: Ksan Город: Томск, Россия Дата: 11-09-2011 Примечания: Каждая лента (тема) при первом открытии заносится в таблицу (в памяти) и сохраняется по умолчанию 1 час (это время регулируется в настройках ). В дальнейшем, пока не пройдёт час, эта лента при запросе откроется мгновенно из памяти, по прошествии срока при первом вызове обновится из сайта. Ну и ещё 30 секунд (тоже регулируется в настройках) - между любыми запросами через меню скрипта (зачем? а фиг знает...у меня такая привычка - сетевые скрипты стараюсь делать с паузами между запросами ) Всего в базе 18 лент. Все - с новостного сайта Думаю, ещё один новостной скрипт лишним не будет. |
Nickolya, Tsd, Артём, ShadoWx, PomanoB, Saymon21, Агрессор, shullz, stone, AfLc, Hashish, Nikolaevich | ||
10.9.2011, 16:30 |
Network Separation API1, API2 | Скрипт разделения сетей пользователей |
van21, для этого есть другие, специально для этого сделанные, скрипты. Я не знаю ссылки, так что придется искать тебе самому на форуме. Возможно, в разделе скриптов с MySQL...возможно. |
van21 | ||
8.9.2011, 6:23 |
WhoisNew Через меню хаба добывает WHOIS-информацию об IP |
UPD-4: - наконец-то дошли руки, подогнал скрипт под изменившиеся страницы результатов, скрипт снова работает. У кого если вдруг какой-то IP вызовет падение скрипта (в силу множественности вариантов представления информации на странице результатов), сообщите сюда этот IP в тему мне, приму меры. Последняя перезаливка 08-09-2011 07:15 (мск.) |
striker, AfLc | ||
31.8.2011, 20:00 |
Network Separation API1, API2 | Скрипт разделения сетей пользователей |
1. Тогда, как я и говорил, все "свои" диапазоны (локалка + выделенка) держи в одной таблице. И больше никаких таблиц диапазонов. 2. Чтоб не могли отключить разделение сетей, как вариант, можешь скрыть от юзеров из меню строку отправки команды. Скажем, так: Код -- Core.SendToUser(curUser, "$UserCommand 1 3 "..sMenuWay.."ВКЛ./ВЫКЛ. разделение сетей$<%[mynick]> +"..sOn_OffCmd.."|") |
van21 | ||
31.8.2011, 16:56 |
Network Separation API1, API2 | Скрипт разделения сетей пользователей |
1. van21, ты какой-то странный...всё время городишь одно на другое. 2. Вопрос - чего ты хочешь - чтоб первая сеть не могла качать из второй сети? или ещё что-то? 3. И что за третья сеть? 127.0.0.1 - это вообще-то комп, где стоит хаб. Удали эту сеть. 4. Насколько я вижу, первая сеть уже вобрала в себя все твои локальные диапазоны. А во вторую сеть у тебя что за диапазоны попали? Я же писал раньше тебе - все диапазоны, которые беспроблемно могут качать друг с друга, должны находиться в одной сети (таблице), а всё, что не вошло в эту таблицу - не надо заносить в списки. Они по умолчанию будут в сети №0. Несколько сетей нужно организовывать только в том случае, когда на ваш хаб зходят люди из нескольких провайдеров, которые между собой "воюют", то есть, за скачивание между ними берутся деньги, вот тогда и необходимо организовать несколько разных сетей. А если у тебя проблема только между локалью (где силят все ваши местные юзеры) и интернетом, то достаточно прописать в скрипте только сеть №1. |
van21 | ||
31.8.2011, 0:39 |
Переделка скриптов Прошу помощи |
Fe(one)X, функцию function checkForSafe(msg) ты написал, но нет обращения к ней, то есть, у тебя нет проверки вхождения выражения из таблицы исключений в сообщение юзера. Короче, надо вместо строки Код if sdata then написать так Код if sdata and not checkForSafe(sdata) then |
Fe(one)X | ||
31.8.2011, 0:14 |
Network Separation API1, API2 | Скрипт разделения сетей пользователей |
Ну узнай, в какой диапазон входят ВПН-адреса и внеси в тот же список "своих".. Так же поступи с выделенками. Они же не произвольные IP, а входят в какие-то определённые диапазоны, вот узнай и занеси в в таблицу. А диапазоны можно узнать через сервера WHOIS. Запрашиваешь какой-то айпи и сервер тебе выдаст, в какой диапазон он входит. |
van21 | ||
30.8.2011, 22:10 |
Network Separation API1, API2 | Скрипт разделения сетей пользователей |
Это уже тебе надо ориентироваться в сетях вашей местности...наверно, должен быть сайт какого-нибудь вашего провайдера, где будет таблица ваших сетей. У нас в городе (области) есть. Там больше Ищи у себя тоже. |
van21 | ||
30.8.2011, 21:38 |
Network Separation API1, API2 | Скрипт разделения сетей пользователей |
Повторюсь и тут: Код tNetworkShareLimit = { --- [0] = 1073741824, -- 1 ГБ (1024^3), это все юзеры, ip которых не прописаны в таблице --- [2] = 1099511627776, -- 1 ТБ (1024^4) } tNetworkUsersLimit = { --- [0] = 0, -- это лишь пример, тут мы запрещаем вход всем тем, чей ip не описан в таблицах сетей --- [1] = 40, --- [3] = 2, } Сделай как тут - комменты спереди...тогда не будет ограничений и выкидышей/незапусков. И не обращай внимания на то, что написано после комментирующих чёрточек впереди, это не имеет значения, пока закомментены. |
van21 | ||
28.8.2011, 20:29 |
Ваши Хабы И Их Адреса |
А ещё говорят, что сны не сбываются...вот и верь людям после этого.. |
AfLc | ||
26.8.2011, 20:57 |
Переделка скриптов Прошу помощи |
Fe(one)X, в скрипте отправки топика измени одну строку так: Код function OnTimer() if tTopic ~= {} then SetMan.SetString(10,tTopic[math.random(1,table.maxn(tTopic))]:sub(1,256).." Время: "..os.date("%X")) -- изменённая строка* end end И будет выводить твои топики + текущее время (но только на момент отправки, потом до следующего топика время будет висеть одно и то же). Может, лучше хотя бы без секунд? Тогда время в топике будет более корректно выглядеть. Если без секунд, то строка должна выглядет так: Код SetMan.SetString(10,tTopic[math.random(1,table.maxn(tTopic))]:sub(1,256).." Время: "..os.date("%H:%M")) -- изменённая строка* |
Fe(one)X | ||
20.8.2011, 18:54 |
Скрипт для открытия сайта через меню хаба. |
Если так охота через меню хаба, делай команду в меню, которая выбросит в чат или приват ссылку, видную только тебе, потом нажимаешь на неё и заходишь на сайт. Будет вместо одного два нажатия.. |
digor22 | ||
9.8.2011, 11:11 |
контекстное меню для АДМИНА |
drkrol, нет уж, пиши тут. Я полагаю, твои вопросы по теме. И я не люблю общаться в личках форумов по темам, для которых создан этот форум. PS: Отвечаю тут на вопрос в привате насчёт пропажи всего меню - представь сюда свой список скриптов, наверняка там есть какой-нибудь малораспространённый бот с меню, убивающей все остальные меню, кроме себя, может. Если не я, то кто-то другой просветит на эту тему, вопрос с такой проблемой поднимался уже не раз. И по мелочам (безотносительно пропажи меню)..весь твой код приводить здесь не стану, отвечу по твоим косякам: 1. Посмотри сюда: Код function OpConnected(tUser) Видишь разницу в именах переменных user? Это должно быть одинаково! Если в предыдущих строках выше везде tUser, так и тут пиши так же везде.Core.SendToUser(user,........ 2. Строка Код "$UserCommand 1 3 Бан\\Временный бан IP (полный)$<%[mynick]> fulltempbanip........ - тут команда без префикса, работать не будет.3. Зачем правила/хабы/радио суёшь в баны/разбаны? Код Core.SendToUser(tUser,"$UserCommand 1 3 Бан\\Правила хаба$<%[mynick]> !rules||".. "$UserCommand 1 3 Бан\\Хабы-друзья$<%[mynick]> !hubs||".. "$UserCommand 1 3 разбан\\Сетевое радио$<%[mynick]> !radio||" Да, и выше в самом верху (для юзеров) ты повторил одну команду два раза, вот эту: Код "$UserCommand 1 3 Меню хаба\\Правила хаба$<%[mynick]> !rules||".. Похоже, ты надёргал из других скриптов строки, не понимая сути.. Насчёт пропажи меню уже написал выше. |
drkrol | ||
8.8.2011, 20:59 |
контекстное меню для АДМИНА |
drkrol, вот пример: Цитата Core.SendToUser(user,"$UserCommand 1 2 "..UserMenu.."Баны\\Бан IP юзера на время$<%[mynick]> "..Prefix.."tempban %[nick] %[line:Время: m,h,d,M,y] %[line:Причина]|") Тут кусочек Цитата $UserCommand 1 2 говорит, что команда работает только на нике онлайн-юзера, то есть, на нике открываешь меню Цитата %[nick] , далее, исходя из команды выше, тебе будет предложено внести время, далее - причину. (Тут IP захватывается с живого юзера автоматом, главное, чтоб он был в списке).Если бы в приведенной цитате вместо "1 2" было "1 1", то меню срабатывало бы только на вкладке хаба...если бы было "1 3", то и на вкладке и на никах живых юзеров. Вот как-то так.. С твоей командой "!fulltempbanip" всё аналогично. |
drkrol | ||
8.8.2011, 9:51 |
контекстное меню для АДМИНА |
drkrol, вместо Код function UserConnected(tUser) пишешь Код function OpConnected(tUser) и ниже удаляешь Код RegConnected = UserConnected OpConnected = UserConnected |
drkrol | ||
25.7.2011, 13:07 |
Не могу качать с пользователей с интернета ??? |
Как почитаю темы и сообщения этого....так материться охота.. :( |
Артём | ||
3.7.2011, 22:35 |
Hub Menu API2 | Меню для встроенных команд PtokaX |
Может, пора уже тебе начать с элементарного? Например, с отправки команды !help в чат? Ну либо с чего-нибудь чуть потруднее, скажем, с Букваря? Цитата "Рождённый ползать летать не может!" © Древняя мезозойская поговорка.. |
Артём | ||
3.7.2011, 18:44 |
программа для хаба |
Тяжело перебросить порт? |
Accelerator | ||
16.6.2011, 22:03 |
Нужна помощь спам боты |
Можно просто не пропускать в чат сообщения, содержащие символы из определённого списка (куда входит, скажем, ряд символов из первого сообщения темы, не обязательно все возможные "нехорошие", но достаточное количество, чтоб какой-нибудь из них обязательно попадал в любой произвольный аналогичный набор символов)... Вот накропал один из вариантов скрипта для нейтрализации такого спама: Тык сюда: Код local sAdm = "Ksan" local bShowAdm = true local tForbidSimbols = { "Ђ", "Ѓ", "ѓ", "Љ", "Њ", "Ќ", "Ћ", "Џ", "ђ", "љ", "њ", "ќ", "ћ", "џ", "Ў", "ў", "Ј", "Ґ", "І", "і", "ґ", "ј", "Ѕ", "ѕ", "†", "‡", "¶",} function ChatArrival(tUser, sData) local sData = sData:sub(1,-2) local sMsg = sData:match("^%b<>%s(.*)$") local bFS = false for _,v in pairs(tForbidSimbols) do if sMsg:find(v) then Core.SendToUser(tUser, "<"..tUser.sNick.."> "..sMsg) if bShowAdm == true then Core.SendToNick(sAdm, "<"..tUser.sNick.."> *** "..sMsg) end bFS = true return true end if bFS then break end end end Комментарий для всяких коч и мих: -- строка Код local bShowAdm = true для выбора - посылать ли админу с ником из строки Код local sAdm = "Ksan" сообщение с показом заглушенного спама или нет...Если неохота любоваться спамом, можете выбрать "false" -- также можете дописать кик/дроп спамера вместо простого непропуска спама в чат...ну это сделаешь сам, если хочешь. -- набор символов можно уменьшить/увеличить по своему усмотрению.. И - учись, а не списывай! |
DEN 007 | ||
26.5.2011, 20:22 |
Подскажите где скрип такой найти помогите |
Master-Grow, убрал бы ты вот это из своей подписи: Цитата PtokaX упала в грязь..... Неприятно видеть в твоих сообщениях каждый раз такое. Сам же его юзаешь, и такое пишешь.. Придумай что-то оригинальное, не обязательно ведь панковское. |
Master-Grow | ||
21.5.2011, 16:00 |
Милиция против DC запрет со стороны милиции и провайдера |
Надо в топиках, МОТД и по возможности в других местах позиционировать свой хаб как место для активного общения... А если кто "нагло" предоставляет свои файлы и другие их "нагло" скачивают - ну это на их совести (ведь сам хаб не содержит ничего запрещённого - DC-софт ведь пока ещё не запрещён), пусть доблестные блюстители ими и занимаются, если смогут выявить "преступников".. |
мамин_парень | ||
12.5.2011, 20:46 |
Нужна помощь помогите не кикает (dropip) |
Хватит засирать форум тупостью, тебе уже тысячу раз всё разжевали и в рот положили, а ты всё клянчишь и клянчишь! Если тебе не дано понять, ты хоть тресни, у тебя не получится, займись уже чем-нибудь полезным и доступным для твоих мозгов. |
Артём | ||
4.5.2011, 21:41 |
Подскажыте что делать незаходит в шару |
1. Br@yZeR, вообще-то тебе советовали учить русский, а не "москалюгский"... 2. И с таким гавно-менталитетом (разделение людей на москалюг и хохлов, а может, ещё что-то не менее вонливое) и спесью тебе тут нечего делать, пожалуй! 3. И ещё - Птоке, и тем более, клиентам, насрать, какой национальности и какой страны юзеры, попробуй "зайти в шару" к американцам или румынам, и предъяви им претензии.. 4. Твоя проблема решается на уровне местного админа (ибо твой вопрос - чисто юзерский), вот и обращайся к нему. |
Saymon21 | ||
19.4.2011, 9:03 |
Tiny Hublist Программа для создания хаблистов |
Много хаблистов - к чему? Скоро народ начнёт гасить пингеров, не разбираясь, где чей айпи.. Цитата Те, кто сможет понять — они и свой хаблист не сильно вспотев напишут или из этого слепят. Большинство-же будет мозг выносить нубскими вопросами. ....и вдобавок заменят авторскую подпись своими, "}{AI<Ep"-скими..Даже на этот Tiny уже новые "авторы" есть... Не надо выкладывать полную версию! |
Артём | ||
8.4.2011, 23:25 |
Отправка личек по профилям Отправка сообщений в личку по профилям |
Лучший мануал - это своя голова, чужие скрипты и scripting-interface.txt из папки scripting.docs Птоки. И обязательное пособие - Плюс на форуме есть раздел для начинающих программистов. |
sania | ||
7.4.2011, 17:19 |
Пассивный режим |
По-моему, проблема существует только в голове автора темы.. |
мамин_парень | ||
7.4.2011, 10:59 |
Пассивный режим |
Пусть получает при входе через МОТД. Зачем для такого пустяка писать скрипт? И не по теме - зачем хаб только для пассивов? |
мамин_парень | ||
4.4.2011, 4:53 |
Surdo_Isolation Почти универсальный скрипт заглушек с богатым меню и возможностями |
van21, например, если к тебе кто-то в чате пишет сообщение, то получится примерно так (смотря что написано в таблице): Цитата [08:41:07] <Ksan> сэр van21: Приветствую тебя! Слово "сэр" берётся из таблицы и добавляется автоматом (для каждого прописанного ника своя приставка). |
van21 | ||
1.4.2011, 23:52 |
RandomPrivet_by_Ksan.lua Через меню можно отправить приветствие кому попало из списка юзеров |
Ответил уже в соседней теме - смысл тот же - легко чуток изменить (убрав рандомность выбора адресата) и отправить конкретному человеку! А тем более, новые приветствия в таблицу, - добавляйте сами, тут всё зависит только от вашей фантазии. Лично она у меня уже иссякла UPD: Я тебя уважаю, но хочу видеть, как стараешься и растёшь. |
мамин_парень | ||
1.4.2011, 5:33 |
RandomPrivet_by_Ksan.lua Через меню можно отправить приветствие кому попало из списка юзеров |
Вообще-то скрипт был создан изначально для отсылки собственных приветствий, а приложенная таблица приветствий только для самых ленивых. А отослать конкретному человеку - что мешает самому взять и написать приветствие кому хочешь? без скрипта.. Если я тебя не понял - поясни. |
мамин_парень | ||
31.3.2011, 12:43 |
RandomPrivet_by_Ksan.lua Через меню можно отправить приветствие кому попало из списка юзеров |
Пусть знают, что есть такой город на Земле. Это я пишу в каждом своем скрипте.. Кто-то пишет ссылку на свой хаб, а я - ссылку на свой город |
Invisible, mariner | ||
31.3.2011, 11:34 |
RandomPrivet_by_Ksan.lua Через меню можно отправить приветствие кому попало из списка юзеров |
Скрипт для отправления приветствия кому попало из списка юзеров хаба Название: RandomPrivet_by_Ksan.lua API: API 2 Версия: 1.0 Автор: Ksan (aka Trans) Дата написания: 31-03-2011 Место проживания автора: г.Томск (Россия) Не удивляйтесь, если иногда приветствие отправится не только кому попало, но и от кого попало.. Но редко. |
Nickolya, Invisible, DEN 007, Mustik, AfLc, мамин_парень | ||
31.3.2011, 2:53 |
Monetka_by_Ksan.lua Простой скрипт для кидания монетки (орёл/решка) |
Простой скрипт для кидания монетки (орёл/решка) Название: Monetka_by_Ksan.lua API: API 2 Версия: 1.0 Автор: Ksan (aka Trans) Дата написания: 31-03-2011 Место проживания автора: г.Томск (Россия) Сделан по просьбе Mustik'а Текстовку можете сами подредактировать. Это же касается и подбора степеней случайности для орёл/решка/ребро/"улетел куда-то".. |
Nickolya, Invisible, Saymon21, @_JuNiOr_@, Mustik, AfLc, zeusby | ||
31.3.2011, 2:42 |
Монетка простой скрипт подкидывания монетки |
Вот небольшой скриптик наскрипел. Текстовку можете сами подредактировать. Это же касается и подбора степеней случайности для орёл/решка/ребро/"улетел куда-то".. Создал тему под этот скрипт в разделе Готовые/Развлечения. |
Invisible, Mustik | ||
21.3.2011, 12:56 |
Вопросы Разработчикам Скриптов вопросы по скриптам (мелкие вопросы) |
Попробуй Код #Message Пример для теста: Код local sMess = "<-Bot> В меню хаба добавлены \"Полезные ссылки\" - ограниченное количество хабов и много других полезных ресурсов широкого диапазона интересов (Тонет). Если у вас есть интересная ссылка, отсутствующая в этих списках, вы можете предложить это админам хаба для внесения." Core.SendToNick("Ksan", tostring(#sMess)) Сохрани как скрипт и запусти. Только перед этим в скрипте в команде отправки сообщения впиши свой ник. Результат будет Код [16:00:50] 267 длина сообщения.А как дальше применить для своего скрипта, думаю, тебя учить не надо. |
Damaks | ||
16.3.2011, 20:00 |
antiproxy2 нету |
поиском пользоваться умею Так учись! Пока не научишься, не лезь сюда, не позорься. Accelerator, Цитата Тяжело, не правда ли? Он никогда сам не сделает, так или иначе, мытьём или катанием, вытянет нужную информацию, нужные изменения от тебя, от меня, от других, но сам ни за что даже не шевельнётся в сторону обучения. Уже столько времени тут пасётся, а всё ведёт себя, как будто первый раз зашёл. |
Accelerator, Saymon21 | ||
6.3.2011, 19:10 |
MessCount Выводит общее число сообщений чата в топик |
-- Скрипт показа общего числа сообщений чата в топике. -- Название: MessCount.lua -- Платформа: PtokaX -- API: API 2 -- Автор: Ksan (aka Trans) -- Дата: 06-03-2011 -- Где: г.Томск -- При необходимости освободить топик для иных сообщений оператор может через меню отменить показ числа сообщений в топике. Потом сможет так же через то же меню восстановить. -- Папка "MessCount" должна быть создана заранее! -- В число сообщений попадут и команды через меню (которые через ЧатАрривал), хотя их в чате не будет видно. -- В принципе, можно внести таблицу исключений для команд различных скриптов, используемых через меню, но надо ли оно? Запаришься выцеплять все команды со всех скриптов, да потом ими грузить скрипт. Пусть идут в счёт сообщений. -- |
Nickolya, Tsd, Invisible, Saymon21, Cyber_voodoo, MIKHAIL | ||
6.3.2011, 18:53 |
Общий подсчет сообщений |
Вот один из вариантов (название скрипта - MessCount.lua ) : Сам скрипт ТУТ Код -- Скрипт показа общего числа сообщений чата в топике. -- Автор: Ksan (aka Trans) -- Дата: 06-03-2011 -- Где: г.Томск -- Скрипт показа общего числа сообщений чата в топике. -- При необходимости освободить топик для иных сообщений оператор может через меню отменить показ числа сообщений в топике. Потом сможет так же через то же меню восстановить. -- Папка "MessCount" должна быть создана заранее. local sBot = SetMan.GetString(21) local bTopic = true local sCountFile = Core.GetPtokaXPath().."scripts/MessCount/MessCount.txt" tProfiles = { -- Кто может ставить/отменять показ в топике [0] = 1, -- Мастер [1] = 1, -- ОПератор [2] = 0, -- VIP } function OnStartup() dofile(sCountFile) if tMessCount == nil then tMessCount = { } tMessCount["MessCount"] = 0 end end function OpConnected(tUser) Core.SendToUser(tUser, "$UserCommand 1 3 << АДМИНКА >>\\Число сообщений в топик$<%[mynick]> !messcount&#*124;") -- тут звёздочку в конце удалить end function ChatArrival(tUser, sData) -- Core.GetUserAllData(tUser) local sData = sData:sub(1,-2) local sCmd = sData:match("^%b<>%s+(%S+)") if tProfiles[tUser.iProfile] == 1 and sCmd == "!messcount" then bTopic = not bTopic if bTopic == true then Core.SendToUser(tUser, "<"..sBot.."> Число сообщений будет показываться в топике.") else Core.SendToUser(tUser, "<"..sBot.."> Число сообщений не будет показываться в топике.") end return true end tMessCount["MessCount"] = tMessCount["MessCount"] + 1 if bTopic == true then SetMan.SetString(10, "В чате написано "..tMessCount["MessCount"].." сообщений") -- сам текст можете править как вам угодно end SaveToFile(sCountFile, tMessCount, "tMessCount") collectgarbage() -- return true end function OnExit() SaveToFile(sCountFile, tMessCount, "tMessCount") end function SaveToFile(file , table , tablename) local handle = io.open(file,"w+") handle:write(Serialize(table, tablename)) handle:flush() handle:close() end function Serialize(tTable, sTableName, sTab) assert(tTable, "tTable equals nil"); assert(sTableName, "sTableName equals nil"); assert(type(tTable) == "table", "tTable must be a table!"); assert(type(sTableName) == "string", "sTableName must be a string!"); sTab = sTab or ""; sTmp = "" sTmp = sTmp..sTab..sTableName.." = {\n" for key, value in pairs(tTable) do local sKey = (type(key) == "string") and string.format("[%q]",key) or string.format("[%d]",key); if(type(value) == "table") then sTmp = sTmp..Serialize(value, sKey, sTab.."\t"); else local sValue = (type(value) == "string") and string.format("%q",value) or tostring(value); sTmp = sTmp..sTab.."\t"..sKey.." = "..sValue end sTmp = sTmp..",\n" end sTmp = sTmp..sTab.."}" collectgarbage() return sTmp end Число сообщений будет сохраняться в файл, дабы при отключении скрипта или хаба сохранялось. Для этого надо заранее в папке "scripts" создать папку "MessCount" (только папку!). При первом запуске файл сам создастся. При необходимости освободить топик для иных сообщений оператор может через меню отменить показ числа сообщений в топике. Потом сможет так же через то же меню восстановить показ. В скрипте в коде отправки команды в меню в самом конце вставил *, её надо удалить перед запуском скрипта. UPD: Создал тему со скриптом здесь. |
Invisible | ||
5.3.2011, 14:22 |
Опы дают добро на ссылки |
1. Не понимаю я этой HTTP-фобии (или параноики), у вас что, хаб развалится, люди сбегут, если какая-то не такая ссылка проскочит в чат? 2. У меня на хабах проходят все ссылки, если они не в списке антирекламы, а в антирекламу попадает "нехорошая" ссылка сразу же, как только первый раз попадает в чат. Но с одного раза...(читай пункт 1).. 3. Премодерируемые сообщения в чатах - это уже ни к чёрту, хватит антирекламы с её "чёрными" списками. |
Invisible, pol_91 | ||
23.2.2011, 11:30 |
Проблема на PtоkaX 0.4.1.2 в скрипте Проблема на PtоkaX 0.4.1.2 в скрипте |
Damaks, как ты не поймёшь, человек просто хочет, чтоб ему "сделали красиво"...и при этом чтоб ему не пришлось пальцем об палец (пардон, об клавиатуру) ударить.. |
sania | ||
13.2.2011, 8:09 |
PortCheck и Clone Killer |
1. Неправильно оформил тему (посмотри, как другие темы со скриптами оформлены). 2. Не написал автора скрипта. 3. И что тебе мешает перевести на русский? 4. И почему тема в Запросах скриптов, если ты готовый предлагаешь? PS: У меня давно стоит свой Анти-КлоноСпамер.. |
мамин_парень | ||
12.2.2011, 7:52 |
как удалить что хаб работает на версии |
Как всегда, самые лузеры начинают с изменения входного сообщения. Что это у вас такая аллергия на это? Прописав туда вместо стандартного (и необходимого) сообщения Птоки это "этот хаб Супер-пупер_МОЙхаб версии 666.6", вы не станете умнее или круче выглядеть! UPD: Сорри, модеры, но они уже достали этой темой (молчу уже про поиск).. Можете даже удалить, если не понравится этот крик души |
Saymon21 | ||
7.2.2011, 5:36 |
TotalGag для аварийной заглушки всего хаба (кроме определенных лиц) |
Я стараюсь систематизировать отправку команд через их направленность, то есть, зависит от объекта действия. Поэтому в своих скриптах в меню на нике юзера отправляю только те команды, которые касаются этого самого юзера (причём, только команды работы с онлайн-юзером), а остальные - в меню на вкладке хаба внизу. Правда, некоторые команды общего характера иногда и через меню на нике юзера выдаю. Наверно, в данном скрипте следовало действительно делать "1 3", а не "1 1". |
absent | ||
29.1.2011, 21:49 |
Автоматическая регистрация |
UPD: Ладно, решил прекратить нудное выпрашивание и накидал скриптик (10 строк, как и говорил): Код local sBot = SetMan.GetString(21) Но, если у юзера в клиенте стоит игнор бота (а некоторые юзеры так и делают), то он не увидит сообщение о регистрации и при следующем заходе будет ему облом с этим ником.function UserConnected(tUser) if not(tUser.bRegistered) and RegMan.GetReg(tUser.sNick) == nil then local sPass = tostring(math.random(os.date("%H%M%S"))) RegMan.AddReg(tUser.sNick, sPass, 3) RegMan.Save() Core.SendPmToUser(tUser, sBot, "*** Вы теперь зарегистрированы на хабе.\n\tВаш ник: "..tUser.sNick.."\n\tВаш пароль: "..sPass.." \nСохраните пароль, пропишите его в свойствах хаба в избранных хабах и не забудьте перезайти на хаб. Потом, при желании, пароль сами поменяете командой \"!passwd новый_пароль\" (без кавычек).") end collectgarbage() end |
CrazyCat | ||
27.1.2011, 2:51 |
Автоматическая регистрация |
CrazyCat, легко. Точнее, можно как уже готовые самые простые приспособить, так и новый написать. Можно даже вообще его не спрашивая зарегистрировать и ему сообщить только его пароль. Дерзнёшь? |
мамин_парень | ||
25.1.2011, 13:50 |
WhoisNew Через меню хаба добывает WHOIS-информацию об IP |
Артём, это уже исправлено и перезалито...написано в моём предыдущем сообщении. Перезалил ещё 21-01-2011 20:56 (мск.) Скачай снова. |
Артём | ||
23.1.2011, 3:43 |
Current_Weather_All_Cities Выводит текущую погоду автом. в чат и по запросу, любые города |
Dan Claimant, найди эти строки: Код function SendToChat() и добавь сразу под ними эту: bArchive = GetData(tCities[sCity]) Код local sArchive = "" Когда делал последнее исправление, забыл с тестируемого скрипта скопировать эту строку сюда. UPD: Исправил и перезалил в первом сообщении. Тест ɐwʎ ɔ ɐvmоɔ |
Dan Claimant | ||
22.1.2011, 4:21 |
некоректные символы ники |
GanG, открываешь файл scripting-interface.txt (это лежит в папке Птоки - в папке scripting.docs) и читаешь строку: Цитата AddReg(sNick, sPass, nProfileNumber) - Chars $|<>:?*"/\ and space not allowed in nick. Char | not allowed in password. Max nick/pass length 64 chars. Return nil when failed, true if success. И отвечаешь на свой вопрос, заданный выше, сам. |
GanG | ||
21.1.2011, 20:59 |
WhoisNew Через меню хаба добывает WHOIS-информацию об IP |
UPD-3: - подкорректировав под дополнительно выявившиеся неучтённые нестандартные (отсносительно первоначального) участки парсинга, перезалил скрипт в первом сообщении. |
Saymon21 | ||
14.1.2011, 15:15 |
WhoisNew Через меню хаба добывает WHOIS-информацию об IP |
UPD-2: Артём, сделал костыль, перезалил. |
Артём | ||
14.1.2011, 11:30 |
WhoisNew Через меню хаба добывает WHOIS-информацию об IP |
Скрипт просмотра через админское меню хаба WHOIS-информации по IP (вводом IP либо через онлайн-ник) Получаем диапазон, к которому принадлежит вводимое IP, название сети, страну, город и ещё кое-какие данные этой сети. Название: WhoisNew.lua Версия: 1.2 Платформа: PtokaX API: API 2 Автор: Ksan (aka Trans) Город: Томск, Россия Дата: 2011-01-14 Даты изменений: 2011-09-08, 2013-06-22, 2015-01-05 Библиотека: Для работы скрипта требуется библиотека SSL Комментарии: 2. Не по всем IP можно получить информацию, в этих случаях будет соответствующее сообщение. 3. В базе сервера WHOIS информация хранится в самых невероятных сочетаниях, никакого порядка, очень трудно и долго подбирал варианты парсинга, чтоб результат выцепить, но наверняка ещё могут всплыть неучтённые проколы с падением скрипта. 4. Поэтому - просьба сюда писать обо всех подобных случаях с предоставлением лога ошибки, и желательно строку, куда указывает ошибка, так как она у вас может уже оказаться под другим номером, и, самое главное, предоставить IP, на котором споткнулся скрипт. Я проверю и постараюсь внести корректировку. 5. Не проверяйте локальные IP, всё равно не получите ничего. При проверке локалок получите отмазку, что серверам WHOIS локальные IP недоступны. Пример результата (клацнуть сюда изо всей силы) Цитата [09:18:12] <WHOIS_по_IP> *** 83.172.37.41: ********************************************************************** inetnum: 83.172.32.0 - 83.172.39.255 netname: SELS-NET descr: The municipal enterprise "Severskelektrosviaz", Solnechnaia 15, Seversk, Tomsk Region country: RU address: Solnechnaia 15 address: Seversk, Tomsk Region address: Russia phone: +07 3823 771999 e-mail: sov@sels.ru ********************************************************************** Исправления: UPD-1: - как я и ожидал, находятся трудные для идентификации IP...Вот сделал очередной костыль, перезалил. UPD-2: - перезалил, подправив некритичный косметический нюанс и добавил таблицу профилей, кому можно юзать WHOIS (по умолчанию поставил и для випов, доверять так доверять) UPD-3: - перезалил, подкорректировав под дополнительно выявившиеся неучтённые нестандартные (отсносительно первоначального) участки парсинга. UPD-4: - перезалил, переделав парсинг (причина - изменения на страницах результатов) UPD-5: - перезалил, чуть-чуть изменив одну строчку (причина - маленькое изменение на странице результатов сайта, приведшее к неработе скрипта) UPD-6: - пришлось исправить пару строк в связи с переходом сервера WhoIs на безопасный режим, а также в связи с этим теперь необходимо доустановить библиотеку SSL. Скрипт перезалит. UPD-7: - на сайте-источнике данных чуток изменили исходный код страницы и скрипт перестал работать, пришлось в код скрипта внести маленькое изменение. Скрипт перезалит. Последняя перезаливка: 2015-04-29 19:45 (мск.) |
Nickolya, Tsd, Артём, Milena, Saymon21, Dimon21, striker, DEN 007, ProGeTTo, AfLc, MIKHAIL | ||
8.1.2011, 3:10 |
ChatAfterLoginLocker API2 | Доступ к чату после N минут онлайн |
Эхх, тоже хотел кинуть, смотрю, тут уже успели сразу 2 помочь. Ай, ладно, чтоб труд не пропал даром, тоже кину своё зёрнышко.. Код local iPause = 10*60 -- ожидание в секундах local tWaitUsers = {} function UserConnected(tUser) tWaitUsers[tUser.sNick] = os.time(os.date("*t")) + iPause end RegConnected = UserConnected function UserDisconnected(tUser) tWaitUsers[tUser.sNick] = nil end RegDisconnected = UserDisconnected function ChatArrival(tUser, sData) if tWaitUsers[tUser.sNick] then if tWaitUsers[tUser.sNick] > os.time(os.date("*t")) then Core.SendToNick(tUser.sNick, "<"..SetMan.GetString(21).."> "..tUser.sNick..": Для общения в чате ещё не прошли "..tostring(iPause/60).." мин. с вашего захода на хаб! Погодите малость..") return true else tWaitUsers[tUser.sNick] = nil end end end |
Nickolya, мамин_парень | ||
5.1.2011, 18:46 |
Surdo_Isolation Почти универсальный скрипт заглушек с богатым меню и возможностями |
Для WINS: 1. Я бы посоветовал тебе не кикать через эту команду, а использовать штатную команду Птоки, либо использовать мой же скрипт отсюда (если, конечно, ты не ставишь целью кикать демонстративно, чтоб все видели, кто, кого и за что кикает). Этот скрипт работает бесшумно и без упоминания ника админа, что частенько избавляет от лишних разборок впоследствии с кикнутым юзером. 2. Но есть решение и в топиковом скрипте, почти аналогично решению по указанной тобой ссылке. Я позже представлю его, когда перезалью обновлённый скрипт (когда допеределаю встроенный антимат) |
WINS | ||
3.1.2011, 17:33 |
Скрипт онлайн-погоды скрипт погоды сейчас |
Кстати, выложу-ка я тоже чуть подправленную версию этого скрипта. Изменения: - добавил меню - добавил выборку погодных явлений (облачность, осадки и т.д.) - подправил чуток вывод градусов и мм.рт.ст - подогнал под себя дизайн вывода - при запуске скрипта сразу же с сайта берётся инфа о погоде, не дожидаясь сигнала от таймера (дальше уже отработает таймер) Думаю, можно добавить в меню разные города (по желанию админа) --------------------------------------------------------------------------------------- UPD: Всё, сделал с городами. Готовый скрипт с меню и разными городами переложил отдельной темой сюда. |
ProGeTTo | ||
3.1.2011, 17:31 |
Current_Weather_All_Cities Выводит текущую погоду автом. в чат и по запросу, любые города |
Скрипт просмотра текущей погоды в разных городах (в чате периодически или по запросу через меню) с сервера Название: Current_Weather_All_Cities.lua Платформа: PtokaX API: API 2 Автор: Ksan (по мотивам скриптов от Nickolya и Saymon в этой теме Библиотека: Для работы скрипта требуется библиотека SSL Изменения от Ksan: - добавил меню - добавил выборку погодных явлений (облачность, осадки и т.д.) - подправил чуток вывод градусов и мм.рт.ст - подогнал под себя дизайн вывода - можно смотреть текущую погоду разных городов (через меню) - меню с разными городами строится автоматически в зависимости от таблицы городов - добавлено ограничение частоты запросов погодного сервера - добавил сборщик мусора - добавлена инфа про макс. и мин. температуру в этот же день из архивов этого города (если отсутствует пр выводе, значит, нет информации в архивах) - добавлено время восхода/захода солнца (для полярной ночи или дня будет так и написано - "Полярная ночь" , "Полярный день") - добавлен вывод текущих даты/времени для просматриваемой местности - добавлен вывод прогноза на ближайшее время суток Примечания: 1. 2. Таблицу городов стройте аналогично уже вписанным в скрипт. Названия городов транслитом можно получить через этот же сайт погоды 3. И да, кому хочется показывать давление и влажность в чате (для всех), можете просто раскомментить 2 строки в функции "function SendToChat()" ToDo: - - есть возможность сделать отдельный вывод по запросу и на следующие дни, только не знаю, есть ли в этом смысл, ведь прогноз погоды на несколько дней - вещь рискованная.. Пример результата работы скрипта - ответ на запрос полного прогноза и вывод по времени в чат: Код По запросу: [20:39:04] <Current_Weather> Погода в городе Томск (Россия, Томская область) : ************************************************************ Время: воскресенье, 22 июня 2014, 20:37 ************************************************************ Температура: 29° Погодные явления: "малооблачно" Давление: 748 мм рт.ст. Влажность: 33% (низкая) Ветер: 1 м/c (СВ легкий ветер) Солнце: восход: 04:29 заход: 22:14 В этот же день (из архивов): Max.: 33° (1982 год) Min.: 0° (2008 год) ***************************************************************************** НОЧЬЮ... t°: 18° "Ясно" Ветер: 3 м/c (С-СВ) Влажн. 56% Давл. 749 мм ***************************************************************************** УТРОМ... t°: 24° "Ясно" Ветер: 4 м/c (С-СВ) Влажн. 27% Давл. 748 мм ***************************************************************************** В чате: [18:17:46] <-Bot-> Погода в городе Томск (Россия, Томская область) : ************************************************************ Температура: 30° Погодные явления: малооблачно Ветер: 1 м/c (СВ легкий ветер) В этот же день (из архивов): Max.: 33° (1982 год) Min.: 0° (2008 год) ************************************************************ При запросе только текущей погоды вид такой же, только не будет нижних двух участков (прогноза на ближайшее время). Для периодического вывода в чат вид такой же, разве что нет показа времени и параметров чуть меньше (но это всё включаемо через раскомментирование нужных строк в скрипте). UPD: - при попадании на просмотре через меню города без архивов погоды (есть и такие) следующие города показывались тоже без данных из архива (до перезапуска скрипта). Исправлено. - на сайте изменили вид ссылки (теперь там вместо кодов городов - названия самих городов латиницей и без пробелов (вместо пробела - символ подчеркивания)). Скрипт переделан под это. UPD-2: - добавлена инфа про макс. и мин. температуру в этот же день из архивов этого города (если отсутствует при выводе, значит, нет информации в архивах), скрипт перезалит. UPD-3: - добавлена возможность выбора места вывода по запросу - в приват или чат ( local bSendToPrivat = true ) UPD-4: - скрипт исправлен и добавлена как новая версия. Причина - изменение представления адреса на сайте погоды. Но нет худа без добра - пока менял скрипт под это изменение, нашёл(и исправил) причину потери временами архивных данных при выводе информации. UPD-5: - скрипт исправлен и залит сюда, старые версии удалены за ненадобностью. Причина - полное изменение структуры страницы на сайте. Пришлось всё перелопатить. - добавил показ восхода/захода солнца. UPD-6: - добавил показ текущей даты/времени местности (UPD: убрал показ даты/времени для вывода в чат местнй погоды (зачем местным показывать их время, тем более, не очень точное)) - исключил вывод данных при получении ошибки с сайта (чтоб все города не получали одну и ту же погоду) - небольшие косметические малозаметные изменения, улучшающие работу скрипта UPD-7: - добавил возможность выбрать через меню любой город/посёлок мира (но оставил возможность просмотра жёстко привязанных к меню городов)...для этого пришлось писать отдельный скрипт для выборки из сайта погоды и сборки в таблицу списков всех городов со странами и областями. - в архиве есть папка с обязательными файлами (таблицы городов и цифровых кодов городов (последнее - для архивных температур)) UPD-8: - пришлось перелопатить скрипт из-за изменений на странице погоды, в том числе и кодировки символов. - для городов США уверенно отсутствуют архивные температуры. На сайте архивных данных сильно изменили представление страницы именно для США, для них необходимо отдельно парсить страницы и вытаскивать архив. Начал было делать эту работу, почти добил, потом подумал - а нафиг это надо кому, зачем эта лишняя работа, и забил. А так уже давно мог бы выложить исправленный скрипт, но так получилось, сорри.. плюс лень одолела в последнее время (это, скорее минус). UPD-9: - ввиду того, что на сайте полностью переделали интерфейс вывода погоды, изменился и код страницы, пришлось полностью перелопачивать парсинг - теперь архивы берутся из этой же страницы (раньше для многих стран приходилось парсить другой сайт с архивом), но вот насчёт точности архивных данных не ручаюсь - добавил вывод температуры воды (для городов у моря и если этот параметр присутствует на странице погоды) UPD-10: - добавлена возможность запроса на выдачу (кроме текущей погоды) и прогноза на ближайшее время суток - исправлена небольшая ошибка в коде UPD-11: - добавил возможность менять через меню частоту вывода текущей погоды в чат (не открывая скрипт и не перезапуская его), особенно будет удобно для тех, у кого хаб стоит далеко от своего компа. При необходимости отмены вывода погоды в чат достаточно ввести одну цифру 0 (ноль) в данном меню вместо периода времени. Для включения нужно просто просто написать период в минутах, не равный 0 (нулю). Файл перезалит. UPD-12: - сегодня вдруг скрипт стал выдавать результат с лишним словом из исходника (</span>) при годе минимальной температуры архивных данных (не знаю, почему, до этого было без таких ляпов), не стал копать глубоко, просто добавил в одну строку исправляющий код. Архив перезалил (изменение только в самом скрипте). UPD-13: - обнаружился баг - при попытке просмотра погоды городов из подменю "Другие города", если оставить первое окошко ввода пустым (а там надо вводить 0 или 1), то скрипт падал с ошибкой вроде этого: Цитата [03:45:32] <#OpChat#> ...r/ptokax/scripts/Current_Weather_All_Cities_Mint.lua:118: attempt to index local 'sCity' (a nil value) То есть, не было "защиты от дурака". Скрипт исправил и архив перезалил. Изменение только в самом скрипте.UPD-14: - пришлось исправить пару строк в связи с переходом сайта погоды на безопасный режим, а также в связи с этим необходимо доустановить библиотеку SSL UPD-15: - пришлось изменить чуток код, ибо на сайте погоды внесли небольшие изменения в исходники страницы (добавили "+" к положительной температуре, в другом месте тоже изменили кусок и из-за этого температура воды не получалась, и была давненько появившаяся проблемка - перестало выдавать архивные температуры (для России), и тоже исправил). И да, заменил один из доп. файлов в папке, так что рекомендую у себя его заменить на мой - называется "citylist_Other.tbl") UPD-16: - заметил, что для некоторых местностей сайт не предоставляет данные о восходе и закате, в том числе и для заполярных территорий, поэтому везде, где эти данные отсутствуют, скрипт стал выдавать "Полярный день" и, возможно, "Полярная ночь" (зависит от даты). Дабы не вызывало недоумения, сделал выдачу типа этого - "Нет данных (либо полярный день)". Скрипт перезалит, из архива достаточно заменить основной файл (если вы изменили для себя основной скрипт на своё усмотрение, то посмотрите свой скрипт на предмет разницы). Вот изменённый участок кода: Код if tonumber(os.date("%m")) > 3 and tonumber(os.date("%m")) <10 then sSun = "Нет данных (либо там полярный день)" elseif tonumber(os.date("%m")) < 4 or tonumber(os.date("%m")) > 9 then sSun = "Нет данных (либо там полярная ночь)" end UPD-17: - на сайте погоды опять изменили код страницы (у них там руки чешутся, что ли?), пришлось вновь подправлять скрипт (правда, не сразу руки дошли, прошу прощения за это), возможно, где-то пошли уже корявости из-за частых исправлений скрипта (как правило, не по моей вине).. Но вроде работает пока. Если что не так, напишите, для какой местности и какая ошибка.. Дата заливки последней версии: 2020-04-30 14:27 (мск.) |
Nickolya, ustas, Taulalan, Tsd, Invisible, Артём, rival, Dimon21, AndreiDC, Cyber_voodoo, SKIFI, stone, MIKHAIL, Nikolaevich, zeusby | ||
3.1.2011, 8:51 |
Нужен скрипт Помогите |
Ferb, считай, ты уже поступил куда надо - ты учишься тут. Моя единственная школа - файл из Птоки "scripting-interface.txt", |
|||
29.12.2010, 23:31 |
Surdo_Isolation Почти универсальный скрипт заглушек с богатым меню и возможностями |
Saymon, я подумал над твоим предложением. Вообще, скрипт задумывался именно как тихая заглушка с возможностью скрытия чата, только с дополнительными удобствами и решениями проблем, возникающих по ходу эксплуатации (я про антикапс, антимат и т.д.), и как-то не хочется превращать его совсем уж в подобие Экзекутора (а если вовремя не остановиться, к тому и придём). Не хочется повесить сюда ещё и предупреждения, для этого же есть обычный скрипт предупреждений и общения через бота (можно так же предупреждать и потом уже при необходимости применять Сурдо-изоляцию). Для WINS: 1. Цитата Можно добавить чтоб при при замене самого мата, фраза бралась рандомо из таблицы, как при замене фразы целиком. Можно, и даже нетрудно, но считаю, что ни к чему. Хотите разнообразия - применяйте режим 2 (замену всего сообщения случайной фразой). А режим замены мата одним словом сделан, чтоб просто отметить, что мат был, и скрыть его, не устраивая из этого балаган (уверен, что найдётся немало любителей проверить весь список слов), как находятся любители проверить весь список случайных фраз (а список немалый).2. Насчёт твоего теста антикапса...я знаю, но я пока не стал заморачиваться отыскивать алгоритм против тестов Решение - в совмещении трёх кодов - антикапса, антипробелов и анти-слишком-много-одинаковых-знаков - в один код. Я такие тесты сам проводил по ходу работы над скриптом ещё. Не стал усложнять скрипт доп. кодом против нереальных (на 98%) сообщений. UPD: Пока для меня самое важное - доделать антимат (работа с таблицей матов и исключений через меню (добавление, удаление, редактирование, просмотр) + изменение кода анализа матов из-за изменения структуры таблицы), но пока дело тормознулось из-за проблем со здоровьем...осталось изменить код анализа сообщений на маты и исключения, всё остальное сделано. |
Saymon21, WINS | ||
28.12.2010, 19:55 |
Spam-Report Юзер может сообщать о спаме и спамере прямо в Опчат админам |
Скрипт сообщения юзером в Опчат админам о спаме и спамере Название: Spam-Report.lua API: API 2 Автор: Ksan (aka Trans) Место проживания: г.Томск Дата: 28-12-2010 Сделан по просьбе DEN_007 Описание: 2 варианта отправки сообщения о спамере: 1. В привате спамера (если он ещё не успел соскочить с хаба) набрать !спам, далее через пробел туда же скопировать ВСЁ сообщение от спамера и нажать ENTER. Сообщение о спаме и спамере отправится в Опчат хаба админам для принятия мер. Вместо !спам можно написать и латиницей !spam (для тех, у кого нет кириллицы на клавиатуре, например, зарубежные гости) Пример: !спам [18:43:58] <СПАМЕР> Заходите в наш супер-пупер хаб с адресом супер.пупер.ru:411 2. Всё то же самое, только в привате главного бота хаба (годится как для случаев, когда спамер уже ушёл с хаба, так и когда он ещё онлайн). Что видим в Опчате Цитата [22:25:22] <_OpChat_> Похоже, у нас появился спамер. Ник спамера: Uzer1234 IP спамера: спамер уже оффлайн, IP добывайте сами. Содержание спама: [17:34:11] <Uzer1234> Это самый ужасный спам. Тест. Сообщил юзер: Test_user Держите уши на макушке, господа админы! [2010-12-28 21:19] <_OpChat_> Похоже, у нас появился спамер. Ник спамера: Uzer1234 IP спамера: 192.168.1.2 Содержание спама: [17:34:11] <Uzer1234> Это самый ужасный спам. Тест. Сообщил юзер: Test_user Держите уши на макушке, господа админы! |
Nickolya, Invisible, Milena, Saymon21, DEN 007 | ||
27.12.2010, 13:47 |
AntiReclama_by_Ksan Тихая антиреклама чата и привата с удалённым управлением |
UPD 3: Добавлена возможность предупреждать рекламщика в привате бота при попытке рекламы (в режиме "0"). Это тоже можно переключать через меню скрипта. Скрипт перезалит в первом сообщении. |
Nickolya, Kingston, Saymon21 | ||
|
Сейчас: 23.11.2024, 5:13 |