Скрипт Банов И Киков |
Здравствуйте, гость ( Вход | Регистрация )
Скрипт Банов И Киков |
9.1.2009, 20:11
Сообщение
#1
|
|
Developer Группа: Модераторы Сообщений: 541 Регистрация: 11.11.2008 Пользователь №: 1 075 Спасибо сказали: 244 раза |
Заметил недавно что в PtokaX нету функции показа бана или кика другим пользователям, кроме ОПераторам и Администраторам хаба
Когда банишь или кикаешь, обычный или зарегистрированный пользователь не видит бана, бан видит только администратор или ОПератор( Цитата [22:09:28] <Security> *** test с IP: 10.2.136.203 был временно забанен , пользователем STRELOK на: 1 мин потому, что: test. это ссобщение увидит только администратор или оператор хаба( Составьте плиз скрипт, чтобы сообщения бана или кика было видно всем пользователям:( |
|
|
10.1.2009, 19:11
Сообщение
#2
|
|
Developer Группа: Модераторы Сообщений: 541 Регистрация: 11.11.2008 Пользователь №: 1 075 Спасибо сказали: 244 раза |
Вот, немного попытался сам, не работает((
Код function ChatArrival(user,sData) Core.GetUserAllData(user) if BanMan.Ban Core.SendToAll("<"..user.sNick.."> забанил "..user.nme.." (IP: "..user.sIP..") потому, что: "..sReason.."") end if BanMan.TempBan Core.SendToAll("<"..user.sNick.."> забанил "..user.nme.." (IP: "..user.sIP..") следующие "..BanTime.." потому, что: "..sReason.."") end function KickArrival(tUser, sData) Core.SendToAll("<"..user.sNick.."> кикнул "..user.nme.." (IP: "..user.sIP..") потому, что: "..sReason.."") end end помогите пожалуйста... Скрипт API2 PtokaX 0.4.1.1 |
|
|
10.1.2009, 20:24
Сообщение
#3
|
|
Наруто на аваторке Группа: Пользователи Сообщений: 2 606 Регистрация: 11.10.2008 Из: Харькова Пользователь №: 771 Спасибо сказали: 774 раза |
А смысл показовать юзерам?может ты забанешь нарушителяс причиной ...Реклама хаба...
и IP и ве сразу полезут туда... |
|
|
10.1.2009, 20:36
Сообщение
#4
|
|
Самый главный активист :-D Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз |
BanMan.Ban, BanMan.TempBan - это функции для бана из скрипта, а тебе нужно выловить команды хаба поэтому и не получается.
посмотри скрипт и сделай по аналогии к остальным командам
Прикрепленные файлы
|
|
|
10.1.2009, 20:53
Сообщение
#5
|
|
Developer Группа: Модераторы Сообщений: 541 Регистрация: 11.11.2008 Пользователь №: 1 075 Спасибо сказали: 244 раза |
А смысл показовать юзерам?может ты забанешь нарушителяс причиной ...Реклама хаба... и IP и ве сразу полезут туда... Полезут, но от силы человека 2=). Причина не такая, причина спам, а показывать бан для того, чтобы другие не спамили больше. Раньше юзал YnHub, там баны показывались, перешёл на птоку, баны не показываются, спама всё больше, и банов тоже |
|
|
10.1.2009, 20:54
Сообщение
#6
|
|
Наруто на аваторке Группа: Пользователи Сообщений: 2 606 Регистрация: 11.10.2008 Из: Харькова Пользователь №: 771 Спасибо сказали: 774 раза |
|
|
|
10.1.2009, 21:14
Сообщение
#7
|
|
Developer Группа: Модераторы Сообщений: 541 Регистрация: 11.11.2008 Пользователь №: 1 075 Спасибо сказали: 244 раза |
посмотри скрипт и сделай по аналогии к остальным командам за скрипт огромное спасибо, работает! Но есть пара вопросов: Какую команду в скрипте надо прописать, чтобы показывало IP забаненного юзера? Какую команду надо прописать в скрипте, чтобы показывало время бана? антирекламу поставь антиреклама на хабе есть, но умудряются писчать не ссылкой dchub:// а просто, типо, заходите на хаб |
|
|
10.1.2009, 21:25
Сообщение
#8
|
|
Наруто на аваторке Группа: Пользователи Сообщений: 2 606 Регистрация: 11.10.2008 Из: Харькова Пользователь №: 771 Спасибо сказали: 774 раза |
|
|
|
10.1.2009, 21:38
Сообщение
#9
|
|
Developer Группа: Модераторы Сообщений: 541 Регистрация: 11.11.2008 Пользователь №: 1 075 Спасибо сказали: 244 раза |
|
|
|
10.1.2009, 21:38
Сообщение
#10
|
|
Самый главный активист :-D Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз |
|
|
|
10.1.2009, 22:09
Сообщение
#11
|
|
Developer Группа: Модераторы Сообщений: 541 Регистрация: 11.11.2008 Пользователь №: 1 075 Спасибо сказали: 244 раза |
Когда банишь по нику чтоб ип высвечивался? Если да то смыл ли всего этого?! Да, чтоб IP высветился, пробую "..user.sIP..", скрипт вообще не работает после этого( Банить та я не только за рекламу буду, а например за угрозы, флуд, мат и тд. На всех хабах при бане показывается IP юзера и ещё, есть проблема с временным баном, делаю всё по аналогу, который дал Wariner, текст не отображается всем юзерам(( PS: я не профессионал по скриптам lua, я могу только подправить какой то скрипт под себя |
|
|
10.1.2009, 22:13
Сообщение
#12
|
|
Самый главный активист :-D Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз |
синтаксис команды бан: ban <ник> <причина>
т.е. если ты хочешь чтоб был показывало ип надо проверять есть ли пользователь на хабе или нет и только если он есть ты можешь получить ип. А вообще лучше не накручивать этой фигни! Есть синтаксис команды и делай по нему ничего не придумывая! На всякий случай команды можно посмотреть командой !help смнтаксис тембана: tempban <ник> <время> <причина>, т.е. в скрипте надо добавить поиск ещё одного слова! Читай вот это http://mydc.ru/topic266.html |
|
|
11.1.2009, 8:34
Сообщение
#13
|
|
Developer Группа: Модераторы Сообщений: 541 Регистрация: 11.11.2008 Пользователь №: 1 075 Спасибо сказали: 244 раза |
Вот составил, но что то работает неправильно( Скрипт не работает(, поправьте меня если что не так
Код sBot = SetMan.GetString(21)
tProfile = { [0] = 1, [1] = 1, } function ChatArrival(tUser,sData) sData = string.sub(sData,1,-2) local _,_,cmd = string.find(sData, "%b<>%s+(%S+)") if cmd == "!ban" then if tProfile[tUser.iProfile] == 1 then local _,_,sNick = string.find(sData, "%b<>%s+%S+%s+(%S+)") local _,_,sIP = string.find(sData, "(%d*%.%d*%.%d*%.%d*)") local _,_,sReason = string.find(sData, "%b<>%s+%S+%s+%S+%s+(%S+)") if not sNick then Core.SendToUser(tUser, sData) Core.SendToUser(tUser,"<"..sBot.."> Вы не ввели ник!") return true end if not sReason then sReason = "не указанна" end Core.SendToAll("<"..tUser.sNick.."> забанил "..sNick.." (IP: "..sIP..") потому, что: "..sReason) end end if cmd == "!tempban" then if tProfile[tUser.iProfile] == 1 then local _,_,sNick = string.find(sData, "%b<>%s+%S+%s+(%S+)") local _,_,sIP = string.find(sData, "(%d*%.%d*%.%d*%.%d*)") local _,_,BanTime = string.find(sData, "%b<>%s+%S+%s+%S+%s") local _,_,sReason = string.find(sData, "%b<>%s+%S+%s+%S+%s+(%S+)") if not sNick then Core.SendToUser(tUser, sData) Core.SendToUser(tUser,"<"..sBot.."> Вы не ввели ник!") return true end if not BanTime then Core.SendToUser(tUser, sData) Core.SendToUser(tUser,"<"..sBot.."> Вы не ввели время бана!") return true end if not sReason then sReason = "не указанна" end Core.SendToAll("<"..tUser.sNick.."> забанил "..sNick.." (IP: "..sIP..") следующие "..BanTime.." потому, что: "..sReason) end end end function KickArrival(tUser, sData) sData = string.sub(sData,1,-2) local _,_,sNick = string.find(sData, "$Kick%s+(%S+)") local _,_,sIP = string.find(sData, "(%d*%.%d*%.%d*%.%d*)") local _,_,sReason = string.find(sData, "$Kick%s+%S+%s+(%S+)") if not sReason then sReason = "не указанна" end Core.SendToAll("<"..tUser.sNick.."> кикнул "..sNick.." (IP: "..sIP..") потому, что: "..sReason) end |
|
|
11.1.2009, 17:24
Сообщение
#14
|
|
Самый главный активист :-D Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз |
строчка
Код Core.SendToUser(tUser, sData) лишняя. Код local _,_,sReason = string.find(sData, "%b<>%s+%S+%s+%S+%s+(.*)") это мои касеки извиняюсь А по делу так: ты просто не понимаешь что делаешь поэтому у тебя не получается. Вот представь ты через меню вводишь команду темпбана после чего в чат попадает следующее !tempban Вася 1h Реклама хаба. первым действием мы находим первое слово(т.е. команду): Код local _,_,cmd = string.find(sData, "%b<>%s+(%S+)") Чтобы понять как находим внимательно(а может и не один раз) прочитай это http://mydc.ru/topic266.html Затем мы находим остальные слова. Тут то и возникает вопрос зачем ты ищешь IP если ты его не вводил?! Код if cmd == "!tempban" then
if tProfile[tUser.iProfile] == 1 then local _,_,sNick = string.find(sData, "%b<>%s+%S+%s+(%S+)") local _,_,BanTime = string.find(sData, "%b<>%s+%S+%s+%S+%s+(%S+)") local _,_,sReason = string.find(sData, "%b<>%s+%S+%s+%S+%s+%S+%s+(.*)") |
|
|
11.1.2009, 17:30
Сообщение
#15
|
|
Developer Группа: Модераторы Сообщений: 541 Регистрация: 11.11.2008 Пользователь №: 1 075 Спасибо сказали: 244 раза |
А по делу так: ты просто не понимаешь что делаешь поэтому у тебя не получается. Я просто мало разбираюсь в таких кодах, я понимаю лёгкие строчки, типо: Код Core.SendToAll if Cmd я читал темку, немного не понял, перечитаю ещё раз А вообще можно будет сделать этот скрипт так, чтобы IP перехватывался и показывался всем? |
|
|
11.1.2009, 17:53
Сообщение
#16
|
|
Самый главный активист :-D Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз |
можно в двух случаях если банишь по ип и если пользователь онлайн. Вот код для второго случая
Код User = Core.GetOnlineUsers()
for i,v in pairs(Users) do if v.sNiick == sNick then sIP = v.sIP end end |
|
|
11.1.2009, 18:03
Сообщение
#17
|
|
Developer Группа: Модераторы Сообщений: 541 Регистрация: 11.11.2008 Пользователь №: 1 075 Спасибо сказали: 244 раза |
банишь если пользователь онлайн. Пользователи с хаба никуда не денутся, если пользователь оффлайн, мой DC клиент показывает его айпи, и я просто добавляю бан через окон PtokaX. Хаб из интернета не доступен, он работает только в сети ООО "Факториал-Интернет". Поэтому если пользователь нарушил какое либо правило хаба, с хаба он не уходит, а спокойно ожидает бана, а некоторое даже просят, чтобы их забанили. Баню всегда командой !tempban. Вот я и спрашиваю, можно ли как-нибудь сделать так, чтобы этот скрипт выдавал сообщение бана всем, но при этом показывал IP забаненного юзера? |
|
|
11.1.2009, 18:27
Сообщение
#18
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Код local _,_,BanTime = string.find(sData, "%b<>%s+%S+%s+%S+%s") Где захват времени?Нужно писать так: Код local _,_,BanTime = string.find(sData, "%b<>%s+%S+%s+(%S+)")
|
|
|
11.1.2009, 18:36
Сообщение
#19
|
|
Самый главный активист :-D Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз |
|
|
|
11.1.2009, 18:39
Сообщение
#20
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
просто если использовать бан через ptokax, а не через команду, сообщение о бане не может никаким образом появиться)))
|
|
|
Похожие темы
|
Сейчас: 26.11.2024, 23:16 |