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

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

MyDC.ru _ Kорзина _ Скрипт Регистрации (подделать)

Автор: skonda 18.4.2009, 9:12

помогите переделать этот скрипт чтобы

1) при входе на хаб не выскакивало сообщение о том что "вы не зареганы на хабе"

2) убрать возможность регистрации под случайным паролем. его почти всегда забывают. то есть если юзер не ввел никакой пароль, то бот не регает его под случайным паролем, а пишет "вы не ввели пароль"

 RegBot.by.NRJv.1.2.rar ( 1.64 килобайт ) : 14
 

Автор: Wariner 18.4.2009, 10:34

1) удалить

Код
    if not(user.bRegistered) and not (frmHub:isNickRegged(user.sName)) then
        local msg = "\r\n\r\n"..
        "\t«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»\r\n"..
        "\t\tВЫ НЕ ЗАРЕГИСТРИРОВАНЫ НА ХАБЕ ! ! !\r\n"..
        "\t«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»\r\n\r\n"..
        "\tПомощь по регистрации: !reghelp\r\n\r\n"..
        "\t"..string.rep("-", 112).."\r\n"
        user:SendPM(bot,msg)
    end


2) заменить это
Код
                local pass=math.random(os.date("%H%M%S"))
                AddRegUser(user.sName, pass, 3)
                user:SendData(bot,"Вы были зарегистрированы на хабе. Ваш ник:"..user.sName.." Пароль: "..pass..". Не забудьте перезайти на хаб!")
                if (ShowInfo == 1) then
                user:SendData(bot,"Теперь для входа на хаб под вашим ником необходимо знать пароль. Вы можете вводить его каждый раз вручную, либо прописать пароль в настройках клиента. Для этого найдите в списке избранных хабов этот хаб, зайдите в его свойства и пропишите в строках Nick и Password ваши ник и пароль.")
                end
                if (ShowToAll == 1) then
                SendToAll(bot,"Поприветствуем нового зарегистрировавшегося участника - "..user.sName.." !!!")
                end

на это
Код
user:SendData(bot,"Регистрация провалена! Вы не ввели пароль! Попробуйте ещё раз!")

Автор: skonda 18.4.2009, 11:15

работает. еще такой вопрос. Как отделить эти строки в чате ? Чтобы между ними была строка и они не сливались.
[11:59:47] <Bot> Вы были зарегистрированы на хабе. Ваш ник : 1111 ВАШ ПАРОЛЬ : 123. Не забудьте перезайти на хаб!
[11:59:47] <Bot> ВНИМАНИЕ!!! НЕ ЗАБУДЬТЕ прописать пароль в свойствах хаба. Для этого найдите в списке избранных хабов

в скрипте ставил и так \n и сяк \n\, но выдаетсо синтаксическая ошибка

Автор: Wariner 18.4.2009, 15:00

user:SendData(bot,"Вы были зарегистрированы на хабе. Ваш ник:"..user.sName.." Пароль: "..pass..". Не забудьте перезайти на хаб!\r\n")

Автор: skonda 18.4.2009, 15:52

спосибо

Автор: Setuper 18.4.2009, 16:03

на самом деле лучше писать так:

Код
user:SendData(bot,("Вы были зарегистрированы на хабе. Ваш ник:%s Пароль: %s. Не забудьте перезайти на хаб!\r\n"):format(user.sName, pass))

Автор: Wariner 18.4.2009, 16:34

Илюх, я думаю человек не будет править весь скрипт а такое исправление в одном месте никакой пользы не принесёт!

Автор: Setuper 18.4.2009, 16:47

Если учиться писать оптимально, то в конечном итоге польза будет, да и опыт наберётся неплохой.

Раз уж зашёл разговор, то приведу несколько примеров:

1) если:

Код
"Сообщение "..param
то не обязательно (я бы даже сказал не нужно) преобразовывать в вид:
Код
("Сообщение %s"):format(param)
так как и в том и в другом случае память выделится только под одну строку. В первом случае под строку "Сообщение ", во втором случае - под строку "Сообщение %s"

2) если:
Код
"Сообщение1 "..param.." сообщение2"
то лучше преобразовать:
Код
("Сообщение1 %s сообщение2"):format(param)
Так как тут в первом случае память будет выделяться под 2 строки "Сообщение1 " и " сообщение2", а во втором случае - только под одну строку "Сообщение1 %s сообщение2".

Под каждую строку выделяется 4 байта, кроме этого уборщику мусора легче будет убрать одну строку, чем несколько.