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

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

MyDC.ru _ Kорзина _ Regorredir

Автор: OtshelnikFm 7.11.2008, 13:57

Скрипт выкидывает юзера если он не зарегится. Подскажите - скрипт ниже. не работает функция просмотра тех кто незарегился. Команда !showusers приводит к ошибке в строке 93. Менял curUser:SendMessage на Core.SendToOps - но тогда команда выходит в общий чат. Пытался сделать разрешение для выполнения команды только админом - ничего не получилось.

прикручивал меню - также пропускает команды в чат:

Код
tMenu = "Незарегенные" -- ArtBotMenu Name

function UserConnected(tUser)
    Core.SendToNick(tUser.sNick,"$UserCommand 1 3 "..tMenu.."\\Смотреть $<%[mynick]> !showusers|")
        
    end

OpConnected = UserConnected


Подскажите где ошибка.

 REGorREDIR_1.0_не_работает_.lua ( 4.16 килобайт ) : 1
 

Автор: Perspect 7.11.2008, 23:27

Загляни сюда: http://mydc.ru/topic178.html

Автор: OtshelnikFm 14.11.2008, 18:12

Цитата(Perspect @ 7.11.2008, 23:27) *
Загляни сюда: http://mydc.ru/topic178.html

Спасибо. Вот только функции - смотреть незарегенных пользователей нету. хочется именно ее + "Отправить незарегенным сообщение" - подскажите как дополнить

Автор: OtshelnikFm 22.11.2008, 14:27

Думаю что такое возможно - подскажите! Нужно очень

Автор: Wariner 22.11.2008, 19:13

Конвертер перевёл криво! Я немного упростил код! Пробуй)

 REGorREDIR_1.0.lua ( 3.34 килобайт ) : 5
 

Автор: OtshelnikFm 23.11.2008, 11:04

Спасибо огромное - работает без проблем!

Автор: OtshelnikFm 27.11.2008, 14:54

Цитата(OtshelnikFm @ 23.11.2008, 11:04) *
Спасибо огромное - работает без проблем!

После тестов замечено - когда регистрируется человек - то в таймере продолжается статистика (-5675 секунд). И это накапливается пока не перезапустишь скрипт. Приходится пользоваться функцией (из другого скрипта) перезагрузки этого скрипта. Т.е получается - сначала смотришь незарегенных. Отправляешь им PM о необходимости регистрации. А потом, если есть зарегистрировавшийся, перезагружаешь его. Как бы сделать чтобы зарегистрировавшего выбрасывало из этого списка - т.е таймер не учитывал его. Или ,например, как только проходит команда Regme - скрипт выбрасывал из своей статистики этого юзера.. Может есть еще варианты?

Автор: Wariner 28.11.2008, 21:02

Замени полностью функцию OnTimer на:

Код
function OnTimer(tUser,tmr)
    local Now = os.time()
    for i,v in pairs(tUsers) do
        if ((Now-v)>= tSettings.iRedirectInterval*60) then
            local tUser = Core.GetUser(i,true)
            if not RegMan.GetReg(tUser.sNick) then
                Core.SendToNick(i, "<"..tSettings.sBot.."> Вы незарегистрировались в отведенные "..tSettings.iRedirectInterval.." минут, извините, но я вас перенаправляю!")
                Core.SendToNick(i, "$ForceMove "..tSettings.sRedirectAddy)
                if tUsers[tUser.sNick] then
                    tUsers[tUser.sNick] = nil
                end
            else
                tUsers[tUser.sNick] = nil
            end    
        end
    end
end