Untouchables, Disconnect, Unreg By Kick|ban, API1 | Три простых скрипта |
Здравствуйте, гость ( Вход | Регистрация )
Untouchables, Disconnect, Unreg By Kick|ban, API1 | Три простых скрипта |
8.11.2008, 6:53
Сообщение
#1
|
|
Постоялец Группа: Пользователи Сообщений: 454 Регистрация: 17.10.2008 Из: Новосибирск Пользователь №: 825 Спасибо сказали: 90 раз |
Решил выложить три простых скрипта для PtokaX 0.3.6.0 (у меня работают под LUA 5.1.2) как первый свой опыт в скриптописании. Буду благодарен за замечания и предложения.
Привожу в последовательности исполнения, в какой стоят у меня. UNTOUCHABLES (стоит почти в самом верху списка) Скрипт подстраховки от случайных действий оператора: защищенные ники, которые нельзя забанить, плюс дополнительно выбор профиля, к примеру, "VIP", который в принципе забанить нельзя. Буду благодарен, если кто подскажет, как добавить защиту от кика ($Kick) DISCONNECT Иногда бывает нужно, чтобы юзер просто переподключился на хаб, а до него не докричаться. За основу взят классический пример использования глобальной функции GetItemByName(Nick), взятый вот У меня стоит где-то посередине списка, перед основным хаб-скриптом (у меня это основательно переработанный Thunder) UNREG BY BAN(стоит в самом конце списка) Скрипт автоматически удаляет регистрацию забаненного пользователя, для поддержания в чистоте списка зарегистрированных. Список команд, на которые реагирует скрипт, корректируется под политику конкретного администратора. ---------------------------------------------------------------------------------------------------------- !UPDATED - см.ниже
Прикрепленные файлы
Untouchables.lua ( 1.15 килобайт )
Кол-во скачиваний: 79
Disconnect.lua ( 1.18 килобайт ) Кол-во скачиваний: 115 UnregByBan.lua ( 1.1 килобайт ) Кол-во скачиваний: 81 |
|
|
8.11.2008, 10:26
Сообщение
#2
|
|
[n00b] Группа: Пользователи Сообщений: 291 Регистрация: 10.7.2008 Из: Россия,Пенза Пользователь №: 168 Спасибо сказали: 24 раза |
Скрипты действвельно заслуживают внимания... Я по поводу поседнего-можно сдеать так,чтоб удалялась регистрация не когда ОП(или Админ) забанит, а когда человек сам себя-то есть после не правильного ввода пароля...(желательно именно после ввода пароля,ибо тут выкладывали скрипт самокика-после этого действия то не надо удалять регу)
ЗЫ_спасибо большое если сможешь написать!;) |
|
|
8.11.2008, 12:12
Сообщение
#3
|
|
Продвинутый участник Группа: Пользователи Сообщений: 177 Регистрация: 20.5.2008 Пользователь №: 5 Спасибо сказали: 26 раз |
Скрипты действвельно заслуживают внимания... Я по поводу поседнего-можно сдеать так,чтоб удалялась регистрация не когда ОП(или Админ) забанит, а когда человек сам себя-то есть после не правильного ввода пароля...(желательно именно после ввода пароля,ибо тут выкладывали скрипт самокика-после этого действия то не надо удалять регу) кто-нить зайдет под чужим ником, три раза введет не правильный пароль, пароль сбросится и можно снова регить этот ник. Какой тогда будет смысл от регистрации??ЗЫ_спасибо большое если сможешь написать!;) to District: спасибо, попробую |
|
|
8.11.2008, 13:01
Сообщение
#4
|
|
Постоялец Группа: Пользователи Сообщений: 454 Регистрация: 17.10.2008 Из: Новосибирск Пользователь №: 825 Спасибо сказали: 90 раз |
Ммм, как сделать так, чтобы скрипт лазил в BanList.xml, сравнивал его содержимое с RegisteredUsers.xml, условием этого сравнения было бы вот это:
Цитата <Reason>3x bad password for nick <nick></Reason> а потом менял содержимое в RegisteredUsers.xml - тут, что называется, могу только "развести руками". Тонкость еще и в том, что за троекратный неправильный пароль Птока банит по IP, а не по нику, по крайней мере, у меня так. Это ставит под сомнение сам смысл удаления зарегистрированного ника. А о том, может ли в принципе скрипт генерировать встроенную команду Птоки, подлежащую выполнению Птокой так же, как если бы команда была подана от админ-клиента, я и сам надеюсь услышать тут ответ, от знающих людей. |
|
|
8.11.2008, 16:19
Сообщение
#5
|
|
Самый главный активист :-D Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз |
как добавить защиту от кика ($Kick) Посмотри вот этот скрипт http://mydc.ru/topic568.html в нём использована функция Код KickArrival(tUser, sData) и этим решена проблема)))
|
|
|
8.11.2008, 17:39
Сообщение
#6
|
|
Постоялец Группа: Пользователи Сообщений: 454 Регистрация: 17.10.2008 Из: Новосибирск Пользователь №: 825 Спасибо сказали: 90 раз |
Wariner
Цитата и этим решена проблема))) О, спасибо)))) Так и знал, что решение на поверхности, но за неделю активного вникания в тему глаз настолько замылился, что и очевидные ивенты API уже узреть не смог ))))) --------------------------------------------------------------------------------------------- Благодаря подсказке, скрипт доведен до ума. Запрещенные в отношении "неприкасаемых" команды вынесены в таблицу, в таблицу же вынесены неприкасаемые профили. Добавлена защита от Кика. Отдельно приписана команда, используемая в скрипте Hostbans - +nickhostban, а сам скрипт Hostbans расположен в списке непосредственно следом за Untouchables. Немного изменен (тоже добавлена таблица действующих команд) и скрипт UnregByBan
Прикрепленные файлы
UnregByBan_.lua ( 1.14 килобайт )
Кол-во скачиваний: 28
Untouchables_.lua ( 2.45 килобайт ) Кол-во скачиваний: 34 |
|
|
7.1.2009, 11:02
Сообщение
#7
|
|
Абсолютный новичок Группа: Пользователи Сообщений: 8 Регистрация: 26.12.2008 Пользователь №: 1 569 Спасибо сказали: 0 раз |
под апи2 забацайте=) птока 0.4.1.1
мне нужен только DISCONNECT =) |
|
|
23.1.2009, 16:40
Сообщение
#8
|
|
Абсолютный новичок Группа: Пользователи Сообщений: 2 Регистрация: 18.1.2009 Пользователь №: 1 854 Спасибо сказали: 0 раз |
Untouchables.lua - Благодаря подсказке, скрипт доведен до ума. Что-то я не пойму как он доведен до ума? вот этот код мне не даёт покоя: Код function KickArrival(user,data) data=string.sub(data,1,string.len(data)-1) _,_,nick = string.find( data, "%p%S+%s(%S+)") if nick then if Untouchable[nick] == 1 then user:SendData(Bot, "*** Пользователь "..nick.." в списке неприкасаемых, команда не может быть применена! ") return 1 end end end только вот я непойму, как же он защищает от кика??? командой return 1 ??? :-) На собственном опыте проверено: это ни как не защищает. Может быть кто-нибудь мне объяснит??? где тут защита, ведь функция возвращает 1, т.е. получается он выполнила своё предназначение? или как? под апи2 забацайте=) птока 0.4.1.1 мне нужен только DISCONNECT =) тебе всё еще нужен для птоки 0.4.1.1? вот на скорую руку сделал - в теории должно работать :-) (как тут выкладывать файл не знаю, поэтому выкладываю код) Код Bot = SetMan.GetString(21)
-- или можно так -- Bot = SetMan.GetHubBot() OpConnected = function(user, data) Core.SendToUser (user, "$UserCommand 1 3 Дисконнект\\Дисконнект этого юзера$<%[mynick]> !disc %[nick]|") end function ChatArrival (user, data) data = string.sub (data,1,string.len(data)-1) local _,_,cmd = string.find (data, "%b<>%s+(%S+)") if cmd == "!disc" then if user.bOperator then local _,_,nick = string.find (data, "%b<>%s+%S+%s+(%S+)") if nick then local usr = Core.GetUser (nick) -- get the object if usr then -- if online Core.SendToOps ('<'..Bot.sNick..'> *** Юзер '..nick..' был отключен. Отключил: '..RegMan.GetRegsByProfile (user.iProfile)..' '..user.sNick..'.') Core.Disconnect (usr) else Core.SendToUser(user, '<'..Bot.sNick..'> *** Юзер '..nick..' не на хабе.') end end else Core.SendToUser(user, '<'..Bot.sNick..'> *** Извините, у вас нет права использовать эту команду.') end return true end end
Прикрепленные файлы
|
|
|
23.1.2009, 19:15
Сообщение
#9
|
|
Освоившийся участник Группа: Администраторы Сообщений: 344 Регистрация: 2.6.2008 Из: RB,Ufa Пользователь №: 8 Спасибо сказали: 106 раз |
2 xReal
KickArrival(tUser, sData) - Incoming kick command from user. If script return true hub don't process data. см. пост свята http://mydc.ru/topic118.html?hl=%F4%F3%ED%EA%F6%E8%E8+PtokaX CODE function KickArrival(tUser, sData) local sData = sData:sub(1,-2) local _,_,sNick = sData:find("$Kick%s+(%S+)") if sNick == "Jaska" then Core.SendToUser(tUser,"Нельзя!") return true end end проверь на 0.4.1 и на забудь ник сменить) |
|
|
23.1.2009, 19:39
Сообщение
#10
|
|
Абсолютный новичок Группа: Пользователи Сообщений: 2 Регистрация: 18.1.2009 Пользователь №: 1 854 Спасибо сказали: 0 раз |
2 xReal If script return true hub don't process data. Это круто! Спасибо за указание :-) Видимо не углядел :-) НО! Всё же! у меня такой скрипт (с вышесказанным "исправлением". т.е. если тру - то не выполняет кик) работает на 0.4.1.1 и толку 50 на 50, т.е. админов такая комбинация защищает, но простых пользователей нет. вот я и спросил. в общем будем всё пробовать. спасибо за подсказку :-) |
|
|
23.1.2009, 21:08
Сообщение
#11
|
|
Освоившийся участник Группа: Администраторы Сообщений: 344 Регистрация: 2.6.2008 Из: RB,Ufa Пользователь №: 8 Спасибо сказали: 106 раз |
2 xReal
Твоя переделка disconnect.lua отказалась работать. Вообщем выкладываю свою версию disconnect.lua, не удержался кое что добавил: 1) проверка прав по профилям 2) права можно выдать VIP (по нику или ip) вне зависимости от профиля. VIP будет иметь права выкидывать всех при этом его самого выкинуть нельзя. 3) кое какие моменты подправил (чтобы какой-нить оп не мог выкинуть мастера) disconnect.lua ( 1.95 килобайт ) Кол-во скачиваний: 24 |
|
|
24.5.2009, 10:40
Сообщение
#12
|
|
Активный участник Группа: Пользователи Сообщений: 55 Регистрация: 2.4.2009 Из: Питер Пользователь №: 2 893 Спасибо сказали: 3 раза |
странное дело одного дисконнектит юзера а другого нет(
|
|
|
24.5.2009, 11:59
Сообщение
#13
|
|
Постоялец Группа: Пользователи Сообщений: 454 Регистрация: 17.10.2008 Из: Новосибирск Пользователь №: 825 Спасибо сказали: 90 раз |
Вот не думал что такие ископаемые скриптики еще кого-то интересуют и тема еще жива ))
По поводу кика : настолько геморройная штука, что каждый раз проклинаешь того, кто ее вообще придумал, когда приходится иметь с ней дело в кодах Дело вот в чем: чтобы полностью блокировать кик, блокировать его нужно в трех функциях-событиях : KickArrival (непостредственно кик), ChatArrival (сообщение всем о прошедшем кике, с указанием причины) и ToArrival ( личка кикнутому, что его-де кикнули, и за что именно). На то и kick в event'ах, чтобы кодер не дремал... |
|
|
24.5.2009, 13:08
Сообщение
#14
|
|
Активный участник Группа: Пользователи Сообщений: 55 Регистрация: 2.4.2009 Из: Питер Пользователь №: 2 893 Спасибо сказали: 3 раза |
может напишешь скриптик без косяков для 0411 ? )
|
|
|
24.5.2009, 16:05
Сообщение
#15
|
|
Постоялец Группа: Пользователи Сообщений: 454 Регистрация: 17.10.2008 Из: Новосибирск Пользователь №: 825 Спасибо сказали: 90 раз |
Такую простую вещь, как скриптик, основанный на одной-единственной стандартной функции, любой уважающий себя админ ПтокаХ-хаба должен уметь писать сам. Пытайся, пиши, пробуй - тем более что есть от чего отталкиваться, код нужно только поправить. В совсем затруднительных случаях - не стесняйся задавать конкретные, сформулированные вопросы, форум тут добротный, помогут.
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последнее сообщение | |
---|---|---|---|---|---|
Unreg Как настраивать профиль незарегенных юзеров ? |
6 | Санёк | 11 220 | 23.2.2013, 10:30 Посл. сообщение: Артём | |
вопрос kick? | 3 | g3sg1 | 7 091 | 13.12.2010, 14:30 Посл. сообщение: HackFresse | |
Download Blocker Unreg VerliHub |
0 | Артём | 4 720 | 5.8.2010, 16:33 Посл. сообщение: Артём | |
anti-kick.lua Анти массовый кик |
3 | Vizunchik | 7 800 | 5.8.2010, 15:34 Посл. сообщение: Nickolya | |
Vote To Kick Eximius |
0 | Артём | 4 893 | 5.7.2010, 23:46 Посл. сообщение: Артём | |
Disconnect | 3 | yaDroLLL | 6 095 | 4.6.2009, 17:49 Посл. сообщение: alex82 | |
Скрипт Отправки Сообщений В Оффлайн И Голосование За Kick Юзера API2 |
4 | =Quadro= | 10 259 | 19.1.2009, 23:37 Посл. сообщение: Артём | |
Kick&topcontrol И Оповеститель API2 |
4 | yMka | 7 855 | 2.12.2008, 11:41 Посл. сообщение: Setuper | |
Vip-kick Не могу переделать меню! |
10 | Andrey_SHANDERA | 15 522 | 29.10.2008, 23:27 Посл. сообщение: Артём |
|
Сейчас: 23.11.2024, 13:25 |