myDC.ru

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

 

viento
Отправлено: 1.2.2011, 20:09


Абсолютный новичок


Группа: Пользователи
Сообщений: 3
Регистрация: 29.1.2011
Пользователь №: 8 664


ну а мне кто подскажет куда тот кусок скрипта впихнуть?
  Форум: Сетевые скрипты [PtokaX] · Просмотр сообщения: #37151 · Ответов: 140 · Просмотров: 141 201

viento
Отправлено: 31.1.2011, 12:38


Абсолютный новичок


Группа: Пользователи
Сообщений: 3
Регистрация: 29.1.2011
Пользователь №: 8 664


Цитата(DEN 007 @ 30.1.2011, 20:23) *
viento,
А зачем скрипт смены ника в статистеке?

какой есть. я в луа слабо секу) и свое чтото написать не могу а только лишь подправить и то не везде. да и лишние скрипты плодить тоже не охота. куда там вставить код чтобы это работало?
  Форум: Сетевые скрипты [PtokaX] · Просмотр сообщения: #37104 · Ответов: 140 · Просмотров: 141 201

viento
Отправлено: 30.1.2011, 20:19


Абсолютный новичок


Группа: Пользователи
Сообщений: 3
Регистрация: 29.1.2011
Пользователь №: 8 664


Цитата(alex82 @ 8.9.2010, 5:23) *
Вопрос: Как заставить работать пункт "Последний зарегистрировавшийся юзер" на главной странице?
Ответ: Для этого необходимо добавить в скрипт регистрации код, записывающий ник зарегистрировавшегося юзера в файл lastreg.txt, находящийся в папке StatPX_Lite. Код должен выглядеть примерно так:
Код
        local lastreg = io.open(Core.GetPtokaXPath().."scripts/StatPX_Lite/lastreg.txt","w")
        if lastreg then
            lastreg:write(user.sNick)
            lastreg:close()
        end
К примеру, в скрипт Registrator этот код нужно добавить сразу после строк:
Код
        if tCfg.ShowToAll then
            ToAll("Поприветствуем нового зарегистрировавшегося участника - "..user.sNick.."!")
        end

извините куда в этом вот скрипте это вставить?
Прячем большой код под спойлер или в codebox!
Код
--[[

    RegMe 1.0f LUA 5.11 [Strict][API 2]
    
    By Mutor    04/07/07
    
    Саморегистрация\Смена пароля
    
    RegMe Command Help

    Команды        Описание
    !rmhelp        Помощь
    !regme        Регистрация  
    !passwd        смена пароля  
    
    перевел и добавил функцию сообщения о новою юзере Mariner. Enjoy...
    
]]

--//--
-- Запретить поиск и передачу файлов для нерегистрированных юзеров? true = да/false = нет
local RegOnly = false
-- Запретить общий чат нерегистрированным юзерам? true = да/false = нет
local RegChat = false
-- Запретить приватные сообщения нерегистрированным юзерам? true = да/false = нет [приватные месэйджи операторам не блокируются]
local RegPms = false
-- Сообщать о входе нерегистрированных юзеров оператору? true = да/false = нет
local Report = false
-- Кто получает сообщения о нерегистрированных логинах и ошибках [только если report = true]
local OpNick = "evoll"
--//--


local Bot,Scp,Pfx = SetMan.GetString(21),"RegMe",SetMan.GetString(29):sub(1,1)
local Menu,SubMenu = SetMan.GetString(0),"Регистрация"
local BlockMsg = "\r\n\r\n\tUnregistered users may not chat, pm, search or transfer files in this hub.\r\n"..
"\tYou may pm operators for assistance. You may also self-register by typing.\r\n"..
"\t!regme <password> or use context menu commands [right click].\r\n\r\n"

UserConnected = function(user)
    SendCmds(user)
    if user.iProfile == -1 then
        if Report then
            OnError("Незарегестрированный юзер: "..user.sNick.." зашел на "..SetMan.GetString(0))
        end
        if RegOnly then
            return Core.SendToUser(user,"<"..Bot.."> "..BlockMsg..RegCmds["rmhelp"](user,data,cmd))
        end
    end
end
OpConnected,RegConnected = UserConnected,UserConnected

ChatArrival = function(user,data)
    local _,_,cmd = data:find("%b<> %p(%w+)")
    if cmd then
        cmd = cmd:lower()
        if cmd and RegCmds[cmd] then
            return Core.SendPmToUser(user,Bot,RegCmds[cmd](user,data,cmd)), true
        end
    else
        local _,_,to,from = string.find(data,"^$To: (%S+) From: (%S+)")
        if to and from then
            if RegPms and user.iProfile == -1 then
                local prof = Core.GetUser(to)
                if prof then
                    if not Core.GetUserValue(prof,11) then
                        return Core.SendPmToUser(user,to,"<"..Bot.."> "..BlockMsg),true
                    end
                else
                    return true
                end
            end
        else
            if RegChat and user.iProfile == -1 then
                return Core.SendToUser(user,"<"..Bot.."> "..BlockMsg),true
            end
        end
    end
end
ToArrival = ChatArrival

ConnectToMeArrival = function(user, data)
    if RegOnly and user.iProfile == -1 then
        local CtmMsg = "\t*Пожалуйста, удалите этот файл из очереди.*"
        return Core.SendToNick(user.sNick,"<"..Bot.."> "..BlockMsg..
        CtmMsg:gsub(" ",string.char(160)).."\r\n\r\n|"),true
    end
end
RevConnectToMeArrival = ConnectToMeArrival

SearchArrival = function (user, data)
    if RegOnly and user.iProfile == -1 then
        local SrMsg = "\t*Пожалуйста, закроте окно поиска.*"
        local _,_,search = string.find(data,"([^%?]+)|$")
        search = search or ""
        local res = "Незарегистрированный юзер"..string.char(92)..user.sNick..", поиск "..
        "отключен для тебя."..string.rep("\t",75)..search
        return Core.SendToUser(user,"$SR "..SetMan.GetString(21).." "..res.." 0 0/0"..
        SetMan.GetString(0).." ("..Core.GetHubIP()..":"..SetMan.GetString(4)..")"),
        Core.SendToUser(user,"<"..Bot.."> "..BlockMsg..
        SrMsg:gsub(" ",string.char(160)).."\r\n\r\n|"),true
    end
end

OnError = function(msg)
    local user = Core.GetUser(OpNick)
    if user then
        Core.SendToUser(user,"<"..Bot.."> "..msg)
    end
end

SendCmds = function(user)
    local Prof = "Unregistered User"
    if user.iProfile > -1 then
        Prof = ProfMan.GetProfile(user.iProfile).sProfileName
    end
    for i,v in pairs(RegCmds) do
        local desc,arg1,arg2 = RegCmds[i]()
        Core.SendToNick(user.sNick,"$UserCommand 1 1 "..SubMenu.."\\"..
        desc.."$<%[mynick]> "..Pfx..i..arg1.."|")
        Core.SendToNick(user.sNick,"$UserCommand 1 2 "..SubMenu.."\\"..
        desc.."$<%[mynick]> "..Pfx..i..arg2.."|")
    end
    Core.SendToUser(user,"<"..Bot.."> "..Prof.."'s "..Scp.." команды "..
    "включены. Для регистрации воспользуйтесь меню.")
end

FormatSize = function(int)
    local i,u,x = tonumber(int) or 0,{"","K","M","G","T","P"},1
    while i > 1024 do i,x = i/1024,x+1 end return string.format("%.2f %sB.",i,u[x])
end

RegCmds = {
    regme = function(user,data,cmd)
        if user then
            local nick = user.sNick
            if user.iProfile ~= -1 then
                return "Твой ник, "..nick..", уже зарегестрирован."
            elseif Core.GetUserAllData(user) then
                local _,_,pwd = data:find("%b<> %p%w+ (%S+)|$")
                if pwd then
                    if nick:find("[%c\$\|\<\>\:\?\*\"\/\\]") then
                        return "Ник содержит запрещенные символы. "..
                        "Пожалуйсто, введите другой."
                    end
                    if pwd:find("[%c\$\|\<\>\:\?\*\"\/\\]") then
                        return "Пароль содержит запрещенные символы. "..
                        "Пожалуйсто, введите другой."
                    end
                    local hub = SetMan.GetString(0)
                    local addy = SetMan.GetString(2)..":"..SetMan.GetString(3)
                    local share,ip = FormatSize(user.iShareSize),user.sIP
                    local slots = user.iSlots or 0
                    local mode = "Пассив"
                    if user.bActive then mode = "Актив" end
                    if user.sMode and user.sMode == "5" then mode = "Socks5" end
                    local opmsg = "\r\n\r\n\tЗарегистрировался новый юзер\r\n"..
                    "\tвот детали регистрации:\r\n"..
                    "\t"..string.rep("=",22).."\r\n"..
                    "\tНик:\t"..nick.."\r\n"..
                    "\tПароль:\t"..pwd:gsub(".","x").."\r\n"..
                    "\tШара:\t"..share.."\r\n"..
                    "\tIP:\t"..ip.."\r\n"..
                    "\tРежим работы:\t"..mode.."\r\n"..
                    "\tОткрыто слотов:\t"..slots.."\r\n"
                    RegMan.AddReg(nick, pwd, 3)
                    Core.SendToOps("<"..Bot.."> "..opmsg)
                    Core.SendToAll("<"..Bot.."> Поприветствуем нового зарегестрировавшегося пользователя "..nick.."!;)")
                    return "\r\n\r\n\tПриветствую. Вы удачно "..
                    "зарегистрировались.\r\n\t"..string.rep("=",40).."\r\n"..
                    "\tНазвание хаба:\t"..hub.."\r\n"..
                    "\tАдрес хаба:\t"..addy.."\r\n"..
                    "\tНик:\t"..nick.."\r\n"..
                    "\tПароль:\t"..pwd.."\r\n\r\n"..
                    "\t"..string.rep("=",40).."\r\n"..
                    "\tПожалуйста обратите внимание на эту информацию.\r\n"..
                    "\tПожалуйста перезайдите на хаб, чтобы активизировать ваш статус.\r\n"
                else
                    return "Ошибка! Использовать: "..Pfx..cmd.." <пароль>"
                end
            end
        else
            return "Зарегистрироваться"," %[line:Пароль]"," %[line:Пароль]"," <password>>"
        end
    end,
    passwd = function(user,data,cmd)
        if user then
            if user.iProfile == -1 then
                return "Твой ник, "..user.sNick..", не зарегестрирован."
            elseif Core.GetUserAllData(user) then
                local _,_,oldpass,newpass = data:find("%b<> %p%w+ (%S+) (.+)|$")
                if oldpass and newpass then
                    local pwd,prof = RegMan.GetReg(user.sNick).sPassword,user.iProfile
                    if pwd and prof then
                        if oldpass:lower() ~= pwd:lower() then
                            return "Неверный пароль. "..
                            "Попробуйте снова. [case insensitive]"
                        end
                        if newpass:find("[%c\$\|\<\>\:\?\*\"\/\\]") then
                            return "Пароль содержит запрещенные символы. "..
                            "Пожалуйста, введите другой."
                        end
                        if newpass:lower() == oldpass:lower() then
                            return "Вы не можете поменять пароль на такой же! "..
                            "Пожалуйста, введите другой."
                        end
                        RegMan.ChangeReg(user.sNick, newpass, prof)
                        return "Вы успешно сменили пароль с  "..
                        oldpass.." на "..newpass
                    end
                else
                    return "Ошибка! Использовать: ."..Pfx..cmd.." <старый пароль> <новый пароль>"
                end
            end
        else
            return "Сменить пароль"," %[line:Текущий пароль] %[line:Новый пароль]",
            " %[line:Текущий пароль] %[line:Новый пароль]"," <old password> <new password>"
        end
    end,
    rmhelp = function(user,data,cmd)
        if user then
            local reply = "\r\n\r\n\t"..Scp.." Help\r\n\r\n\tКоманды\t\tОписание\r\n"..
            "\t"..string.rep("=",40).."\r\n"
            for i,v in pairs(RegCmds) do
                local desc = RegCmds[i]()
                reply = reply.."\t"..Pfx..string.format("%-15s",i).."\t"..desc.."\r\n"
            end
            return reply.."\n\t"..string.rep("=",40).."\r\n\r\n"
        else
            return "Справка","",""
        end
    end,
    }
  Форум: Сетевые скрипты [PtokaX] · Просмотр сообщения: #37086 · Ответов: 140 · Просмотров: 141 201


New Posts  Открытая тема (есть новые ответы)
No New Posts  Открытая тема (нет новых ответов)
Hot topic  Горячая тема (есть новые ответы)
No new  Горячая тема (нет новых ответов)
Poll  Опрос (есть новые голоса)
No new votes  Опрос (нет новых голосов)
Closed  Закрытая тема
Moved  Тема перемещена
 

RSS Сейчас: 8.5.2024, 7:29