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

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

MyDC.ru _ Kорзина _ Скрипт Логирования Пользовательских Ip И Ников

Автор: zzipper 18.10.2008, 21:43

Есть скрипт такой вот под старое API, который логирует в 2 файла ники и IP юзеров соответсвенно. PowerSimple User Information называетсо.
Попробовал сам перевести его через конвертер, исправил пару ошибок. В итоге ошибок не выдает, но и не работает (и тупо пропускает команды в чат).
Этот сркипт отлично работал на 0.3.6.0. Но есть у него один косяк. Когда файлы с никами и IP распухнут до, мегов, так 20, на хабе начинается слайдшоу. feel_good.gif По сему, думаю, было бы неплохо прикрутить к нему еще самоочистку через какое-то время (настраиваемую естесвенно). :(

Аттачу оригинал и потроганую мною версии.

 PSUserInfo1.2.rar ( 3.4 килобайт ) : 4
 PSUserInfo_api2_no_work.rar ( 770 байт ) : 4
 

Автор: Wariner 18.10.2008, 22:11

Первую часть просьбы выполнил... Скрипт работает, проверенно на птоки 0.4.1.1

 PSUserInfo_newapi.rar ( 3.97 килобайт ) : 26
 

Автор: zzipper 19.10.2008, 0:02

Работает. Спасибо большое. А можешь ткнуть в чем загвостка была?

Автор: Wariner 19.10.2008, 9:31

Было две вещи во первых пути (для птоки 0.4.1.1 надо прописать абсолютные пути):
исправил вот это

Код
MainDir = "PSUI\\"

вот на это
Код
MainDir = Core.GetPtokaXPath():gsub("/", "\\").."scripts\\PSUI\\"


во вторых чтоб команды не выводились в чат надо было исправить вот это:
Код
function ChatArrival(user,data)
    Core.GetUserAllData(user)
    local data = string.sub(data,1,-2)
    local _,_,cmd = string.find(data,"%b<>%s"..prefix.."(%S+)")
    if cmd and cmdlist[cmd] then
        if CheckT(user,Allowed) == 1 then
            [color="#FF0000"]return cmdlist[cmd]["Function"](user,data) [/color]
        else
            Core.SendToNick(user.sNick,"<"..BN.."> У вас нет прав, для использования данной команды")
        end
    return true
    end
end


на

Код
cmdlist[cmd]["Function"](user,data)
return true