Здравствуйте, гость ( Вход | Регистрация )
Дата поста: | В теме: | За сообщение: | Спасибо сказали: | ||
---|---|---|---|---|---|
1.8.2010, 23:01 |
Может кто-нибудь разбанит? :) |
Наблюдается целенаправленное доставание админа. Результат предсказуем. И правилен. Развлекайтесь другими способами, не задевающими админов и юзеров. |
Saymon21 | ||
31.7.2010, 20:10 |
Не пускает на хаб определенный ник. В чем проблемма? Что случилось? |
1. Учись правильно выбирать определения...Не на канал, а на хаб, это тебе не ИРЦ. 2. Пусть твой юзер откроет в клиенте Избранные хабы, там - свойства того самого хаба, куда не пускает его, и в свойствах пусть удалит чужой ник. 3. Затем пусть снова заходит со своего ника. |
SoK. | ||
30.7.2010, 22:45 |
Новая сказка про репку |
Так как тема как бы про воспитание, выскажу свое, возможно, поверхностное мнение, ибо сильно никогда над этим не думал...Советская система воспитания отрицается по определению, ибо советская, старое дореволюционнное воспитание - его некому доводить до воспитанников, система оборвалась и растворилась в эмиграции либо в советской школе, а постсоветская выросла на дрожжах жизнерадостного молодого капитализма с его меркантильностью и практицизмом + перенятые с запада методики (что-то хорошее, что-то, может, и не очень)... Но тем не менее, из-за неумных оформителей правильных книжек (текст-то тот же самый, что и был и 30 и 100 лет назад) нельзя делать глобальные выводы. Видел я и детсады, и школы...в детсадах воспитание всяко правильнее, чем в школах. А в школах нынче скорее ученики воспитывают учителей, чем наоборот...вот это грустно. |
Nickolya | ||
28.7.2010, 12:50 |
Скрипт статистики для админов Статистические данные о посещаемости |
Добавил строку для очистки памяти. Перезалил в предыдущем сообщении. Желательно скачать исправленный скрипт. |
Invisible, valdis73 | ||
28.7.2010, 12:22 |
Скрипт статистики для админов Статистические данные о посещаемости |
Вот набросал скриптик статистики по IP и по никам. То есть, записывает в таблицу и в файл - сколько раз заходили с того или иного айпи или ника, а также сохраняет дату-время первого захода и последнего захода (дата-время - чтоб знать, за какое время были совершены столько заходов). Выглядят таблицы так: Код tNicks = { ["Типа-тест"] = { [1] = "28-07-2010 16:07", [2] = 2, [3] = "28-07-2010 16:08", }, ["Ksan"] = { [1] = "28-07-2010 16:08", [2] = 2, [3] = "28-07-2010 16:09", }, } tIPs = { ["192.168.1.2"] = { [1] = "28-07-2010 16:07", [2] = 4, [3] = "28-07-2010 16:09", }, } Папка и файлы под таблицы создаются при первом запуске. Как посмотреть - пока не стал делать вывод через меню, но можно открыть таблицу с файла обычным блокнотом и увидеть картину. Не знаю, надо ли делать вывод. |
Nickolya, Invisible, valdis73, мамин_парень | ||
26.7.2010, 16:39 |
Скрипт статистики для админов Статистические данные о посещаемости |
Нет, там чисто гистограмма по количеству посетителей на каждый момент (каждые полчаса), без всяких деталей. Число и время. Ну и сам график. |
valdis73, мамин_парень | ||
26.7.2010, 15:23 |
Скрипт статистики для админов Статистические данные о посещаемости |
Один из вариантов - тут. Показывает график посещений столбцами за каждые полчаса. Получается наглядная гистограмма. |
valdis73, мамин_парень | ||
23.7.2010, 10:21 |
Сообщение юзерам с нулевой шарой Сообщение юзерам с нулевой шарой |
Вообще-то скриптик из этого сообщения как раз именно это и делает - при входе сообщает о шаре и больше ничего не делает...только я там в одном слове одну букву вместо заглавной написал строчную, потому и не работал скрипт, сейчас поставил проверил и исправил, работает. Вот эту строку Код if tUser.iSharesize < iSharaB then надо заменить на эту Код if tUser.iShareSize < iSharaB then и всё будет работать. Требуемую шару и текстовку можете переделать под себя. |
Nickolya | ||
7.7.2010, 15:21 |
Чем отличается ? |
При полном бане с забаненного IP на хаб не попадут даже админы, даже если у них стоит в профиле галочка "Заходить с забаненных IP", не говоря уже о простых юзерах. Соответственно, при простом бане такие заходы возможны, даже юзер, если стоит эта самая галочка в профиле. Так что следите за галочками, а то ваши баны могут оказаться бесполезными. |
Drakula | ||
7.7.2010, 13:19 |
MixMsg Перемешивает буквы в сообщениях, но смысл не теряется. |
Название: MixMsg_api2.lua API: API 2 Версия: 1.0 Автор: Ksan (aka Trans) Дата написания: 28-05-2010 Место проживания автора: г.Томск (Россия) Описание: Скрипт перемешивания букв слов сообщений, получая достаточно внятный текст (на определенное количество минут). Эта же фраза, только написанная с помощью скрипта: Цитата Скирпт пееремишавния букв слов собоещний, поулчая дотстачоно внтяный текст (на опеределнное коилечтсво минут). Применяется как админами ко всему чату или отдельному юзеру, так и отдельными юзерами (включая и админов) к себе самому (однако при массовом применении админов и випов (это регулируемо) не трогает). При повторном применении команды до срока действие прекращается сразу. Ник адресата в измененном сообщении не меняется, также не меняются магнеты и ссылки на сайты, не трогает скрипт и стандартно сделанные смайлы (которые между двумя двоеточиями), так что иногда юзеры даже не замечают, что буквы перемешаны, а кто замечает, думает, что опечатался. Скрипт из разряда развлекательных. |
Nickolya, ustas, FallenAngel, Drakula, Saymon21, DEN 007 | ||
7.7.2010, 11:53 |
Скрипт предупреждения ботом хаба |
Оформил отдельной темой, добавив в скрипт кик от имени бота (вместо ника опа) или вовсе без автора. Искать тут. |
Nickolya | ||
7.7.2010, 11:28 |
BotForOp Писать, предупреждать и кикать от имени бота |
Название скрипта: BotForOp_api2.lua API: PtokaX API 2 Версия: 1.0 Автор: Ksan (aka Trans) Дата написания: 07-07-2010 Место проживания автора: г.Томск (Россия) Описание: Возможности (всё это - от имени бота): - писать в чат соообщения - писать юзеру в чате тихо (видит только он) - писать юзеру в чате громко (видят все) - писать юзеру в приват - предупреждать юзера (видят все) - кикать - 1. если с причиной - от имени бота, 2. если поле для причины оставить пустым - без автора, но с дежурной фразой "Не доставай!" - помощь по командам этого скрипта (в приват) - важно, когда хочешь написать в чат многострочное сообщение, которое через меню не отправишь Права (кто может применять сии команды): - предупреждение и кик - кто имеет право на кики - всё остальное - кто может банить Написан по большей части на основании приёмов и кодов других скриптёров. Сейчас уже трудно что-то своё внести. |
Nickolya, ustas, Invisible, rival, Saymon21, ramzes, shur49, -Alex-, stailzoRE, AfLc | ||
7.7.2010, 9:40 |
Скрипт предупреждения ботом хаба |
Вот накалякал...точнее, выдрал из своего скрипта спешал фор Ю. Возможности (всё это - от имени бота): - писать в чат соообщения - писать юзеру в чате тихо (видит только он) - писать юзеру в чате громко (видят все) - писать юзеру в приват - предупреждать юзера (видят все) - помощь по командам этого скрипта (в приват) - важно, когда хочешь написать в чат многострочное сообщение, которое через меню не отправишь Права (кто может применять сии команды): - предупреждение - кто имеет право на кики - всё остальное - кто может банить Раскрывающийся текст Код --- Скриптик для предупреждений и сообщений от бота --- Название: BotForOp_api2.lua --- Накалякал Ksan из Томска для Милены Питерской, сидя на плечах гигантов-скриптёров.. sHelp = " *** Помощь по командам (важно при писании в чат сообщений с несколькими строками от имени бота):\n\t!frombottouserpm НИК ТЕКСТ_СООБЩЕНИЯ - сообщение в приват юзера от имени бота\n\t!frombottousermc НИК ТЕКСТ_СООБЩЕНИЯ - тихое сообщение в чате юзеру от имени бота (видит только этот юзер)\n\t!frombottousermcall НИК ТЕКСТ_СООБЩЕНИЯ - громкое сообщение в чате юзеру (видно всем)\n\t!frombottochat ТЕКСТ_СООБЩЕНИЯ - сообщение в чате от имени бота (видно всем)\n\t!warn НИК ТЕКСТ_СООБЩЕНИЯ - предупреждение юзера в чате (видят все)\n\t!helpforwarn - получение этой самой помощи по командам" function OnStartup() sBot = SetMan.GetString(21) end function UserConnected(tUser) local t = ProfMan.GetProfilePermissions(tUser.iProfile) if t then if t.bTempBan then Core.SendToUser(tUser, "$UserCommand 1 2 << АДМИНКА >>\\От имени бота\\Юзеру в приват от бота..$<%[mynick]> !frombottouserpm %[nick] %[line:Текст сообщения]|") Core.SendToUser(tUser, "$UserCommand 1 2 << АДМИНКА >>\\От имени бота\\Юзеру в чат от бота (тихо)..$<%[mynick]> !frombottousermc %[nick] %[line:Текст сообщения]|") Core.SendToUser(tUser, "$UserCommand 1 2 << АДМИНКА >>\\От имени бота\\Юзеру в чат от бота (громко)..$<%[mynick]> !frombottousermcall %[nick] %[line:Текст сообщения]|") Core.SendToUser(tUser, "$UserCommand 1 1 << АДМИНКА >>\\От имени бота\\Сообщение в чате от бота..$<%[mynick]> !frombottochat %[line:Текст сообщения]|") Core.SendToUser(tUser, "$UserCommand 1 1 << АДМИНКА >>\\От имени бота\\Помощь по командам$<%[mynick]> !helpforwarn|") end if t.bKick then Core.SendToUser(tUser, "$UserCommand 1 2 << АДМИНКА >>\\От имени бота\\Предупреждение в чате..$<%[mynick]> !warn %[nick] %[line:Причина]|") end end end OpConnected = UserConnected RegConnected = UserConnected function ChatArrival(tUser, sData) Core.GetUserAllData(tUser) local t = ProfMan.GetProfilePermissions(tUser.iProfile) local sData = sData:sub(1,-2) local s,e, sCmd = string.find(sData, "^%b<>%s+(%S+)") local s,e, sParam = string.find(sData, "^%b<>%s+%S+%s+(.+)") if t then if t.bTempBan then if sCmd and sCmd == "!frombottouserpm" then local s,e, sNick, sMsg = string.find(sParam, "^(%S+)%s+(.+)$") if sNick and sMsg then local CurUser = Core.GetUser(sNick) if CurUser then Core.GetUserData(CurUser, 16) FromBot(CurUser, sMsg) FromBot(tUser, "Юзеру "..sNick.." отправлено в приват сообщение: "..sMsg) else ToUser(tUser, "Ошибка: юзер "..sNick.." не найден на хабе") end else ToUser(tUser, "Ошибка синтаксиса. Синтаксис: !frombottouserpm <ник> <текст сообщения>") end return true end if sCmd and sCmd == "!frombottousermc" then local s,e,sNick, sMsg = string.find(sParam, "^(%S+)%s+(.+)$") if sNick and sMsg then local CurUser = Core.GetUser(sNick) if CurUser then Core.GetUserData(CurUser, 16) ToUser(CurUser, sNick..": *** "..sMsg) ToUser(tUser, sNick..": *** "..sMsg) else ToUser(tUser, "Ошибка: юзер "..sNick.." не найден на хабе") end else ToUser(tUser, "Ошибка синтаксиса. Синтаксис: !frombottousermc <ник> <текст сообщения>") end return true end if sCmd and sCmd == "!frombottousermcall" then local s,e, sNick, sMsg = string.find(sParam, "^(%S+)%s+(.+)$") if sNick and sMsg then local CurUser = Core.GetUser(sNick) if CurUser then Core.GetUserData(CurUser, 16) FromBotToChat(sNick..": *** "..sMsg) else ToUser(tUser,"Ошибка: юзер "..sNick.." не найден на хабе") end else ToUser(tUser, "Ошибка синтаксиса. Синтаксис: !frombottousermcall <ник> <текст сообщения>") end return true end if sCmd and sCmd == "!frombottochat" then local sMsg = sParam if sMsg then FromBotToChat(sMsg) else ToUser(tUser, "Ошибка: Нет текста сообщения") end return true end if sCmd and sCmd == "!helpforwarn" then FromBot(tUser, sHelp) return true end end if t.bKick then if sCmd and sCmd == "!warn" then local s,e, sNick, sMsg = string.find(sParam, "^(%S+)%s+(.+)$") if sNick and sMsg then local CurUser = Core.GetUser(sNick) if CurUser then Core.GetUserData(CurUser, 16) FromBotToChat(sNick..": *** Вам предупреждение: "..sMsg) else ToUser(tUser, "Ошибка: юзер "..sNick.." не найден на хабе") end else ToUser(tUser, "Ошибка: Вы не ввели ник или причину!") end return true end end end collectgarbage("collect") end function FromBot(user, msg) Core.SendPmToUser(user, sBot, msg) end function ToUser(user, msg) Core.SendToUser(user, "<"..sBot.."> "..msg) end function FromBotToChat(msg) Core.SendToAll("<"..sBot.."> "..msg) end Вот думаю, может, кинуть это отдельной темкой (но вроде слишком незначительная вещь, чтоб тратить на неё место на форуме).. |
Milena, Saymon21 | ||
4.7.2010, 21:26 |
Скрипт Release для PtokaX 0.4.1.x нужен скрипт аля Release or Request (by jiten) под API2 |
Тут принято "спасибо" выражать нажатием кнопки одноимённой под ником того, кого благодаришь. |
мамин_парень | ||
2.7.2010, 4:50 |
Protector API2 | бот всё в одном |
Попробуй в этой функции закомментить (то есть, сделать неактивной) одну строку (в нижепоказанном коде я уже закомментил эту строку): Код function ValidateNickArrival(tUser, sData) if tUsers[tUser.sIP] then CheckBans(tUser) -- AutoRegCheck(tUser) end end Может, прокатит.. |
diss | ||
24.6.2010, 2:40 |
DC for Windows mobile т.п. |
Есть PocketDC, но очень неудобен в использовании, к тому же есть глючок в сохранении настроек - после ввода ника, пароля, описания всё это позже сдвигается в соответствующих окошках с одного на другое и запаришься потом снова это прописывать... А так - вполне рабочий софт, можно эмулировать до 50 гб шары, есть приват, столбцы разные в списке юзеров. Да, ещё, - одновременно можно сидеть только на 1 хабе, приходится перезаходить. Я сидел на нём некоторое время. Автор, похоже, забил на него, с 2007 года нет изменений. Поищи в интернете по названию, скачай и поставь, может, тебе понравится. Кстати, кроме него для ВинМобила нет другого клиента. По крайней мере, в марте ещё не было. |
TommyKaira | ||
22.6.2010, 19:51 |
Скрипт "Народная мудрость" API2 |
Вот версия скрипта с добавлением минимального необходимого периода между "мудростями", чтоб не злоупотребляли. Паузу можно задать как в секундах, так и в минутах. |
Nickolya, prokazzza, ramzes, ProGeTTo | ||
16.6.2010, 16:08 |
Antibot API2 | Скрипт против ботов |
Полагаю, он имеет в виду, что юзеру присылается картинка, нарисованная ASCII-символами, а в картинке - числа. Я тоже уже думал над таким вариантом, но я не сторонник таких ограничений, поэтому не стал делать. Это реально сделать, реально сделать и разные картинки одних и тех же чисел, но игра не стоит свеч. Чем не устраивает обычная математическая задача?... (это я уже Дракуле) Типа чтоб круто было? |
Drakula | ||
10.6.2010, 21:56 |
BanMsg API2 | Выводит инфу в чат |
Вредный совет. Менять нужно только там, где необходимо. Иначе в чат сообщения пойдут голосом бота, но от имени админа...И будет глупо. Вот одна строка, как пример, где бездумная замена приведёт к конфузу: Код Core.SendToAll("<"..sBot.."> "..tUser.sNick.." навсегда забанил юзера с ником: "..sNick.." по причине: "..sReason) Я думаю, вопрошающий товарищ с непроизносимым ником теперь сам догадается, в каких местах нужно поменять и что на что.. |
Invisible, Accelerator | ||
7.6.2010, 18:12 |
Запрет снятия банов, поставленных другими людьми |
Я думаю, запрет должен касаться только тех банов, которые поставили коллеги одного уровня, или выше.. Например, ОП не может снять бан другого ОПа или мастера(он же админ). А мастер должен иметь право снимать любой бан ОПов, разве что пусть не сможет снять баны другого мастера (иногда же бывает их больше одного) |
bot9ra | ||
5.6.2010, 14:50 |
очень не плохая идея если возможно! |
А можно тебе тоже дать идею? А попробуй-ка ты сам поизучать Луа, писать скрипты и изучить настройки Птоки, это ведь всё же не университет кончать. Ещё одному разбирающемся хоть сколько-то в скриптах мы будем только рады. А идеи подкидывать - не мешки ворочить.. |
мамин_парень | ||
24.5.2010, 22:03 |
AntiReclama_by_Ksan Тихая антиреклама чата и привата с удалённым управлением |
Прошу прощения за второе сообщение подряд, но тема не апнулась при внесении изменений в первое сообщение. Короче, скрипт капитально изменен и добавлен в первое сообщение. Жду комментов. |
Nickolya, Kingston, Dimon21, X-Sky, мамин_парень | ||
23.5.2010, 21:41 |
Нужен скрипт описания. |
Замена описания делается легко, но я противник тотального принудительного однообразия, поэтому не стану помогать. Да и подозреваю, что отсыл измененных описаний каждого и всем - несколько может оказаться напряжно, в отличие от отсыла подмененного описания только одного или нескольких юзеров - всем. Хотя тут могу оказаться не правым, не проверял. Надо - изучи темы, скриптыподмены описаний и сам сделай. |
forZejkee | ||
14.5.2010, 11:12 |
Вопросы по скриптам Мелкие вопросы |
Вот рабочий пример функции которая позволяет юзеру выбирать отсылать ли ему сообщение при входе или нет. Автор Nickolya [attachment=4268:Example.lua] От себя выражаю огромное спасибо Nickolya. Скрипт работает только до первой перезагрузки (скрипта). Вот более правильный код (сравни со своим): Раскрывающийся текст Код sOurFileWay = Core.GetPtokaXPath().."scripts/somefile.txt" -- путь к файлу tTableData = {} function OnStartup() if loadfile(sOurFileWay) then dofile(sOurFileWay) end end function OnExit() SaveToFile(sOurFileWay, tTableData, "tTableData") -- сохраняем при выходе end function UserConnected(user) -- меню: Core.SendToUser(user, "$UserCommand 1 3 Информация\\получать$<%[mynick]> +ИзменитьСтатус on|") Core.SendToUser(user, "$UserCommand 1 3 Информация\\не получать$<%[mynick]> +ИзменитьСтатус off|") if not tTableData[user.sNick] then -- проверяем на отсутствие ника в таблице и если его там нет то отсылаем ему информацию Core.SendToUser(user, "..........") end end OpConnected = UserConnected RegConnected = UserConnected function ChatArrival(user, sData) local sCmd, sOption = sData:match"%b<>%s+[!%+%*](%S+)%s*(%S*).*|$" -- отлавливаем команду и аругмент после нее if sCmd == "ИзменитьСтатус" then -- если наша команда if not sOption then -- если вдруг отсутствует статус в команде Core.SendToUser(user, "*** Вы не ввели статус команды!") elseif sOption == "on" then -- если опция после команды on то if not tTableData[user.sNick] then -- если ника нет в таблице то он получает инфу Core.SendToUser(user, "*** Вы и так получаете информацию при входе!") else tTableData[user.sNick] = nil -- иначе удаляем ник из таблицы SaveToFile(sOurFileWay, tTableData, "tTableData") Core.SendToUser(user, "*** Теперь вы получаете информацию при входе!") end elseif sOption == "off" then -- если опция после команды off то if tTableData[user.sNick] then -- если ник в таблице Core.SendToUser(user, "*** Вы и так ничего не получаете при входе!") else tTableData[user.sNick] = true -- иначе добавляем ник в таблицу SaveToFile(sOurFileWay, tTableData, "tTableData") Core.SendToUser(user, "*** Теперь вы не получаете информацию при входе!") end else -- если опции нет или она какая-то странная Core.SendToUser(user, "*** Неверный статус команды!") end return true end end |
Saymon21 | ||
12.5.2010, 22:33 |
Добавьте пожалуйста |
Я не знаю, как ты базу заполнял, но у меня в таком виде работает нормально, и по запросу, и автоматом. Если попробуешь и снова не получится (не верю я, что не получится), то просто закомментишь строку отправления команды в меню. А вот, собственно, и сам код: Раскрывающийся текст Код local sBot = "xxx" local iTimer = 30 -- в минутах tMessarray = { " :huh: ", " :ignoring: ", " Через меню можно вызвать FAQ - ответы на частые вопросы.", " Желающие зарегистрироваться в хабе могут это сделать через меню \"Регистрация\"", } math.randomseed(os.time()) function OnStartup() tmr = TmrMan.AddTimer (iTimer*60*1000) end function OnTimer(tmr) Core.SendToAll("<"..sBot.."> "..tMessarray[math.random(1,#tMessarray)]) end function UserConnected(tUser) Core.SendToUser(tUser, "$UserCommand 1 3 Запрос$<%[mynick]> !запрос&#*124;") -- в этой строке в конце нужно удалить звездочку * end OpConnected,RegConnected = UserConnected,UserConnected function ChatArrival(tUser, sData) local sData = sData:sub(1,-2) local s,e, sMsg = sData:find("^%b<>%s(.*)$") if sMsg:find("!запрос") then Core.SendToAll("<"..sBot.."> "..tMessarray[math.random(1,#tMessarray)]) -- если надо отправить всем в чат -- Core.SendToUser(tUser, "<"..bot.."> "..messarray[math.random(1,#messarray)]) -- если надо отправить только запрашивающему в чат, открываешь спереди эту строку и аналогично закрываешь (ставишь 2 этих знака --) предыдущую строку return true end end Для большей степени случайности добавил ещё одну строку: Цитата math.randomseed(os.time()) Да, чуть не забыл, в это строке надо удалить в конце звёздочку: Код Core.SendToUser(tUser, "$UserCommand 1 3 Запрос$<%[mynick]> !запрос&#*124;") Думаю, из-за этого конца у тебя и не работало меню (я сам забыл в предыдущем скрипте пририсовать звёздочку) |
denis | ||
12.5.2010, 18:25 |
Добавьте пожалуйста |
Оп-с, забыл в одном месте исправить переменную. В предыдущем сообщении подправил. |
denis | ||
12.5.2010, 6:42 |
приветствия для каждого ника |
Никак вы не поймёте, что человек хочет, чтоб у каждого юзера было своё приветствие, по крайней мере, у тех, кто в базе приветствий...Независимо от профиля. В скрипте в предыдущем сообщений уже заложена такая возможность - вместо профилей в таблице нужно прописать ники желающих получать своё приветствие в таком виде: Код ["Это_ник_юзера"] = "Тут приветствие этого юзера", А в целом скрипт может выглядеть так:Раскрывающийся текст Код local sBot = SetMan.GetString(21) sHelloMessages = { ["TROJAN"] = " Подтянув Галстук, Аккуратно Причесан и Одет в Черном, Блестящем Смокинге. Главный Администратор хаба Открыл Дверь.. и вошел в главный зал хаба! Предклонитесь Перед Богом Хаба.. и Он благословит вас- мы Приветствуем тебя, о TROJAN!", -- ДобАвляем свои привеТствиЯ кому надо! ["Не-TROJAN"] = " Поприветствуем Модератора Не-TROJAN!", ["Ksan"] = " А вот и Ksan! Как мы тебе рады, заходи, раздевайся и будь как дома! :) ", ["Test_user"] = " Вау, кто к нам пришёл, - сам Test_user! Как мы тебе рады, заходи, раздевайся и будь как дома! :) ", } function UserConnected(tUser) local sHelloMes = sHelloMessages[tUser.sNick] if sHelloMes then Core.SendToNick(tUser.sNick,"<"..sBot.."> ••• "..sHelloMes.."! •••") Core.SendToAll("<"..sBot.."> ••• "..sHelloMes.."! •••") end end OpConnected = UserConnected RegConnected = UserConnected А в базу заносит ник и приветствие к нику по просьбе самого юзера сам админ. В принципе, можно и через меню вносить, но это уже значительно усложнит скрипт. |
Nickolya, FallenAngel, Invisible, CrazyCat, мамин_парень | ||
12.5.2010, 5:07 |
Добавьте пожалуйста |
Попробуй: Раскрывающийся текст Код local sBot = "xxx" local iTimer = 30 -- в минутах tMessarray = { [[ ]], } function OnStartup() tmr = TmrMan.AddTimer (iTimer*60*1000) end function OnTimer(tmr) Core.SendToAll("<"..sBot.."> "..tMessarray[math.random(1,#tMessarray)]) end function UserConnected(tUser) Core.SendToUser(tUser, "$UserCommand 1 3 Запрос$<%[mynick]> !запрос|") end OpConnected,RegConnected = UserConnected,UserConnected function ChatArrival(tUser, sData) local sData = sData:sub(1,-2) local s,e, sMsg = sData:find("%b<>%s(.*)$") if sMsg:find("!запрос") then Core.SendToAll("<"..sBot.."> "..tMessarray[math.random(1,#tMessarray)]) -- если надо отправить всем в чат -- Core.SendToUser(tUser, "<"..bot.."> "..messarray[math.random(1,#messarray)]) -- если надо отправить только запрашивающему в чат end end |
denis | ||
9.5.2010, 11:24 |
Дисконектер |
значит в конечном итоге так: Код ExNicks = {"ник1","ник2",} function ValidateNickArrival(tUser,data) for i = 1, #ExNicks do if (not tUser.sNick == ExNicks[i]) then Core.SendToUser(tUser, "Хаб на реконструкции") Core.Disconnect(tUser) end end end UserConnected, RegConnected = ValidateNickArrival, ValidateNickArrival спасибо Setuper и Ksan Ты опять путаешь людей.. :( Надо вот так: Код if not (tUser.sNick == ExNicks[i]) then Будь внимательнее, плиз! NOT вне скобок! |
Drakula | ||
8.5.2010, 21:08 |
PtokaX Linux |
А чтоб смешнее было. |
X-Sky | ||
8.5.2010, 20:58 |
Дисконектер |
Вот это: Код tUser.sNick == ExNicks[i] заключи в скобки: Код (tUser.sNick == ExNicks[i]) |
Serx, Drakula | ||
8.5.2010, 10:46 |
AntiReclama_by_Ksan Тихая антиреклама чата и привата с удалённым управлением |
Название скрипта: AntiReclama_by_Ksan.lua (с удалённым управлением всего и вся через меню) API: PtokaX API 2 Автор: Ksan (aka Trans) Дата написания: (07-08)-05-2010 Место проживания автора: г.Томск (Россия) Версия: 1.0 Описание: Скрипт антирекламы (чат и приват) Особенности: возможность выбора некоторых опций через меню (заглушка полная или нет, кикать или дисконнектить, зафлуживать приват рекламщиков или нет), реклама тихая, то есть, рекламщик думает, что реклама прошла, несмотря на пинки и зафлуживание, а при режиме заглушки "0" (отмена флуда и киков разных) и вовсе не заметит подвоха. Регистронезависимость. Примечание: Вариантов реагирования 5: -- Тихая заглушка без доп. акций (режим "Zero") -- Зафлуживание рекламщика + дисконнект -- Зафлуживание + кик -- Просто дисконнект -- Просто кик Общее для всех вариантов - рекламщику кажется, что реклама всё-таки прошла куда надо. Все варианты переключаются между собой через меню скрипта. Версия 2.0 ••• Изменения: - при первом запуске необходимые файлы и папка для них создаются автоматически; - через админское меню можно добавлять-удалять рекламные, исключений и флудовые шаблоны, а также просматривать списки всех этих шаблонов; - при добавлении-удалении шаблонов скрипт теперь не надо перезапускать: - решена проблема обхода антирекламы вводом в сообщение слов из таблицы исключений; - добавлено блокирование IP в чате и приватах (с возможностью отмены через меню). Отдельные IP можно вносить в исключения, как и любое другое слово; - добавлены разнообразные статусные сообщения: в Опчат при перезапуске скрипта и при смене режимов, и в любое время можно посмотреть текущие настройки, получив в приват через меню; - добавлена возможность отключения отправки в Опчат сообщений о рекламе (может оказаться полезной при частых отлавливаемых спамах) - изменен метод получения рандомного ника отправителя для зафлуживания; - некоторая оптимизация кода (надеюсь). ••• Примечания: - структура таблиц несколько иная, чем в предыдущей версии и в большинстве других антиреклам, возможно, придётся шаблоны набивать по-новой. Но я поступил проще - шаблонами старого вида заполнил нужные таблицы (с учётом измененных названий таблиц, естественно) и запустил скрипт. После чего в каждую таблицу добавил шаблон (любой). После этого одноразового действия (для каждой таблицы шаблонов) таблицы сохраняются уже в как нужно. - при отсутствии ТАБЛИЦ шаблонов сообщений для зафлуживания привата рекламщика скрипт будет падать с сообщением вроде этого: ......PtokaX-0.4.1.1\scripts\Anti_Reclama_api2.lua:461: bad argument #1 to 'random' (interval is empty) (номер строки может оказать у вас иным), поэтому желательно, чтоб в таблице был хотя бы один образец сообщения. ••• Советы для малоопытных: - шаблоны вбивайте максимально укороченные, но достаточные для отлова рекламы. Не нужно в шаблонах оставлять интернет-префиксы типа dchub://, http:// и www (разве что только в исключениях). Если вы запрещаете любые ссылки, то да, можете внести эти префиксы отдельно, а в дальнейшем в шаблонах их отсекайте. - для блокирования рекламы ссылок с реферрерами (с бонусами рекламщику за заход по его ссылке) во многих случаях поможет шаблон ?ref= ••• Пошла версия 2.1: - добавлен 6-й вариант реагирования - "Предупреждение" (при режиме "0") UPD 2: Поменял местами 2 строки (описание ниже в сообщении #10), чтоб сначала отрабатывала функция общей антирекламы, а потом уже, если не было этой отработки, проверка сообщения функцией проверки IP-рекламы. UPD 3: Добавлена возможность предупреждать рекламщика в привате бота при попытке рекламы (в режиме "0"). Это тоже можно переключать через меню скрипта. Дата изменения: 27-12-2010 |
Nickolya, intlive, Wariner, FallenAngel, Tsd, zip2002, Karumo, rival, Kingston, wasd, Saymon21, X-Sky, SAG, Тёмич, доктор ливси, Rei_Volia, STIVAN, pol_91, ProGeTTo, stone, AfLc, мамин_парень | ||
5.5.2010, 5:27 |
Функции Для Разработчиков склад полезных функций |
Ещё одна функция приведения к нижнему регистру (ранее нигде не встречал): Код function StringLower(arg) os.setlocale"Russian_Russia.1251" -- (русс.локаль) arg = string.lower(arg) os.setlocale("C") -- (возврат на станд.локаль) return arg end Работает как с кириллицей, так и с латиницей. Аналогично же и для приведения к верхнему регистру: Код function StringUpper(arg) os.setlocale"Russian_Russia.1251" -- (русс.локаль) arg = string.upper(arg) os.setlocale("C") -- (возврат на станд.локаль) return arg end PS: Уж больно подозрительно простенький код получился, но работает. Если у кода есть побочные вредные эффекты, умные товарищи, надеюсь, не пропустят и подскажут. |
MIKHAIL | ||
4.5.2010, 0:34 |
Блок по тегу Скрипт блокировки по тегу |
Так, на будущее...тут принято тыкать на кнопку "Спасибо", если благодарен кому-то за помощь. |
valdis73 | ||
30.4.2010, 17:52 |
Логотип для RusHub'а ваши варианты и предложения |
Хосспади, люди шуток уже не понимают...куда мир катится. Там же русским по белому написано: Цитата xDDDDD а это до сего дня было кучей улыбок..Что-то в мире изменилось? |
bot9ra | ||
30.4.2010, 1:41 |
Логотип для RusHub'а ваши варианты и предложения |
Типа лёгкая разминка перед сообщением: RuSHuB - некая попытка игры в симметрию; R'' - но тут знак секунды ('') скорее всего воспримется как знак дюйма А секунда типа как признак быстрой загрузки и работы. Разминка закончилась. А вообще, у меня на бумаге были попытки поиграть разного рода противоположнонаправленными стрелками - типа скачивание-отдача.. стрелки - вниз-вверх, направо-налево, узкие, широкие, стилизованные до почти неузнаваемости, похожие на реальные стрелы от лука..и т.д. Но всё это не стал даже переносить на комп, чтоб показать, так как они меня не удовлетворили, а недоконченное я не люблю показывать. А вот направление мысли изложил, может, у кого-то лучше получится. PS: Возвращаясь к бегущему R от Николя - мне думается, от этой картинки надо оставить ТОЛЬКО букву (или человечка), остальное - фон, нижняя часть, обрамляющий квадрат - всё это, думаю, лишнее... Ещё раз выражу своё мнение - знак должен быть очень простым! Самые запоминающиеся - самые простые. |
Nickolya, bot9ra | ||
20.4.2010, 17:29 |
Проверка ников на запретные слова verlihub |
Сравните: Код BotName = "Bot" иКод VH:KickUser(botname, nick, "Реклама в нике") Переменная с ником бота не совпадает по написанию в двух этих строках. |
Nickolya | ||
9.4.2010, 23:09 |
NoDescAdv API2 | Удаление рекламы из описания юзеров |
Скрипт захватывает и подменяет описания с рекламой только при своём запуске-перезапуске, а когда юзер перезаходит или заходит новый юзер при запущенном скрипте, реклама светится без проблем. Поэтому вот решение (очень простое) - добавьте функцию UserConnected с таким содержанием: Код function UserConnected(tUser) Core.GetUserAllData(tUser) MyINFOArrival(tUser,tUser.sMyInfoString) end RegConnected = UserConnected OpConnected = UserConnected PS: Хмм, как мне подсказал автор, этот же результат достигается увеличением в настройках параметра iSendTimer. Я поставил 1000 вместо 500 и теперь даже при заходе-перезаходе юзера скрипт отрабатывает своё назначение.. |
Saymon21, sergius_s | ||
8.4.2010, 23:07 |
Network Separation API1, API2 | Скрипт разделения сетей пользователей |
1. Попробуй так: замени строки 242 и 243 на эти 2 строки: Код tIPSeparation[i][k]["sFrom"] = CountIP(l.sFrom) tIPSeparation[i][k]["sTo"] = CountIP(l.sTo) И проверь работу скрипта. 2. Если не прокатит (хотя это нужно в любом случае сделать), тогда в таблице с диапазонами сетей оставь только сеть 1. Сеть номер 2 практически равна сети номер 0 (то есть, любой диапазон, не входящий в сеть номер 1). Просто закомменти вторую сеть. И ещё - исправление (удаление функции SRArrival) в первом моем совете остаётся в силе. |
Ольга | ||
27.1.2010, 15:57 |
"Словарь" интернета вот такое вот разочарование |
Привыкшие к украинскому языку на русском языке обычно пишут И вместо Ы ... Но это всего лишь частный случай, а тема поднята правильно. И особенно эта проблема заметна в чатах хабов. Отмазки типа "это же всего лишь чат" не принимаю. Кто может писать правильно и уважает свой язык, пишет правильно везде и всегда. |
X-Sky | ||
26.1.2010, 22:30 |
Антимат Из Хуббы API2 |
"Может, пора что-то в консерватории менять?" (с) Жванецкий. Я смотрю, у тебя ни один скрипт не работает, хотя у всех они работают. Может, начнёшь с нуля? Забей и забудь, всё, что "знаешь", и начни с нуля, как будто увидел Птоку и луа-скрипты первый раз. И внимательно-внимательно читай сообщения знатоков, авторов скриптов и сами скрипты. Где-то же должна скрываться первопричина твоих проблем. |
Wariner | ||
14.11.2009, 15:01 |
Викторина с титулами API2 |
Бери отсюда. Там много интересного добавлено плюс твои титулы есть (больше 100). |
mwnn | ||
1.11.2009, 9:49 |
Network Separation API1, API2 | Скрипт разделения сетей пользователей |
Вот на всякий случай кладу этот же, но урезанный до минимума, скрипт... Для тех, у кого возникли проблемы с работой скрипта в *nix'ах по той или иной причине, а разделение сетей необходимо. Поиск-скачивание невозможно между сетями намертво, никакого меню нет. При входе юзеру отправляется сообщение о разделении сетей и возможности качать только в пределах своей сети (текст напишете сами, как найдете нужным) Перезалил. Исправил кое-что мелкое (хотя из-за этого мелкого мог работать неправильно) |
Nickolya | ||
14.10.2009, 7:51 |
Выбран Оператором надолго ли - ваш прогноз)) |
Удивляюсь я автору темы...Он всё время крутится вокруг собственной персоны, если речь не идет о проблемах со скриптом. Однако, сильные же у него проблемы с окружающим миром! По существу темы - я помню, как автор раньше высказывался резко против админов (опов) и даже показывал логи, как он их доставал (хотя цель показа была направлена против админов). Надеюсь, и полагаю, что обязательно найдется аналогичный же юзер и на его голову, и он поймёт, как был неправ раньше, будучи юзером. Админская (опская) работа - неблагодарная. Юзеру не стоит руководствоваться при оценке админа только личными обидами (это так, задним числом автору). |
Wariner, mariner, X-Sky | ||
18.9.2009, 2:20 |
CountGraphic API2 | Диаграмма посещаемости хаба по запросу отправляется в приват |
Хорошо, уговорили, сегодня переведу и кину в первом сообщении переведенный на API 1 скрипт, вечерком (сейчас у меня 6 утра, спешу на работу). PS: Добавил в первый пост скрипт под API 1, предварительно исправив один косячок (раньше при старте инициировался приват не того бота). Теперь оба скрипта в одном архиве. PSS: 2thehawk: Ты забыл, наверно, создать (или скопировать из архива) папку с первоначальным файлом для таблицы графика. |
thehawk | ||
15.9.2009, 9:28 |
TEST |
А я и не знал, что было такое ограничение Наверно. можно и без сообщений чтоб могли благодарить. Это же позитифф, а разве можно позитифф ограничивать?! |
LaLa | ||
15.9.2009, 6:30 |
TEST |
Кстати, у нас в городе была известная форумчанка с ником LaLa, очень даже умница... Это не ты был? |
Nickolya, LaLa | ||
15.9.2009, 5:58 |
Gagbyshare API2 | Гаг по шаре |
2prapor: Сорри, это моя ошибка...в шапке функции: Код function Core.ToArrival(tUser,sData) убери "Core.", должно быть так:Код function ToArrival(tUser,sData) Когда сюда писал код, я проверял на старом АПИ, там это прокатывало. Сейчас проверил на новом, только тогда понял, что забыл убрать лишнее... |
prapor | ||
9.9.2009, 16:11 | У вас нет прав на просмотр этой темы | У вас нет прав на просмотр этого сообщения |
FBR, FallenAngel | ||
6.9.2009, 5:54 |
CountGraphic API2 | Диаграмма посещаемости хаба по запросу отправляется в приват |
Название скрипта: CountGraphic Версия API: API 2 Автор: Trans (изм. на Ksan) Описание: Каждые полчаса (по умолчанию) записывает в файл таблицу со столбцами графика посещаемости (наполнненности) хаба, при запросе через меню отправляет в приват график от 1 суток до 30 ( админ, ник которого вписан в настройках скрипта, может запросить график до 365 суток). Запросы начнут удовлетворяться не ранее, чем через сутки. В силу особенностей текстового режима клиента столбцы графика добавляются сверху вниз и столбец расположен горизонтально. в начале столбца дата-время, в конце - число юзеров. Для просмотра удобнее уменьшать масштаб содержания окна через CTRL+колесико_мышки. Полагаю, что представляет интерес для анализа динамики наполнения хаба по времени суток, по дням и месяцам...и вообще, просто для интереса. PS Исправил ошибку, внесенную при корректировке скрипта, перезалил. Апгрейд: --- Версия 1.3 (08-09-09 20:20) --- Теперь в таблицу записывается только дата-время и число, а столбцы строятся при отправке по запросу --- При выдаче по запросу столбец за нулевой час суток строится из других элементов для выделения насыщенностью цвета, и рядом с числом юзеров пишется дата --- Исправлена ошибка в условии с профилем юзера - вместо квадратных скобок были круглые --- Эта версия совместима с предыдущей, то есть, ранее созданная часть таблицы будет обрабатываться одинаково с последующими частями и выдаваться корректно по запросу. Так что если у кого таблица уже есть, то не заменяйте пустой из моего архива. --- (18-09-09 19:40) --- Исправил 1 косячок (раньше при старте инициировал приват не того бота) --- Добавил скрипт под API 1. --- Теперь оба скрипта в 1 архиве. Картинки ниже - из предыдущей версии. Вот примеры (одна картинка без изменения масштаба, вторая - с уменьшением): [attachment=3171:CountGraph_1.jpg] [attachment=3172:CountGraph_2.jpg] P.S.: У архивного файла расширение почему-то при скачивании оказывается не .RAR, а .ZIP (хотя я закачивал именно с .RAR). Так что если у кого-то архив не раскрывается с ошибкой, переименуйте расширение на .RAR (вместо .ZIP) и пробуйте снова. |
Nickolya, intlive, dimetrius, FBR, Invisible, степашка, district, denis, PomanoB, valdis73, Andrew Frost, 12345, Saymon21, X-Sky, thehawk, Pro009, Cyber_voodoo, AfLc, GULAM33, мамин_парень | ||
25.8.2009, 17:17 |
Network Separation API1, API2 | Скрипт разделения сетей пользователей |
Найди вот эту функцию: function MakeStatusMsg(curUser) и в теле функции закомментируй (то есть, поставь по 2 знака тире -- спереди) 3 строки эти: Код if iUsersNetwork ~= 0 then sMsg = sMsg..". Диапазоны вашей сети: "..tDiaps[iUsersNetwork] end |
FBR | ||
6.8.2009, 13:04 |
Викторина API2 |
Да не парьтесь вы. Вот получите готовую викторину. Изменения: 1. Периодические объявления в чат о количестве играющих и на какой вопрос сейчас отвечают, с предложением присоединиться и как это сделать. (об этом писал в своем предыдущем сообщении) 2. Одинокий игрок не может наращивать очки, хотя отвечать на вопросы может. 3. Всякие там таблицы-списки с топами и очками выводятся в отдельный приват, а не будут загромождать общий чат или игру. 4. Увеличена база. |
FallenAngel, Артём, TiGRpp, striker, AfLc | ||
4.8.2009, 9:44 |
нужен скрипт |
2skonda: Вот тебе то, что надо (это модернизированный вариант скрипта из предыдущего сообщения) : HelloBotAkaVerliHub_1.1_api2.lua |
skonda | ||
4.7.2009, 7:10 |
Простой скрипт регистрации от NRJ API2 | Скрипт просто регистрирует |
Название: RegBot.by.NRJ Версия: v. 1.2 (22/09/06) Автор: NRJ Версия API: API1, API2 Описание: Простой скрипт регистрации Команды: !regme <pass> - зарегистрироваться !passwd <new_pass> - изменить пароль (встроенная команда) !unreg - удалить регистрацию Changelog: Перевёл на API 2 - Trans (и убрал генерируемый пароль, причина - очень часто юзеры не запоминают его, а также удалил отсылку в приват напоминания о регистрации, уж очень раздражает, ну, и добавил, как всегда, комменты почти к каждой строке для понимания процесса) **1.2** - незарегистрированные пользователи при входе на хаб получают сообщение о неоходимости регистрации - добавлена команда !reghelp **1.1** - добавлена команда !unreg - добавлено меню для зарегистрированного пользователя Комментарий от автора темы: Причина перевода и помещения сюда этого скрипта в том, что другие доступные тут скрипты слишком замудрёные и набиты излишествами, и половина из них вдобавок со скрытым кодом. Пусть будет на выбор и простой надёжный скрипт от старого доброго NRJ! Скрипт небольшой, это от моих комментов он увеличился в объеме Добавил и оригинальный скрипт (API1) |
district, denis, LOKI, striker, доктор ливси, vanga96, Yamakasi | ||
25.6.2009, 15:07 |
Hub Menu API2 | Меню для встроенных команд PtokaX |
Я не спорю насчет динамических, но ведь скрипт делался не под ваш хаб, а для всех. Можно просто дополнить парой команд бана ника и все. Кстати, насчет динамических - надо заглушать их незаметной заглушкой по IP на 1 сутки, а не банить. Пусть думают, что они небанимые. |
X-Sky | ||
23.5.2009, 13:57 |
Ipgag V.3.01 API1 | навороченная заглушка юзеров |
это понятно. но я говорил именно про перекрёстную функциональность. такую функцию встречал на нескольких ресурсах. весьма удобно. кстати не мог бы приложить свою переделку сюда? спасибо Пожалуйста! В скрипте места, где изменены или добавлены строки или закомментены, в конце добавлен коммент для понимания изменений. И ещё - скрипт настроен для использования некоторых команд юзерами VIP-профиля (хелп, заглушка через ник, снятие заглушки через ник), так что учтите этот момент (вдруг кто будет использовать как есть). PS: Забыл указать - для API 1 PPS: (13-08-09) Перезалил (исправил ошибку оригинального скрипта, связанную с лишним полем в сообщении. Подробнее в сообщении №42). Правда, исправление касается только закомментированного куска, так что если кто использует скрипт только в "тихом" виде, то можно не суетиться насчет изменений. Исправил ещё в 2 местах в слове GetOpChatName маленькую букву "с" на большую "С" (при снятии заглушки до срока это могло привести к падению скрипта с соответствующей ошибкой). |
степашка | ||
16.4.2009, 10:58 |
Stoptrep API2 | Запрещает говорить больше N сообщений подряд в чате |
Invisible, доктор ливси | |||
|
Сейчас: 26.11.2024, 14:47 |