myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 
 
Ответить в данную темуНачать новую тему

> Добавьте пожалуйста

Теги
Нет тегов для показа
denis
сообщение 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



Можно сюда вставить ещё функцию запроса по команде?!
Go to the top of the page
+Quote Post
Ksan
сообщение 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


Спасибо сказали:
Go to the top of the page
+Quote Post
denis
сообщение 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)
Go to the top of the page
+Quote Post
Alexey
сообщение 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)
Go to the top of the page
+Quote Post
Ksan
сообщение 12.5.2010, 18:25
Сообщение #5


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 723
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 657 раз




Оп-с, забыл в одном месте исправить переменную.
В предыдущем сообщении подправил.


Спасибо сказали:
Go to the top of the page
+Quote Post
denis
сообщение 12.5.2010, 21:10
Сообщение #6


Активный участник
***

Группа: Пользователи
Сообщений: 50
Регистрация: 23.11.2008
Пользователь №: 1 182
Спасибо сказали: 2 раза




пропускает команды в чат

[21:08:29] <xxx> ыв
[21:08:29] <Bad> !запрос<Bad> !запрос


менюшка не работает + отвечает на все фразы в чате(лишнее)


Ksan можешь просто добавить команду (без менюшки)
Go to the top of the page
+Quote Post
Артём
сообщение 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
Go to the top of the page
+Quote Post
Ksan
сообщение 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;")

Думаю, из-за этого конца у тебя и не работало меню (я сам забыл в предыдущем скрипте пририсовать звёздочку)


Спасибо сказали:
Go to the top of the page
+Quote Post

Ответить в данную темуНачать новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

Collapse

> Похожие темы

  Тема Ответов Автор Просмотров Последнее сообщение
No New Posts помогите мне пожалуйста настроить dc++
1 sdncn 6 304 29.9.2013, 9:37 Посл. сообщение: Delia
No New Posts Подскажите пожалуйста
9 @denis@ 11 964 14.4.2011, 18:08 Посл. сообщение: warhammer
Closed Дайте такой скрипт пожалуйста
5 Artem26 8 683 23.12.2010, 16:17 Посл. сообщение: Accelerator
No New Posts Переделайти скрипт пожалуйста
1 Respect 5 845 15.12.2010, 1:30 Посл. сообщение: Saymon21
Closed помогите пожалуйста со скриптом
нужно переделать скрипт Pm.Logger.by.NRJ для API2
0 Виктор 4 659 26.11.2010, 13:54 Посл. сообщение: Виктор
No New Posts Подскажите пожалуйста
Регестрация
1 zelya 6 714 13.10.2010, 17:28 Посл. сообщение: Ksan
No New Posts Видел на одном хабе такой скрпит не могу найти помогите пожалуйста.
Помогите.
1 STIVAN 6 963 13.7.2010, 10:56 Посл. сообщение: Saymon21
Closed Помогите пожалуйста найти SeenScript
скрипт просмотра когда был тот или иной юзверь на хабе
1 САМАЭЛЬ 5 521 28.6.2010, 15:34 Посл. сообщение: Accelerator
Closed Topic has attachmentsРебята сделайте пожалуйста скрипт для Ptokax
скрипт приветствия
7 _brat_ 11 798 14.6.2010, 13:48 Посл. сообщение: Damaks
No New Posts От: Ребята сделайте пожалуйста скрипт для Ptokax
От темы с ID: 3543
0 -=FugeN=- 2 4 023 13.6.2010, 19:19 Посл. сообщение: -=FugeN=- 2
No New Posts Topic has attachmentsДайте пожалуйста ответ на вопрос.
10 sonet 12 343 27.5.2010, 21:27 Посл. сообщение: Berkut
Closed Подскажмите пожалуйста.
Плиз
1 Тёмич 4 450 13.5.2010, 16:34 Посл. сообщение: Accelerator
No New Posts Помогите пожалуйста!
Вобщем, сделайте пожалуйста скрипт который позволит (Рекломировать)
7 Тёмич 9 360 1.5.2010, 19:48 Посл. сообщение: Saymon21
No new Topic has attachmentsПомогите пожалуйста со скриптом
29 Ольга 27 380 3.4.2010, 19:39 Посл. сообщение: Wariner
No New Posts От: Помогите пожалуйста со скриптом
От темы с ID: 3323
1 X-Sky 4 537 3.4.2010, 19:38 Посл. сообщение: Wariner

 



RSS Сейчас: 23.11.2024, 14:38