The will make sure no one takes off those bans you want to keep on, not even owners can take it off.
on me:*:ban:#: {
if ($banmask !iswm $ial($me)) {
writeini -n bans.ini $chan $banmask 1
}
}
on me:*:unban:#: {
if ($readini(bans.ini,$chan,$banmask)) {
.remini bans.ini $chan $banmask
}
}
on !*:Unban:#: {
if ($readini(bans.ini,$chan,$banmask)) && ($nick($chan,$me,oh)) {
mode $chan +b $banmask
}
}
on me:*:join:#: {
mode $chan +b
.timer 1 2 banlock_build $chan
}
alias banlock_build {
var %x = 1, %y = $ibl($1,0)
while (%x <= %y) {
if ($ibl($1,%x).by == $me) writeini -n bans.ini $1 $+($1,.,$ibl($1,%x)) 1
inc %x
}
}
raw 367:*: halt
raw 368:*: halt
; ===========================================================
; For you who like a menu; here you go!
; ===========================================================
#banlock on
on me:*:ban:#: {
if ($banmask !iswm $ial($me)) {
writeini -n bans.ini $chan $banmask 1
}
}
on me:*:unban:#: {
if ($readini(bans.ini,$chan,$banmask)) {
.remini bans.ini $chan $banmask
}
}
on !*:Unban:#: {
if ($readini(bans.ini,$chan,$banmask)) && ($nick($chan,$me,oh)) {
mode $chan +b $banmask
}
}
#Banlock end
#banlock_jcheck on
on me:*:join:#: {
mode $chan +b
.timer 1 2 banlock_build $chan
}
alias banlock_build {
var %x = 1, %y = $ibl($1,0)
while (%x <= %y) {
if ($ibl($1,%x).by == $me) writeini -n bans.ini $1 $+($1,.,$ibl($1,%x)) 1
inc %x
}
}
raw 367:*: halt
raw 368:*: halt
#banlock_jcheck end
Menu * {
.Ban Lock
..Turn banlock $iif($group(#Banlock) == on,Off,On) : $iif($group(#Banlock) == on,disable,enable) #banlock
..-
..$iif($group(#banlock_jcheck) == on,Disable,Enable) Banlock join update: $iif($group(#banlock_jcheck) == on,.Disable,.Enable) #banlock_jcheck
}
; ===================================================
; Yoinxs version
; ===================================================
on me:*:join:#: {
mode $chan +b
.timer 1 2 banlock_build $chan
}
alias banlock_build {
var %x = 1
while (%x <= $ibl($1,0)) {
if ($ibl($1,%x).by == $me) hadd -m banlock $+($1,.,$ibl($1,%x))
inc %x
}
}
on me:*:ban:#: {
hadd -m banlock $+($chan,.,$banmask)
}
on me:*:unban:#: {
hdel -w banlock $+($chan,.,$banmask)
}
on !*:unban:#: {
if ($hfind(banlock,$+($chan,.,$banmask),w,1)) || ($hfind(banlock,$+($chan,.,$banmask),W,1)) {
if ($me isop $chan) || ($me ishop $chan) mode $chan +b $banmask
}
}
raw 367:*: halt
raw 368:*: halt
even though this script is almost a year old... but in some cases it might lead to an excess flood quit.. especially if there was many bans, and they got cleared all in a time by cs or someone.. like -bbbbbb !@ip1 !@ip2 !@ip3 !@ip4 !@ip5 !@ip6
the script will set them back 1 by 1.
+b !@ip1
+b !@ip2
etc..
how to fix this part of it, to reset all bans together (+bbbbbb !@ip1 !@ip2 !@ip3 !@ip4 !@ip5 !@ip6)
i've noticed something else.. when my nick is deopped and the ban is removed, and then opped my self, i need to re-set the ban because it wont do it after the deop..
it would be more than perfect if this small part was fixed..
thanks
ok.. i had another look now i finally finsihed watching Dark Knight,,, (good film btw)
yeah i see the add ban onban there. still a way around it though unless you have the owner access in channel
e nick!user@host
Exception ban – If someone matches this, they can join a channel even if they match an existing ban
nice script though and i gonna kick it off with a 5 rating