MyDC.ru _ Готовые скрипты для PtokaX _ Джинглы "русского Радио"
Автор: SCALOlaz 25.12.2008, 20:50
Джинглы "Русского Радио" v.0.4 By SCALOlaz API2 Исправлено 27.12.2008 (для тех кому лень качать снова, в скрипте перед function OpConnected(user) добавьте RegConnected=UserConnected)
Цитата
RegConnected=UserConnected -- Вот это ДОБАВИТЬ!!!
function OpConnected(user) Core.GetUserAllData(user) ...
Поискал для сервера скрипт вывода анекдотов, ничего путного не нашел - все скрипты юзают внутренние массивы. Набросал небольшой скрипт, читающий строку из внешней текстовой базы. Делюсь с вами Скрипт выводит в чат случайную фразу (строку) с определенным интервалом. По умолчанию - 45 минут чтобы не флудил если в чате мало народу. Jingles_0.4_API2.rar ( 29.01 килобайт )
: 429 (в архиве скрипт + база на 1311 фраз) Jingles_0.4.lua ( 3.77 килобайт )
: 102 (отдельно скрипт)
- Управление через меню: Вкл/Выкл бота, Информация о боте. Для пользователей - вывод Джингла вручную - Вывод Джингла пользователю при входе - В автоматическом режиме количество Джинглов не выдается - Исправлена ошибка разделения авторежима и ручного вывода - Фикс: Джинглы могли видеть либо НЕзарегистрированные, либо администрация. )) - Фикс: путь к базе by Wariner
Вид в ручном режиме:
Цитата
[02:36:19] <ДжинглBells> [ 212 : 1311 ]: Три дня скакал Иван Царевич. Пока скакалку не отобрали.
Чуть не забыл о настройке:
Цитата
INFBot = "ДжинглBells" -- Имя бота INFPatch = "scripts/JINGLES/jingles.txt" -- Путь к текстовой базе INFTimer = 45 -- Интервал в минутах
Удачи!
ЗЫ: В базе первая строка зарезервирована под ремарку/описание. Тоесть скрипт ее читать не будет! При обновлении скрипта, удалите предыдущую версию (чтобы не загромождать список скриптов), и в хабе нажмите CTRL+R Вместо базы Джинглов можно использовать любую другую, где фраза ограничена одной строкой Почитал правила )) Искаверкал пост, вроде все как положено ))
Автор: fly 26.12.2008, 14:03
PtokaX 0.4.1.1 ......\scripts\Jingles_0.4.lua:87: bad argument #2 to 'random' (interval is empty)
Автор: Infernus-pro 26.12.2008, 17:14
Цитата
Управление через меню: Вкл/Выкл бота, Информация о боте. Для пользователей - вывод Джингла вручную
Где это меню?
Автор: SCALOlaz 26.12.2008, 19:14
Цитата(fly @ 26.12.2008, 15:03)
PtokaX 0.4.1.1 ......\scripts\Jingles_0.4.lua:87: bad argument #2 to 'random' (interval is empty)
А вы уверены что у вас в наличии папка с базой? Будьте добры - путь scripts/JINGLES/jingles.txt Посмотрите на месте ли файл. Другой вариант - вы самостоятельно заменили этот файл, но в нем всего одна (1) строка. Если открытый в блокноте файл выводит много строк - это еще не факт что в конце каждой стоит знак перевода каретки.
Цитата(Infernus-pro @ 26.12.2008, 18:14)
Где это меню?
По правой клавише грызуна. Не зря рекомендуется давить сочетание CTRL+R, ибо только после перезахода появляются новые пункты в меню, это же касается ситуации, когда вам прикрутили права опа,модера а вы не знаете что с этим делать. Вот скрины:
Автор: fly 26.12.2008, 20:13
Папка на месте, текстовый файл на месте. Ничего не менялось. )))))))
Автор: Wariner 26.12.2008, 20:35
Если папка и файл на месте, а так же в файле есть несколько строчек инфы, то попробуй прописать пути:
Папка на месте, текстовый файл на месте. Ничего не менялось. )))))))
Ну если приведенный выше пример пути не поможет, есть только одно логичное объяснение: у вас в каком-то скрипте уже используется переменная "INFcount. Увы, я использую flylinkdc++370, и собственно на нем тестирую все скрипты. И подобной ошибки не наблюдал, иначе бы пофиксил.
Автор: intlive 26.12.2008, 21:01
Спасибо, классная штука
Автор: Infernus-pro 26.12.2008, 21:30
Цитата
По правой клавише грызуна. Не зря рекомендуется давить сочетание CTRL+R, ибо только после перезахода появляются новые пункты в меню, это же касается ситуации, когда вам прикрутили права опа,модера а вы не знаете что с этим делать.
Поверь я прекрасно все это знаю Дело в том что я скачал скрипт без меню, видать потом его доделали и выложили.
Автор: fly 26.12.2008, 22:05
Цитата(Wariner @ 26.12.2008, 22:35)
Если папка и файл на месте, а так же в файле есть несколько строчек инфы, то попробуй прописать пути:
Скрипт работает...шутки зачетные...но почему только администратор может выбрать случайный джингл??? Мне кажется эта менюшка должна быть и у простых пользователей. Как это исправить?
Автор: SCALOlaz 27.12.2008, 15:58
Цитата(Spongebob @ 27.12.2008, 16:16)
Скрипт работает...шутки зачетные...но почему только администратор может выбрать случайный джингл??? Мне кажется эта менюшка должна быть и у простых пользователей. Как это исправить?
Спасибо, что заметили! Я даже и не предполагал что есть такая ошибка... Джинглы могли видеть либо НЕзарегистрированные, либо администрация. ))
Добавьте в любое место скрипта, например перед функцией function OpConnected(user) вот это:
Цитата
RegConnected=UserConnected
Автор: Spongebob 28.12.2008, 0:34
Нет, не в этом дело...просто хотелось что бы и простые Reg могли по желанию, через меню получить Джингл (Разное\\Случайный Джингл) А это меню у них неотображается...вот я и хотел спросить как это исправить?
Автор: Wariner 28.12.2008, 0:48
Ну неужели так сложно прочитать внимательно?! Написали надо сделать так:
Код
function UserConnected(user) Core.GetUserAllData(user) INFUserRightclicker(user,data) INFTMR(user, true) end
RegConnected = UserConnected
Автор: Spongebob 28.12.2008, 8:36
Ой спасибо суслик)
Автор: Sky2k 28.12.2008, 15:30
строчка скрипта if user.iProfile<=1 then Core.SendToNick(user.sNick,"$UserCommand 1 3 Русское радио\\"..INFBot.."\\Интервал вывода фраз$<%[mynick]> !infrankingflood %[line:Укажите частоту флуда в минутах !ЧИСЛО (2-950)!]||") end зачем закоменнтили ?
+ фраза *Интервал вывода фраз...* слишком длинная и не помещается полностью. Считаю целесообразным её переписать в виде * Время вывода фраз в чат в минутах.* Прмиерно такого плана. Это всё имхо. А так, скрипт замечательный.
Автор: SCALOlaz 28.12.2008, 19:30
все очень просто: никак не придумаю проверочку - число или слово введено. Если ввести вместо минут, скажем FSD или любое слово (ну случайно может произойти), ЛУА выдает ошибку и роняет скрипт. Так-что закомментил. Можно в коде установить время и перезапустить скрипт Если есть гениальные идеи, пишите - затестим и обновлю скрипт
Автор: Wariner 28.12.2008, 20:11
не понял в чём проблема... Есть команда + вводимая фраза. После нахождения команды
Код
elseif cmd=="команда"
, находим вводимую фразу
Код
local _,_,number=string.find(data,"%b<>%s+%S+%s+(%S+)")
, после чего задаём условие:
Код
if (tonumber(number) >= 2) and (tonumber(number) <=950) then
ЗЫ может коряво написал если что спрашивай постараюсь по понятнее изложить)))
Автор: GangstaR 21.1.2010, 13:35
А как сделать чтоб при входе НЕ выводило джингл?
Автор: prokazzza 26.6.2010, 21:57
Цитата
- Вывод Джингла пользователю при входе
Присоединяюсь к вопросу, как сделать чтобы при входе юзера в чат не отсылался джингл.
???
Автор: Nickolya 28.6.2010, 9:14
В
Код
function UserConnected(user) Core.GetUserAllData(user) INFUserRightclicker(user,data) INFTMR(user, true) end
удалить
Код
INFTMR(user, true)
Автор: X-Sky 5.8.2010, 1:16
Существуют разные базы джинглов, если у кого есть, киньте, пожалуйста, в асю (590099202), агент (x-sky@mail.ru) или контакт (http://mydc.ru/r/?http://vkontakte.ru/x_sky) ссылочку.
Автор: Click77 7.11.2010, 7:26
Цитата(X-Sky @ 5.8.2010, 2:16)
Существуют разные базы джинглов, если у кого есть, киньте, пожалуйста, в асю (590099202), агент (x-sky@mail.ru) или контакт (http://mydc.ru/r/?http://vkontakte.ru/x_sky) ссылочку.