Привет всем експертам, в общем тут сидел думал, если есть такой скрипт или можно его написать, в общем автосмена топика по таймереу, а лучше по дате, например чтобы топик менялся каждый день в 0:00 на текущую дату, например "Сегодня Суббота 1 ноября 2008 года" или добавить его в скрипт "Бегущая Строка Вместо Статичного Топика!, API2" хотя лучше не стоит наверное, скрипт нужен для АПИ2. А лучше эту функцию прикрутить к скрипту обратного отчета до определенной даты, правда у меня его нет под АПИ2, в общем чтобы топик менялся например "До Нового года осталось столько то дней, часов, минут, секунд"
Автор: =TuRoK= 3.12.2008, 0:13
А правда,никто не может сделать автосмену топика через заданный промежуток времени с простого скрипта информера (думаю возможно):К примеру:
Код
taimer = 60 -- в минутах
messarray={ [[Сообщение]], }
function OnStartup() tmr = TmrMan.AddTimer (taimer*60*1000) end
function OnTimer(tmr) Core.SendToAll(" "..messarray[math.random(1,#messarray)]) end
Моего ума явно мало для написания, поэтому переделать этот скрипт под автосмену топика не смог
Автор: Setuper 3.12.2008, 0:25
Это очень легко делается:
Код
local iTimer=60 -- в минутах local sMsg,iId={ "Топик1", "Топик2" } function OnStartup() iId=TmrMan.AddTimer(iTimer*60000) end function OnTimer(iId) SetMan.SetString(10,sMsg[math.random(1,#sMsg)]:sub(1,256)) end
Автор: Артём 3.12.2008, 1:11
Хороший скрипт спасибо,а не льзя бы в него добавить меню чтобы можно было через меню добавлять топик и время подачи топика
Автор: Setuper 3.12.2008, 1:21
Цитата(Артём @ 3.12.2008, 1:11)
Хороший скрипт спасибо,а не льзя бы в него добавить меню чтобы можно было через меню добавлять топик и время подачи топика
Это уже домашнее задание тебе))))
Автор: Артём 3.12.2008, 18:20
Цитата(Setuper @ 3.12.2008, 1:21)
Это уже домашнее задание тебе))))
:P пожалуста помоги с менюшкой ( не удаляй сообщение )
Автор: Setuper 3.12.2008, 18:24
Ты бы хотя бы посмотрел как в других скриптах менюшки сделаны и попробовал бы сам сделать, а мы тебя поправим если что неправильно будет.
Автор: Артём 4.12.2008, 15:59
сделать то сделал по подобию других менюшек но у меня получилась какаято абра-кадабра
CODE
local iTimer=1 -- в минутах local sMsg,iId={ "Все меняем этот адресс 10.8.12.66 на НОВЫЙ доменный dchub://CRYSIS.myftp.org:666", "Сохраняем хаб /fav", "Не забывай Регистрироватся с помощью меню", "Металлист-Олимпиакос 1:0", } function OnStartup() iId=TmrMan.AddTimer(iTimer*60000) end function OnTimer(iId) SetMan.SetString(10,sMsg[math.random(1,#sMsg)]:sub(1,256)) end function UserConnected(sUser) if tProfiles[sUser.iProfile] == 1 then Core.SendToNick(sUser.sNick,"$UserCommand 1 3 Меню админа\\Добавить топик$<%[mynick]> !topik %[line:Введите топик]|") Core.SendToNick(sUser.sNick,"$UserCommand 1 3 Меню админа\\Удалить топик$<%[mynick]> !deltopik %[line:Введите № топик]|") Core.SendToNick(sUser.sNick,"$UserCommand 1 3 Меню админа\\Показать все топики$<%[mynick]> !alltopik|") end end
Теперь нужно определять, есть ли в сообщения нужная нам команда(!topik, к примеру) и, если есть, проверить, есть ли у пользователя права на её использование, если есть, то, заносим в таблицу новый топик. http://mydc.ru/r/?http://www.lua.ru/doc/5.5.html С сохранение таблицы в файл, потом, сначала это. Посмотри, как в других скриптах вылавливаются команды(внутри функции ChatArrival). Т.е. пока что, просто, попытайся выловить, использование команды. upd.
Код
if tProfiles[sUser.iProfile] == 1 then
Обрати внимание, что в скрипте, где ты взял это условие, есть таблица tProfiles, у тебя же, её нету. Пока что тогда это исправь, что я выше писал после этого прочти. sUser.iProfile - Возвращает профиль пользователя(-1 - унрег, 0 - Мастер и т.п. т.е. по расположению в Ptokax - Менеджере профилей).
Автор: Артём 4.12.2008, 18:59
не чего не могу понять,не получается сделать
Автор: Setuper 4.12.2008, 19:07
Не говори не могу, просто пытайся понять и сделать и всё получится Знания всегда приходят через практику!
Автор: Артём 4.12.2008, 19:25
Цитата(Setuper @ 4.12.2008, 19:07)
Не говори не могу, просто пытайся понять и сделать и всё получится Знания всегда приходят через практику!
у меня мозг щас лопнит....помогите сделать
Автор: =TuRoK= 5.12.2008, 14:22
Цитата(Артём @ 4.12.2008, 20:25)
у меня мозг щас лопнит....помогите сделать
Если нужен,то делай
Если я правильно поизвращался на скриптом книги жалоб попробовав переделать под автопик, то для начала тебе думаю пойдёт:
Если начало положенно правильно,то тебе остаётся доделать автовывод из dat файла текста в топик, и при добавлении нового топика вероятно нумерацию:
Код
local BotName = SetMan.GetString(21) local MenuName = "Топик" local iTimer = 1 -- в минутах local TopFile = "scripts\\Topic\\topic.dat"
function OnStartup() iId=TmrMan.AddTimer(iTimer*60000) end
function OnTimer(iId) SetMan.SetString(10,TopFile[math.random(1,#TopFile)]:sub(1,256)) end
function OpConnected(tUser) if tUser.iProfile == 0 then Core.SendToNick(tUser.sNick,"$UserCommand 1 3 "..MenuName.."\\Добавить топик$<%[mynick]> !topic_add %[line:добавить топик]&*#124;") Core.SendToNick(tUser.sNick,"$UserCommand 1 3 "..MenuName.."\\Просмотреть все топики$<%[mynick]> !topic_view&*#124;") end --* удалить
function ChatArrival(tUser, sData)
local data = string.sub(sData, 1, -2) local _, _, nick = string.find(data, "<(.*)>") local _, _, cmd = string.find(data, "%b<>%s+(%S+)") if tUser.iProfile == 0 then if cmd == "!topic_add" then local _, _, msg = string.find(data, cmd.."(.*)") if msg == nil then return false end
local handle = io.open(TopFile, "a+") if handle ~= nil then local time = os.date("%d.%m.%Y %H:%M:%S") handle:write(""..msg.."") handle:close() end return true end if cmd == "!topic_view" then local handle = io.open(TopFile, "r") if handle ~= nil then local top = handle:read("*a") Core.SendToNick(tUser.sNick, "<"..BotName.."> "..top) handle:close() else Core.SendToNick(tUser.sNick, "<"..BotName.."> Нет топиков\n") end return true end end
OpConnected = UserConnected RegConnected = UserConnected end end
Автор: Артём 6.12.2008, 14:59
:P с помощью чего можно создать тип topic.dat (формат .dat) ??
Автор: Wariner 6.12.2008, 15:18
блокнотом
Автор: Артём 6.12.2008, 16:41
чушь какаято,сделал но не работает,помогите скрипт.rar ( 919 байт )
: 9