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

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

MyDC.ru _ Безопасность [PtokaX] _ Антибан Опов

Автор: Wariner 8.11.2008, 16:17

Название скрипта: Антибан ОПов
Версия скрипта: 1.1
Версия API: API2
Описание скрипта: не позволяет операторам банить, глушить а так же кикать друг друга!

 Антибан_ОПов.lua ( 1.44 килобайт ) : 276
 

Автор: M.a.r.s.e.l 8.11.2008, 17:31

Под API 1 очень хочется still_dreaming.gif

Автор: Setuper 8.11.2008, 17:40

API1 http://mydc.ru/topic605.html

Автор: serrrios 15.4.2009, 6:18

Отличный скрипт, а можно еще добавить ф-ию обхода ограничений на бан/кик админам?

Автор: Wariner 15.4.2009, 18:44

скрипт перезалил! добавил возможность определённым никам банить и кикать!
вписывать их сюда:

Код
tSuperOP = {
    ["-=Wariner=-"] = 1,
}

будте аккуратнее не раздавайте эти права на права и налево!

Автор: FallenAngel 15.4.2009, 20:03

Странно, но тем не менее-банить может оп другого опа (меня только не может), которого я не заносил в список.. Может банить даже тех, кого занес в список....

Автор: serrrios 16.4.2009, 12:33

Цитата(Wariner @ 15.4.2009, 19:44) *
скрипт перезалил! добавил возможность определённым никам банить и кикать!
вписывать их сюда:
Код
tSuperOP = {
    ["-=Wariner=-"] = 1,
}

будте аккуратнее не раздавайте эти права на права и налево!

Спасибо, сейчас проверю =)

Цитата(FallenAngel @ 15.4.2009, 21:03) *
Странно, но тем не менее-банить может оп другого опа (меня только не может), которого я не заносил в список.. Может банить даже тех, кого занес в список....

Возможно не все банющии команды прописанны в базе скрипта, те какой-то бот использует свои команды бана и их нету в базе..
Добавлять команнды сюда:
Код
Comands = {    
    ["ban"] = 1,
    ["banip"] = 1,
    ["fullban"] = 1,
    ["fullbanip"] = 1,
    ["nickban"] = 1,
    ["tempban"] = 1,
    ["tempbanip"] = 1,
    ["fulltempban"] = 1,
    ["fulltempbanip"] = 1,
    ["nicktempban"] = 1,
    ["gag"] = 1,
    ["drop"] = 1,
}

Я пользую протектора, к нему надо добавить в ту таблицу:
Код
    ["banuser"] = 1,
    ["gaguser"] = 1,

Автор: FallenAngel 16.4.2009, 18:27

Есть 2 человека... 2 Опа- ОП1 и ОП2.. ОП1 прописан в скрипте везде как только возможно.. Он может спокойно дропать и гагить ОП2, что в принципе так и должно быть... Но при этом и ОП2, которого НЕ заносили в таблицу может и дропать и гагить ОП1.... Вот в чем суть...

Автор: Wariner 16.4.2009, 19:07

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

Автор: serrrios 17.4.2009, 5:18

Еще надо скрипт в самый верх поднять, ну это по моему очивидно...

Автор: D-tox 5.5.2009, 8:51

Вот, сделал вариант этого скрипта, не требующий прописывания ников и IP. Профиль 0 ничем не ограничивает. Позволяет задавать профиль, на который будут действовать команды бана (в приведённом примере VIPы защищены от бана, кроме гэга). Полный бан по IP опам отключил, ибо нефик. Простой бан по IP не отключал, у ОПов и ВИпов стоит пермшн "заходить с забаненных IP адресов".

CODE
sBotName = SetMan.GetString(21)

iKickLevel = 3

tBanCmds = {
["ban"] = 3,
["fullban"] = 3,
["nickban"] = 3,
["tempban"] = 3,
["fulltempban"] = 3,
["nicktempban"] = 3,
["gag"] = 2,
["drop"] = 3,
}

tDisallCmds = {
["fullbanip"] = 1,
["fulltempbanip"] = 1,
}

function KickArrival(tUser, sData)
local sData = string.sub(sData,1,-2)
local _,_,sNick = string.find(sData, "%p%S+%s(%S+)")
local tVictim = Core.GetUser(sNick)
if tVictim.iProfile < iKickLevel and tUser.iProfile > 0 then
Core.SendPmToNick(tUser.sNick, sBotName, "*** "..tUser.sNick..", вы не можете кикнуть "..sNick.."!!!" )
Core.SendToOps("<"..sBotName.."> *** "..tUser.sNick.." пытался кикнуть "..sNick)
return true
end
end

function ChatArrival(tUser,sData)
local sData = string.sub(sData,1,-2)
local _,_,msg = string.find(sData,"^%b<>%s(.*)$")
local _,_,cmd,sNick = string.find(msg,"^%s*%p(%S+)%s(%S+)")
if cmd and sNick then
cmd = cmd:lower()
if tUser.iProfile > 0 then
if tDisallCmds[cmd] == 1 then
Core.SendPmToNick(tUser.sNick, sBotName, "*** команда !"..cmd.." отключена владельцем хаба" )
return true
end
if tBanCmds[cmd] then
local tVictim = Core.GetUser(sNick)
if tVictim.iProfile < tBanCmds[cmd] then
Core.SendPmToNick(tUser.sNick, sBotName, "*** "..tUser.sNick..", вы не можете забанить "..sNick.."!!!" )
Core.SendToOps("<"..sBotName.."> *** "..tUser.sNick.." пытался забанить "..sNick..": \""..msg.."\"")
return true
end
end
end
end
end

Автор: Andrey_SHANDERA 20.2.2010, 13:46

А если у опера ип постоянно меняется, то достаточно только ника? Вообще зачем туда вбивать ещё и ип? Админа ип то же надо или нет? eyes_droped.gif

Автор: Wariner 20.2.2010, 15:57

тут или ник или ип хотя можно заполнять обе таблицы!