menu * { Gudhak Blacklist by Xklark:/blist } dialog blist { title "Gudhak Blacklist v0.2 BETA - by Xklark" size -1 -1 285 142 option dbu list 1, 181 4 102 114, size button "Delete", 2, 183 122 61 12 button "Clear All", 3, 246 122 37 12 edit "", 4, 35 14 139 11 box "Add to Blacklist", 5, 8 3 170 50 text "Host:", 6, 11 15 22 9, right edit "", 7, 35 26 139 11 text "Reason:", 8, 11 27 22 8, right button "Add", 9, 35 38 137 12 box "Global Ban", 10, 8 55 171 43 edit "", 12, 34 66 141 11 text "Host:", 11, 11 67 22 9, right button "Ban in all channels", 13, 35 79 138 12 text "Kick Counter:", 14, 3 133 35 10 edit "", 15, 35 132 29 10, disable } alias blist { /dialog -m blist blist } on *:dialog:blist:init:0: { set %b 1 while (%b <= $ini(blist.ini,Blacklist,0)) { did -a $dname 1 $ini(blist.ini,Blacklist,%b) inc %b 1 } unset %b did -a $dname 15 %kick.count } on *:dialog:blist:sclick:9: { if ($did($dname,4) == $null) { echo 4 $active [Blacklist] Please enter a host! halt } else { ;writeini -n blist.ini Hosts $calc($ini(blist.ini,Hosts,0)+1) $did($dname,4) writeini -n blist.ini Blacklist $did($dname,4) $iif($did($dname,7) == $null,No Reason,$did($dname,7)) did -a $dname 1 $did($dname,4) did -r $dname 7 did -r $dname 4 } } on *:dialog:blist:sclick:2: { if ($did($dname,1).seltext == $null) { echo 4 $active [Blacklist] Please select a blacklist entry to remove! halt } else { ;remini blist.ini Hosts $did($dname,1).sel remini blist.ini Blacklist $did($dname,1).seltext did -d $dname 1 $did($dname,1).sel } } on *:dialog:blist:sclick:3: { if ($input(Are you sure you want to clear the blacklist?,y,Confirm) == $true) { set %c 1 while (%c <= $did($dname,1).lines) { remini blist.ini Blacklist $did($dname,1,%c) inc %c } did -r $dname 1 %c } else { halt } } alias blistcheck { if ($readini(blist.ini,Blacklist,$address($1,1)) != $null) || ($readini(blist.ini,Blacklist,$address($1,2)) != $null) || ($readini(blist.ini,Blacklist,$address($1,3)) != $null) { return $true } else { return $null } } on *:join:#: { if ($blistcheck($nick) == $true) { if ($readini(blist.ini,Blacklist,$address($nick,1)) != $null) { echo 4 -a [Blacklist] User: $nick joined and banned for reason: $readini(blist.ini,Blacklist,$address($nick,1)) /mode $chan +b $address($nick,1) /kick $chan $nick [Blacklisted] $readini(blist.ini,Blacklist,$address($nick,1)) • %kick.count • } elseif ($readini(blist.ini,Blacklist,$address($nick,2)) != $null) { echo 4 -a [Blacklist] User: $nick joined and banned for reason: $readini(blist.ini,Blacklist,$address($nick,2)) /mode $chan +b $address($nick,2) /kick $chan $nick [Blacklisted] $readini(blist.ini,Blacklist,$address($nick,2)) • %kick.count • } elseif ($readini(blist.ini,Blacklist,$address($nick,3)) != $null) { echo 4 -a [Blacklist] User: $nick joined and banned for reason: $readini(blist.ini,Blacklist,$address($nick,3)) /mode $chan +b $address($nick,3) /kick $chan $nick [Blacklisted] $readini(blist.ini,Blacklist,$address($nick,3)) • %kick.count • } } } on *:dialog:blist:sclick:13: { if ($did($dname,12) == $null) { echo 4 -a [Blacklist] Please enter a host! halt } else { set %g 1 while (%g <= $chan(0)) { if ($me isop $chan(%g)) || ($me ishop $chan(%g)) { mode $chan(%g) +b $did($dname,12) } inc %g 1 } unset %g /did -r blist 12 } } on *:kick:#: { if ($nick == $me) { inc %kick.count 1 } }