Версия для печати темы
MyDC.ru _ Запросы скриптов для PtokaX _ Дисконектер
Автор: denis 8.5.2010, 7:38
Можно набросать скриптик, типа:
Юзер конект
Видит сообщение (Например:Хаб на реконструкци)
Юзер дисконект
Зарание спасибо
Автор: Serx 8.5.2010, 9:02
Код
function ValidateNickArrival(tUser,data)
Core.SendToUser(tUser, "Хаб на реконструкции")
Core.Disconnect(tUser)
end
Автор: DrakonSP 8.5.2010, 10:49
Идея прикольная... А можно будет сделать ещё, что бы скрипт был включен всегда, но при подаче команды (например: +lock) уже не пускал юзеров и всех кто был на хабе рассоединял, и писал - "Хаб на реконструкции". И в обратную сторону +unlock
Так же будет хорошо сделать ники исключения
Автор: Setuper 8.5.2010, 10:53
Функция ValidateNickArrival не всегда может выполняться.
Поэтому такой дисконнект возможно обойти!
Автор: DrakonSP 8.5.2010, 12:12
Эм... а есть другой способ, более функциональный?
Автор: Ksan 8.5.2010, 12:23
Другой способ - только отключить Птоку.
А вот касательно первого способа - другой вариант скрипта пиши сам, можешь на уровне UserConnecned() вместо ValidateNickArrival(), тогда сможешь прилепить любую желаемую функцию.
Автор: denis 8.5.2010, 13:06
впринципе понял ещё один способ сделать такую "фишку".
Поставить ограничение на вход (например 50000000000000 TB) и написать в сообщение "Хаб на реконструкции".Вроде должно работать
Автор: Wariner 8.5.2010, 13:09
А зачем такой бред? ты часто реконструируешь? xDDDD
сделал всё на тестовом хабе отключил основу на пару минут, заменил и всего делов то)))
Автор: Saymon 8.5.2010, 13:09
Цитата
Поставить ограничение на вход (например 50000000000000 TB)
В скрипте? зачем? в птоке же есть максимальная шара.
И причём, врятли у кого будет настолько большая шара
Автор: Serx 8.5.2010, 13:12
Просто написал то что используется в 1 из скриптов которые стоят у меня.
Если прочитать Последовательность входа на хаб PtokaX вот http://mydc.ru/topic915.html, то видим выделенные красным цветом скриптовые функции, которые можно использовать в этом скрипте.
Автор: Drakula 8.5.2010, 16:36
Цитата(Serx @ 8.5.2010, 9:02)
Код
function ValidateNickArrival(tUser,data)
Core.SendToUser(tUser, "Хаб на реконструкции")
Core.Disconnect(tUser)
end
Вы случаем не подскажите как сделать ники исключения, которые смогут зайти на хаб, когда он будет на реконструкции???
Автор: Serx 8.5.2010, 19:04
Код
function ValidateNickArrival(tUser,data)
for i = 1, #ExNicks do
if not tUser.sNick == ExNicks[i] then
Core.SendToUser(tUser, "Хаб на реконструкции")
Core.Disconnect(tUser)
end
end
end
ExNicks = {"ник1","ник2",}
вот как-то так
Автор: Drakula 8.5.2010, 19:17
Пускает всех..=(
Автор: Ksan 8.5.2010, 20:58
Вот это:
Код
tUser.sNick == ExNicks[i]
заключи в скобки:
Код
(tUser.sNick == ExNicks[i])
Автор: Setuper 8.5.2010, 21:13
Правильнее написать так:
Код
function ValidateNickArrival(tUser,data)
Core.SendToUser(tUser, "Хаб на реконструкции")
Core.Disconnect(tUser)
end
UserConnected, RegConnected = ValidateNickArrival, ValidateNickArrival
Последовательности входов могут быть разными.
См.
Вход на хаб при поддержке характеристики QuickList. Птоха поддерживает эту характеристику. И при такой последовательности валидация ника отсутствует!
Автор: Serx 9.5.2010, 8:21
значит в конечном итоге так:
Код
ExNicks = {"ник1","ник2",}
function ValidateNickArrival(tUser,data)
for i = 1, #ExNicks do
if not (tUser.sNick == ExNicks[i]) then
Core.SendToUser(tUser, "Хаб на реконструкции")
Core.Disconnect(tUser)
end
end
end
UserConnected, RegConnected = ValidateNickArrival, ValidateNickArrival
исправлено.
спасибо Setuper и Ksan
Автор: Drakula 9.5.2010, 10:10
Как не странно этот код работает:
Код
function ValidateNickArrival(tUser,data)
Core.SendToUser(tUser, "Хаб на реконструкции")
Core.Disconnect(tUser)
end
А при добавление ника оно всех пускает, записан ник или нет.
Код
ExNicks = {"ник1","ник2",}
function ValidateNickArrival(tUser,data)
for i = 1, #ExNicks do
if (not tUser.sNick == ExNicks[i]) then
Core.SendToUser(tUser, "Хаб на реконструкции")
Core.Disconnect(tUser)
end
end
end
UserConnected, RegConnected = ValidateNickArrival, ValidateNickArrival
И остальные выше показанные коды с добавлением ника также пускают юзеров..
Автор: Wariner 9.5.2010, 10:17
Код
local tExNicks = {
["ник1"] = true,
["ник2"] = true,
}
function ValidateNickArrival(tUser,data)
if not tExNicks[tUser.sNick] then
Core.SendToUser(tUser, "Хаб на реконструкции")
Core.Disconnect(tUser)
end
end
UserConnected, RegConnected = ValidateNickArrival, ValidateNickArrival
как то так)))
Автор: Ksan 9.5.2010, 11:24
Цитата(Serx @ 9.5.2010, 11:21)
значит в конечном итоге так:
Код
ExNicks = {"ник1","ник2",}
function ValidateNickArrival(tUser,data)
for i = 1, #ExNicks do
if (not tUser.sNick == ExNicks[i]) then
Core.SendToUser(tUser, "Хаб на реконструкции")
Core.Disconnect(tUser)
end
end
end
UserConnected, RegConnected = ValidateNickArrival, ValidateNickArrival
спасибо Setuper и Ksan
Ты опять путаешь людей.. :(
Надо вот так:
Код
if not (tUser.sNick == ExNicks[i]) then
Будь внимательнее, плиз! NOT вне скобок!
Автор: Drakula 9.5.2010, 11:32
Ура заработало!!!!!!
Огромное спасибо: Wariner, Setuper, Ksan!!!! За помощь.
А так же и Serx!
Автор: Setuper 9.5.2010, 12:45
Кстати, лучше писать так как написал Wariner. Когда можно обойтись без циклов, лучше обходится без них
Автор: Drakula 9.5.2010, 12:53
Ой и тебе спасибо.... я вас с Wariner-ром путаю. вот поэтому и пропустил=)