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

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

MyDC.ru _ Kорзина _ Топик Хаба

Автор: Инкогнито 31.10.2008, 23:43

Привет всем експертам, в общем тут сидел думал, если есть такой скрипт или можно его написать, в общем автосмена топика по таймереу, а лучше по дате, например чтобы топик менялся каждый день в 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

Моего ума явно мало для написания, поэтому переделать этот скрипт под автосмену топика не смог  beat_brick.gif

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

big_smile.gif Хороший скрипт спасибо,а не льзя бы в него добавить меню чтобы можно было через меню добавлять топик и время подачи топика feel_good.gif

Автор: Setuper 3.12.2008, 1:21

Цитата(Артём @ 3.12.2008, 1:11) *
big_smile.gif Хороший скрипт спасибо,а не льзя бы в него добавить меню чтобы можно было через меню добавлять топик и время подачи топика feel_good.gif

Это уже домашнее задание тебе))))

Автор: Артём 3.12.2008, 18:20

Цитата(Setuper @ 3.12.2008, 1:21) *
Это уже домашнее задание тебе))))

:P пожалуста помоги с менюшкой ( shame.gif не удаляй сообщение )

Автор: Setuper 3.12.2008, 18:24

Ты бы хотя бы посмотрел как в других скриптах менюшки сделаны и попробовал бы сам сделать, а мы тебя поправим если что неправильно будет.

Автор: Артём 4.12.2008, 15:59

beat_brick.gif сделать то сделал по подобию других менюшек но у меня получилась какаято абра-кадабра

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

OpConnected = UserConnected
RegConnected = UserConnected

Автор: Sephiroth_Lukaw 4.12.2008, 18:49

Теперь нужно определять, есть ли в сообщения нужная нам команда(!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

eyes_droped.gif не чего не могу понять,не получается сделать

Автор: Setuper 4.12.2008, 19:07

Не говори не могу, просто пытайся понять и сделать и всё получится big_smile.gif
Знания всегда приходят через практику!

Автор: Артём 4.12.2008, 19:25

Цитата(Setuper @ 4.12.2008, 19:07) *
Не говори не могу, просто пытайся понять и сделать и всё получится big_smile.gif
Знания всегда приходят через практику!


beated.gif у меня мозг щас лопнит....помогите сделать shame.gif

Автор: =TuRoK= 5.12.2008, 14:22

Цитата(Артём @ 4.12.2008, 20:25) *
beated.gif у меня мозг щас лопнит....помогите сделать shame.gif

Если нужен,то делай feel_good.gif

Если я правильно поизвращался на скриптом книги жалоб попробовав переделать под автопик, то для начала тебе думаю пойдёт:


Если начало положенно правильно,то тебе остаётся доделать автовывод из 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

beat_brick.gif чушь какаято,сделал но не работает,помогите
 скрипт.rar ( 919 байт ) : 9

Автор: Wariner 11.12.2008, 22:17

Ищи разницу)))

 autotopick.rar ( 930 байт ) : 10
 

Автор: Артём 11.12.2008, 23:26

Цитата(Wariner @ 11.12.2008, 22:17) *
Ищи разницу)))

Ошибка
[22:25] Синтаксис ...ь!!!\PtokaX 0.4.0.0.7\scripts\топикпеременnew 2.lua:11: attempt to index field '?' (a nil value)
т.е разници нету :P

Автор: Wariner 12.12.2008, 17:47

переделал

 AutoTopic.rar ( 1.19 килобайт ) : 30
 

Автор: Al-j® 19.12.2008, 0:06

замучили бедного)))
а идея качественная =)

Автор: =TuRoK= 19.12.2008, 0:47

Но для такого скрипта думаю нестоило, хотя удобно если хаб держит другой а ты правишь...