--------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------- -- Данный скрипт взят с сайта http://lua.uknnet.com/ -- Оптимизировал и протестировал для русско-язычных хабов: -- NRJ ( nrj@labo.ru ) -- -- -- Любые боты и скрипты - поддержка/обновления/новинки: -- 1) http://dc.hovel.ru/ -- 2) http://forum.proc.ru/index.php?showforum=24 -- --------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------- Bot = "Vip_vote_kick" -- ник бота cAmountKick = 1 -- сколько нужно голосов, чтобы кикнуть юзера tToBeKicked = {} -- кол-во голосов (не трогаем) tKickers = {} -- уверенность в том, что VIP не проголосует дважды function Main() frmHub:GetHubBotName() end function KickArrival(user, victum) if victum == "" then return "Укажите ник, за чей бан вы хотели бы проголосовать." else local victem = GetItemByName(victum) if victem ~= nil then if victem.iProfile == 3 or victem.iProfile == -1 then if tToBeKicked[victem.sName] then if tKickers[victem.sName][user.sName] then return "Вы уже проголосовали за кик "..victum.."!" else tToBeKicked[victem.sName] = tToBeKicked[victem.sName] + 1 if tToBeKicked[victem.sName] >= cAmountKick then tToBeKicked[victem.sName] = nil tKickers[victem.sName] = nil SendToAll(Bot, "Большиством VIP's пользователи проголосовали за кик "..victem.sName.."!|") victem:Kick("Большинство VIP'ов проголосовали за ваш кик!") return vic.." был кикнут!.." else tKickers[victem.sName][user.sName] = 1 return "Ваш голос за кик "..victum.." был учтен!" end end else tToBeKicked[victem.sName] = 1 if tKickers[victem.sName] == nil then tKickers[victem.sName] = {} end tKickers[victem.sName][user.sName] = 1 return "Ваш голос за кик "..victum.." был учтен!" end else return "Нельзя кикнуть VIP'a или ОПератора" end else return victum.." Этого пользователя нет на хабе! " end end end function ChatArrival(user, data) if user.iProfile == 2 then if(string.sub(data, 1, 4) == "$To:") then local s,e,whoTo = string.find(data,"$To:%s+(%S+)") if whoTo == Bot then data=string.sub(data,1,string.len(data)-1) local s,e,cmd = string.find(data, "%$%b<>%s+(%S+)") if cmd == "!vipkick" then local s,e,victum = string.find(data, "%$%b<>%s+%S+%s*(%S*)") user:SendData(Bot, DoKick(user, victum).."|") return 1 end end elseif( string.sub(data, 1, 1) == "<" ) then data=string.sub(data,1,string.len(data)-1) local s,e,cmd = string.find(data,"%b<>%s+(%S+)") if cmd == "!vipkick" then local s,e,victum = string.find(data, "%b<>%s+%S+%s*(%S*)") user:SendData(Bot, KickArrival(user, victum).."|") return 1 end end end end