Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

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)
...


Поискал для сервера скрипт вывода анекдотов, ничего путного не нашел - все скрипты юзают внутренние массивы. Набросал небольшой скрипт, читающий строку из внешней текстовой базы. Делюсь с вами big_smile.gif
Скрипт выводит в чат случайную фразу (строку) с определенным интервалом. По умолчанию - 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

Если папка и файл на месте, а так же в файле есть несколько строчек инфы, то попробуй прописать пути:

Код
INFPatch = Core.GetPtokaXPath().."scripts/JINGLES/jingles.txt"


PS хотя у меня вроде работало(долго не тестил)

Автор: SCALOlaz 26.12.2008, 21:00

Цитата(fly @ 26.12.2008, 21:13) *
Папка на месте, текстовый файл на месте. Ничего не менялось. )))))))

Ну если приведенный выше пример пути не поможет, есть только одно логичное объяснение: у вас в каком-то скрипте уже используется переменная "INFcount.
Увы, я использую flylinkdc++370, и собственно на нем тестирую все скрипты. И подобной ошибки не наблюдал, иначе бы пофиксил.

Автор: intlive 26.12.2008, 21:01

Спасибо, классная штука feel_good.gif

Автор: Infernus-pro 26.12.2008, 21:30

Цитата
По правой клавише грызуна. Не зря рекомендуется давить сочетание CTRL+R, ибо только после перезахода появляются новые пункты в меню, это же касается ситуации, когда вам прикрутили права опа,модера а вы не знаете что с этим делать.

Поверь я прекрасно все это знаю big_smile.gif Дело в том что я скачал скрипт без меню, видать потом его доделали и выложили.

Автор: fly 26.12.2008, 22:05

Цитата(Wariner @ 26.12.2008, 22:35) *
Если папка и файл на месте, а так же в файле есть несколько строчек инфы, то попробуй прописать пути:
Код
INFPatch = Core.GetPtokaXPath().."scripts/JINGLES/jingles.txt"


PS хотя у меня вроде работало(долго не тестил)

Также сделал. Работает.

Автор: Spongebob 27.12.2008, 15:16

Скрипт работает...шутки зачетные...но почему только администратор может выбрать случайный джингл??? Мне кажется эта менюшка должна быть и у простых пользователей. Как это исправить? victory.gif

Автор: SCALOlaz 27.12.2008, 15:58

Цитата(Spongebob @ 27.12.2008, 16:16) *
Скрипт работает...шутки зачетные...но почему только администратор может выбрать случайный джингл??? Мне кажется эта менюшка должна быть и у простых пользователей. Как это исправить? victory.gif
beat_plaster.gif
Спасибо, что заметили! Я даже и не предполагал что есть такая ошибка...
Джинглы могли видеть либо НЕзарегистрированные, либо администрация. ))

Добавьте в любое место скрипта, например перед функцией function OpConnected(user) вот это:
Цитата
RegConnected=UserConnected

Автор: Spongebob 28.12.2008, 0:34

Нет, не в этом дело...просто хотелось что бы и простые Reg могли по желанию, через меню получить Джингл (Разное\\Случайный Джингл) А это меню у них неотображается...вот я и хотел спросить как это исправить? eyes_droped.gif

Автор: 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

Ой спасибо суслик) victory.gif

Автор: 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
зачем закоменнтили ? big_smile.gif

+ фраза *Интервал вывода фраз...* слишком длинная и не помещается полностью. Считаю целесообразным её переписать в виде * Время вывода фраз в чат в минутах.* Прмиерно такого плана. Это всё имхо.
А так, скрипт замечательный.

Автор: 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) ссылочку.


+1
поделитесь у кого есть.