ChatAfterLoginLocker, API2 | Доступ к чату после N минут онлайн |
Здравствуйте, гость ( Вход | Регистрация )
ChatAfterLoginLocker, API2 | Доступ к чату после N минут онлайн |
8.1.2011, 2:48
Сообщение
#1
|
|
Главный ра******й тут... Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз |
Название: ChatAfterLoginLocker
Версия: 1.0 Автор: Nickolya + в теме еще есть варианты скрипта от Ksan и alex82 Описание: блокирует чат для заданных профилей на N-ное количество времени после входа на хаб. Собственно весь конфиг скрипта: Код -- блокируемые профили и время их блокировки, в секундах: tLockProfiles = { [3] = 3*60, [-1] = 10*60, } При отправке сообщения в чат, юзер видит работу скрипта в следующем виде: Цитата <PtokaX> *** Для того, чтобы общаться в чате, твоему профилю необходимо выждать 10 мин. после входа на хаб. Лично тебе осталось ждать еще 3 мин. 1 сек.
Прикрепленные файлы
|
|
|
8.1.2011, 1:35
Сообщение
#2
|
|
Абсолютный новичок Группа: Пользователи Сообщений: 9 Регистрация: 13.8.2009 Пользователь №: 4 168 Спасибо сказали: 14 раз |
В голову пришла такая идейка, а что если сделать для юзера небольшую паузу после того как он зашел на хаб, например 10 минут, чтобы стал доступен чат.. Я думаю всякие задротам, которые игнорируют баны надоест ждать некоторое время...
Сам могу только подправить, дописать скрипты, но никак с нуля написать, что то подобное мне к сожалению не попалось на этом хорошем форуме.. Ну или какая нибудь хорошая подсказка мне нужна, типа как вычислить сессию каждого юзера.. или как вписать таймер... |
|
|
8.1.2011, 2:42
Сообщение
#3
|
|
Местный Группа: Неактивированные Сообщений: 908 Регистрация: 26.12.2008 Пользователь №: 1 574 Спасибо сказали: 1406 раз |
Примерно так:
Код tUsers = {}
function UserConnected(user) tUsers[user.sNick] = os.time() end RegConnected = UserConnected function UserDisconnected(user) tUsers[user.sNick] = nil end RegDisconnected = UserDisconnected function ChatArrival(user) if tUsers[user.sNick] and tUsers[user.sNick] > os.time()-600 then Core.SendToUser(user,"<"..SetMan.GetString(21).."> В данный момент Вы не можете отправлять сообщения в чат. Пожалуйста подождите.") return true end end |
|
|
8.1.2011, 3:10
Сообщение
#4
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
Эхх, тоже хотел кинуть, смотрю, тут уже успели сразу 2 помочь.
Ай, ладно, чтоб труд не пропал даром, тоже кину своё зёрнышко.. Код local iPause = 10*60 -- ожидание в секундах
local tWaitUsers = {} function UserConnected(tUser) tWaitUsers[tUser.sNick] = os.time(os.date("*t")) + iPause end RegConnected = UserConnected function UserDisconnected(tUser) tWaitUsers[tUser.sNick] = nil end RegDisconnected = UserDisconnected function ChatArrival(tUser, sData) if tWaitUsers[tUser.sNick] then if tWaitUsers[tUser.sNick] > os.time(os.date("*t")) then Core.SendToNick(tUser.sNick, "<"..SetMan.GetString(21).."> "..tUser.sNick..": Для общения в чате ещё не прошли "..tostring(iPause/60).." мин. с вашего захода на хаб! Погодите малость..") return true else tWaitUsers[tUser.sNick] = nil end end end |
|
|
8.1.2011, 3:11
Сообщение
#5
|
|
Абсолютный новичок Группа: Пользователи Сообщений: 9 Регистрация: 13.8.2009 Пользователь №: 4 168 Спасибо сказали: 14 раз |
Эхх, тоже хотел кинуть, смотрю, тут уже успели сразу 2 помочь. Киданул бы, если есть уже готовый вариант Спасибо всем за ответ!!! |
|
|
8.1.2011, 15:36
Сообщение
#6
|
|
Освоившийся участник Группа: Пользователи Сообщений: 276 Регистрация: 23.3.2010 Из: РФ Смоленск Пользователь №: 6 429 Спасибо сказали: 60 раз |
А что идейка хорошая для анрегов, спс
|
|
|
9.1.2011, 19:14
Сообщение
#7
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
Кстати, любой из вышепредставленных скриптов, если убрать строки
Код RegConnected = UserConnected иКод RegDisconnected = UserDisconnected отличное средство против быстрого чата для нерегенных (а рекламщики, как правило, нерегенные) - достаточно просто увеличить срок паузы хотя бы до получаса.
|
|
|
10.1.2011, 15:57
Сообщение
#8
|
|
Главный ра******й тут... Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз |
Ksan, посмотри как это всё сделано в моем скрипте, и не надо обрабатывать вход/выход юзеров + гибкая настройка по профлям
|
|
|
10.1.2011, 16:07
Сообщение
#9
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
Nickolya, кстати, классное решение! Никогда не обращал внимание на эту переменную - iLoginTime, потому о нём даже не вспомнил..
|
|
|
17.3.2011, 15:04
Сообщение
#10
|
|
Наруто на аваторке Группа: Пользователи Сообщений: 2 606 Регистрация: 11.10.2008 Из: Харькова Пользователь №: 771 Спасибо сказали: 774 раза |
Название: ChatAfterLoginLocker
Версия: 1.1 Автор: Nickolya Описание: блокирует чат для заданных профилей на N-ное количество времени после входа на хаб. При входе сообщает время 'молчания', по истечению времени сообщает юзеру Цитата *** Ваше время ожидание истекло, можете общаться! ChatAfterLoginLocker_v1.1_byNickolya.lua ( 2.44 килобайт ) Кол-во скачиваний: 22 |
|
|
17.3.2011, 15:21
Сообщение
#11
|
|
Developer Группа: Модераторы Сообщений: 541 Регистрация: 11.11.2008 Пользователь №: 1 075 Спасибо сказали: 244 раза |
Артём, а не лучше сделать так:
Оставляем только функцию UserConnected, а ChatArrival и ToArrival убираем полностью. Вместо этого прописываем: Код ChatArrival = UserConnected ToArrival = UserConnected Зачем одно и то же для каждой функции делать? |
|
|
17.3.2011, 15:34
Сообщение
#12
|
|
Наруто на аваторке Группа: Пользователи Сообщений: 2 606 Регистрация: 11.10.2008 Из: Харькова Пользователь №: 771 Спасибо сказали: 774 раза |
Accelerator, вопросы к автору скрипта
|
|
|
17.3.2011, 15:44
Сообщение
#13
|
|
Главный ра******й тут... Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз |
Там же есть различность небольшая
UserConnected и ChatArrival одинаковы, а вот в ToArrival идет Код Core.SendPmToUser(tUser, sBot,
|
|
|
17.3.2011, 15:46
Сообщение
#14
|
|
Developer Группа: Модераторы Сообщений: 541 Регистрация: 11.11.2008 Пользователь №: 1 075 Спасибо сказали: 244 раза |
Не заметил
|
|
|
22.5.2011, 13:51
Сообщение
#15
|
|
Участник Группа: Пользователи Сообщений: 35 Регистрация: 13.11.2008 Из: Тульская обл Пользователь №: 1 082 Спасибо сказали: 0 раз |
Название: ChatAfterLoginLocker Версия: 1.0 Автор: Nickolya + в теме еще есть варианты скрипта от Ksan и alex82 Описание: блокирует чат для заданных профилей на N-ное количество времени после входа на хаб. Собственно весь конфиг скрипта: Код -- блокируемые профили и время их блокировки, в секундах: tLockProfiles = { [3] = 3*60, [-1] = 10*60, } При отправке сообщения в чат, юзер видит работу скрипта в следующем виде: а вот можно сделать переделать этот скрипт ,действовал для незарегистрированых плиззз |
|
|
22.5.2011, 14:20
Сообщение
#16
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
Master-Grow, а это для чего, как ты думаешь?
Цитата [-1] = 10*60, Если для регистренных не надо, то убери строку (или закомменти): Цитата [3] = 3*60,
|
|
|
22.5.2011, 17:27
Сообщение
#17
|
|
Участник Группа: Пользователи Сообщений: 35 Регистрация: 13.11.2008 Из: Тульская обл Пользователь №: 1 082 Спасибо сказали: 0 раз |
Master-Grow, а это для чего, как ты думаешь? Если для регистренных не надо, то убери строку (или закомменти): извени я том особ непонимаю вот и вспрашиваю убрал. хаб\0.4.1.2\scripts\ChatAfterLoginLocker_v1.0_byNickolya.lua:4: unexpected symbol near ']' да мож непоняли друг друга,уберать не получается,регистрируешься и всё равно просит подождать усё спасибо разгодал секрет)))))) |
|
|
|
Сейчас: 27.11.2024, 2:17 |