da_supergline { if ($0 != 1) { echo -a [da_supergline] Invalid parameters. Usage: /da_supergline halt } else if ($ipaddress($1) == $null) { echo -a [da_supergline] Cannot fetch IP address of user. Please refresh oper. halt } else { var %bantype = $?="Type of ban? 1 = Single IP, 2 = Broad mask:" if (%bantype != 1 && %bantype != 2) { echo -a [da_supergline] Invalid ban type. halt } if (%bantype == 2) { var %banmask = $$?="Please specify mask (i.e. xxx.xx.x*.*) ---------------------------- (User IP: $ipaddress($1) $+ )" } var %bantime = $$?="Duration of ban? (i.e. +3d)" var %banreason = $$?="Reason of ban?" if (%bantype == 1) { var %banip = $ipaddress($1) } else { var %i = 1 while (%i <= $len(%banmask)) { if ($mid(%banmask,%i,1) == x) { if ($mid($ipaddress($1),%i,1) !isnum) { echo -a [da_supergline] Invalid mask pattern. halt } else { var %banip = %banip $+ $mid($ipaddress($1),%i,1) } } else if ($mid(%banmask,%i,1) == $chr(46)) { var %banip = %banip $+ $chr(46) } else { var %banip = %banip $+ $chr(42) } inc %i } } var %confirmation = $$?="Ban will affect $ipaddress(%banip,0).ip user(s). Type OK to confirm ban" if (%confirmation == OK) { os akill add %bantime *@ $+ %banip %banreason ( $+ $mid(%bantime, 2, $calc($len(%bantime)-1)) ban) } } }