Добавьте пожалуйста |
Здравствуйте, гость ( Вход | Регистрация )
Добавьте пожалуйста |
11.5.2010, 22:06
Сообщение
#1
|
|
Активный участник Группа: Пользователи Сообщений: 50 Регистрация: 23.11.2008 Пользователь №: 1 182 Спасибо сказали: 2 раза |
CODE bot="xxx" timer = 30 -- в минутах messarray={ [[ ]], } function OnStartup() tmr = TmrMan.AddTimer (timer*60*1000) end function OnTimer(tmr) Core.SendToAll("<"..bot.."> "..messarray[math.random(1,#messarray)]) end Можно сюда вставить ещё функцию запроса по команде?! |
|
|
12.5.2010, 5:07
Сообщение
#2
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
Попробуй:
Раскрывающийся текст Код 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 |
|
|
12.5.2010, 17:11
Сообщение
#3
|
|
Активный участник Группа: Пользователи Сообщений: 50 Регистрация: 23.11.2008 Пользователь №: 1 182 Спасибо сказали: 2 раза |
[17:09] Синтаксис G:\xxx\scripts\xxx.lua:11: attempt to perform arithmetic on global 'timer' (a nil value)
|
|
|
12.5.2010, 17:43
Сообщение
#4
|
|
7 квадратиков Группа: Модераторы Сообщений: 793 Регистрация: 21.1.2009 Пользователь №: 1 895 Спасибо сказали: 301 раз |
Замени
tmr = TmrMan.AddTimer (timer*60*1000) на tmr = TmrMan.AddTimer (iTimer*60*1000) |
|
|
12.5.2010, 18:25
Сообщение
#5
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
Оп-с, забыл в одном месте исправить переменную.
В предыдущем сообщении подправил. |
|
|
12.5.2010, 21:10
Сообщение
#6
|
|
Активный участник Группа: Пользователи Сообщений: 50 Регистрация: 23.11.2008 Пользователь №: 1 182 Спасибо сказали: 2 раза |
пропускает команды в чат
[21:08:29] <xxx> ыв [21:08:29] <Bad> !запрос<Bad> !запрос менюшка не работает + Ksan можешь просто добавить команду (без менюшки) |
|
|
12.5.2010, 22:33
Сообщение
#7
|
|
Наруто на аваторке Группа: Пользователи Сообщений: 2 606 Регистрация: 11.10.2008 Из: Харькова Пользователь №: 771 Спасибо сказали: 774 раза |
Если меню не нужно, удали
Код function UserConnected(tUser)
Core.SendToUser(tUser, "$UserCommand 1 3 Запрос$<%[mynick]> !запрос|") end OpConnected,RegConnected = UserConnected,UserConnected |
|
|
12.5.2010, 22:33
Сообщение
#8
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
Я не знаю, как ты базу заполнял, но у меня в таком виде работает нормально, и по запросу, и автоматом. Если попробуешь и снова не получится (не верю я, что не получится), то просто закомментишь строку отправления команды в меню.
А вот, собственно, и сам код: Раскрывающийся текст Код 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;") Думаю, из-за этого конца у тебя и не работало меню (я сам забыл в предыдущем скрипте пририсовать звёздочку) |
|
|
Похожие темы
|
Сейчас: 23.11.2024, 15:46 |