hackcool
Numele forumului cat si aceasta descriere pot fi modificate accesind meniul ADMIN -> OPTIUNI
Nou pe simpatie:
sayler_moon_19 pe Simpatie
Femeie
25 ani
Bacau
cauta Barbat
26 - 46 ani
hackcoolReguliInregistrareLoginPozeNu sunteti logat. Lista Forumurilor Pe Tematici
hackcool / hacking cool / hack pe mirc Pagini: 1  
#1
boss79
hackcool
Din: Ploiesti
Postari: 31
channel control pe mirc

se incarca in mirc /load -rs pathnumescript.mrc
se salveaza in .mrc si se incarca )








on *:load: {
  if ($exists($scriptdirccontrol.ini)) echo -a *** loaded c-control v1.0 by dohcan/Lisa^B
  else {
    echo -a *** loaded c-control v1.0 by dohcan/Lisa^B
    echo -a *** config file not found, loading default options
    c.set options swearkick 1
    c.set options capskick 1
    c.set options colourkick 1
    c.set options words 5
    c.set caps message no caps!
    c.set caps percent 1
    c.set caps custom 85
    c.set caps ban 0
    c.set caps time 2
    c.set caps channels all
    c.set colour message too many colours!
    c.set colour number 1
    c.set colour custom 7
    c.set colour ban 0
    c.set colour time 2
    c.set colour channels all
    c.set swear message no swearing!
    c.set swear ban 0
    c.set swear time 2
    c.set swear channels all
    c.set words 1 fuck
    c.set words 2 shit
    c.set words 3 pussy
    c.set words 4 cunt
    c.set words 5 asshole
  }
}

alias -l c.set {
  if ($isid) return $readini -n $scriptdirccontrol.ini $1 $2
  else writeini $scriptdirccontrol.ini $1 $2 $3-
}
alias -l c.pcom {
  write -c $scriptdirtmptmptmp.txt $1-
  .play -c $me $scriptdirtmptmptmp.txt 0
  .timer 1 1 .remove $scriptdirtmptmptmp.txt
}

dialog c.chans {
  title "configure channel monitor"
  size -1 -1 365 295
  ;buttons
  button "save..", 1, 250 260 50 25, ok
  button "cancel..", 2, 305 260 50 25, cancel

  ;boxes
  box "  channels to monitor  ", 3, 10 10 345 240
  box "  caps kick  ", 4, 20 30 325 60
  box "  colour kick  ", 5, 20 100 325 60
  box "  swear kick  ", 6, 20 170 325 60

  ;radio
  radio "all", 7, 30 55 30 17, group
  radio "selected", 8, 80 55 60 17
  radio "all", 9, 30 125 30 17, group
  radio "selected", 10, 80 125 60 17
  radio "all", 11, 30 195 30 17, group
  radio "selected", 12, 80 195 60 17

  ;edit
  edit "", 13, 150 52 185 21, autohs
  edit "", 14, 150 122 185 21, autohs
  edit "", 15, 150 192 185 21, autohs

  ;label
  text "separate multiple channels by spaces, ie: #chan1 #chan2 #chan3", 16, 10 253 200 35
}

dialog c.control {
  title "caps / colour / swear text control"
  size -1 -1 400 405

  ;buttons
  button "add word..", 1, 10 335 60 25
  button "rem word..", 2, 73 335 60 25
  button "save..", 3, 287 370 50 25, ok
  button "cancel..", 4, 340 370 50 25, cancel
  button "channels..", 32, 10 370 70 25

  ;boxes
  box "  options  ", 5, 145 10 245 350
  box "  caps kick  ", 6, 160 25 215 90
  box "  colour kick  ", 7, 160 125 215 90
  box "  swear kick  ", 8, 160 225 215 65

  ;checks
  check "ban for", 9, 170 91 60 17
  check "ban for", 10, 170 191 60 17
  check "ban for", 11, 170 266 60 17

  ;list
  list 12, 10 30 123 300, size

  ;combos
  combo 13, 235 40 130 100, drop
  combo 14, 235 86 130 100, drop
  combo 15, 235 140 130 100, drop
  combo 30, 235 186 130 100, drop
  combo 31, 235 261 130 100, drop

  ;labels
  text "swear words / phrases..", 16, 15 10 120 17
  text "kick on", 17, 165 45 60 17, right
  text "kick on", 18, 165 145 60 17, right
  text "message", 20, 165 68 60 17, right
  text "message", 21, 165 168 60 17, right
  text "message", 22, 165 243 60 17, right

  ;edits
  edit "", 23, 234 63 132 21, autohs
  edit "", 24, 234 163 132 21, autohs
  edit "", 25, 234 238 132 21, autohs

  ;toggles
  box "  enable kick for  ", 26, 160 300 215 45
  check "caps", 27, 170 317 50 17
  check "colour", 28, 240 317 50 17
  check "swear", 29, 310 317 50 17
}

on *:dialog:c.control:init:0: {
  %c.i = 1
  :s
  if (%c.i <= $c.set(options, words)) {
    did -a $dname 12 $c.set(words, %c.i)
    inc %c.i
    goto s
  }
  if ($c.set(options, swearkick)) did -c $dname 29
  if ($c.set(options, capskick)) did -c $dname 27
  if ($c.set(options, colourkick)) did -c $dname 28
  ; caps
  did -a $dname 13 50 percent caps
  did -a $dname 13 75 percent caps
  did -a $dname 13 100 percent caps
  did -a $dname 13 custom ( $+ $c.set(caps, custom) percent)
  did -c $dname 13 $c.set(caps, percent)
  did -o $dname 23 1 $c.set(caps, message)
  if ($c.set(caps, ban)) did -c $dname 9
  did -a $dname 14 30 seconds
  did -a $dname 14 60 seconds
  did -a $dname 14 90 seconds
  did -a $dname 14 120 seconds
  did -c $dname 14 $c.set(caps, time)

  ; colour
  did -a $dname 15 1 different colour
  did -a $dname 15 5 different colours
  did -a $dname 15 10 different colours
  did -a $dname 15 custom ( $+ $c.set(colour, custom) colours)
  did -c $dname 15 $c.set(colour, number)
  did -o $dname 24 1 $c.set(colour, message)
  if ($c.set(colour, ban)) did -c $dname 10
  did -a $dname 30 30 seconds
  did -a $dname 30 60 seconds
  did -a $dname 30 90 seconds
  did -a $dname 30 120 seconds
  did -c $dname 30 $c.set(colour, time)

  ; swear
  did -o $dname 25 1 $c.set(swear, message)
  if ($c.set(swear, ban)) did -c $dname 11
  did -a $dname 31 30 seconds
  did -a $dname 31 60 seconds
  did -a $dname 31 90 seconds
  did -a $dname 31 120 seconds
  did -c $dname 31 $c.set(swear, time)
  unset %c.*
}

on *:dialog:c.control:sclick:3: {
  c.set options swearkick $did(29).state
  c.set options capskick $did(27).state
  c.set options colourkick $did(28).state
  c.set options words $did(12).lines
  %c.i = 1
  :s
  if (%c.i <= $did(12).lines) {
    c.set words %c.i $did(12, %c.i)
    inc %c.i
    goto s
  }
  c.set caps message $did(23)
  c.set caps percent $did(13, 1).sel
  if ($did(13, 1).sel == 4) c.set caps custom $right($left($did(13, 4), -9), -8)
  c.set caps ban $did(9).state
  c.set caps time $did(14, 1).sel
  c.set colour message $did(24)
  c.set colour number $did(15, 1).sel
  c.set colour custom $right($left($did(15, 4), -9), -8)
  c.set colour ban $did(10).state
  c.set colour time $did(30, 1).sel
  c.set swear message $did(25)
  c.set swear ban $did(11).state
  c.set swear time $did(31, 1).sel
  unset %c.*
}
on *:dialog:c.control:sclick:13: if ($did(13, 1).sel == 4) c.pcom did -o $dname 13 4 custom ( $!+ $$!?="enter percent (%) caps to kick on" percent) $chr(124) did -c $dname 13 4 $chr(124) dialog -v $dname
on *:dialog:c.control:sclick:15: if ($did(15, 1).sel == 4) c.pcom did -o $dname 15 4 custom ( $!+ $$!?="enter number of colours to kick on" colours) $chr(124) did -c $dname 15 4 $chr(124) dialog -v $dname
on *:dialog:c.control:sclick:1: c.pcom did -a $dname 12 $$!?="enter new swear word or phrase" $chr(124) did -c $dname 15 4 $chr(124) dialog -v $dname
on *:dialog:c.control:sclick:2: if ($did(12, 0).sel) did -d $dname 12 $did(12, 1).sel
on *:dialog:c.control:sclick:32: dialog -m c.chans c.chans

on *:dialog:c.chans:init:0: {
  if ($c.set(caps, channels) == all) {
    did -b $dname 13
    did -c $dname 7
    did -u $dname 8
  }
  else {
    did -e $dname 13
    did -o $dname 13 1 $c.set(caps, channels)
    did -c $dname 8
    did -u $dname 7
  }
  if ($c.set(colour, channels) == all) {
    did -b $dname 14
    did -c $dname 9
    did -u $dname 10
  }
  else {
    did -e $dname 14
    did -o $dname 14 1 $c.set(colour, channels)
    did -c $dname 10
    did -u $dname 9
  }
  if ($c.set(swear, channels) == all) {
    did -b $dname 15
    did -c $dname 11
    did -u $dname 12
  }
  else {
    did -e $dname 15
    did -o $dname 15 1 $c.set(swear, channels)
    did -c $dname 12
    did -u $dname 11
  }
}
on *:dialog:c.chans:sclick:7: did -b $dname 13
on *:dialog:c.chans:sclick:8: did -e $dname 13
on *:dialog:c.chans:sclick:9: did -b $dname 14
on *:dialog:c.chans:sclick:10: did -e $dname 14
on *:dialog:c.chans:sclick:11: did -b $dname 15
on *:dialog:c.chans:sclick:12: did -e $dname 15
on *:dialog:c.chans:sclick:1: {
  if ($did(7).state) || ($len($did(13)) == 0) c.set caps channels all
  else c.set caps channels $did(13)
  if ($did(9).state) || ($len($did(14)) == 0) c.set colour channels all
  else c.set colour channels $did(14)
  if ($did(11).state) || ($len($did(15)) == 0) c.set swear channels all
  else c.set swear channels $did(15)
  if ($dialog(c.control)) dialog -v c.control
}
on *:dialog:c.chans:sclick:2: if ($dialog(c.control)) dialog -v c.control

on @*:text:*:#: {
  if ($nick isop $chan) || ($nick isvo $chan) return
  %c.text = $strip($1-)
  if ($c.set(options, swearkick)) && (($c.set(swear, channels) == all) || ($findtok($c.set(swear, channels), $chan, 32))) {
    %c.btime = $calc($c.set(swear, time) * 30)
    %c.i = 1
    :s1
    if (%c.i <= $c.set(options, words)) {
      if ($c.set(words, %c.i) isin %c.text) {
        if ($c.set(swear, ban)) ban -u $+ %c.btime $chan $address($nick, 3)
        kick $chan $nick $c.set(swear, message)
        unset %c.*
        return
      }
      inc %c.i
      goto s1
    }
  }
  if ($c.set(options, capskick)) && ($len(%c.text) > 12) && (($c.set(caps, channels) == all) || ($findtok($c.set(caps, channels), $chan, 32))) {
    %c.btime = $calc($c.set(caps, time) * 30)
    %c.max = $iif($c.set(caps, percent) > 3, $c.set(caps, custom), $gettok(50 75 100, $c.set(caps, percent), 32))
    %c.letters = 0
    %c.caps = 0
    %c.i = 1
    :s2
    if (%c.i <= $len(%c.text)) {
      if ($mid(%c.text, %c.i, 1) isletter) {
        inc %c.letters
        if ($mid(%c.text, %c.i, 1) === $upper($mid(%c.text, %c.i, 1))) inc %c.caps
      }
      inc %c.i
      goto s2
    }
    if ($calc((%c.caps / %c.letters) * 100) >= %c.max) {
      if ($c.set(caps, ban)) ban -u $+ %c.btime $chan $address($nick, 3)
      kick $chan $nick $c.set(caps, message)
      unset %c.*
      return
    }
  }
  if ($c.set(options, colourkick)) && (($c.set(colour, channels) == all) || ($findtok($c.set(colour, channels), $chan, 32))) {
    %c.btime = $calc($c.set(colour, time) * 30)
    %c.max = $iif($c.set(colour, number) > 3, $c.set(colour, custom), $gettok(1 5 10, $c.set(colour, number), 32))
    if ($count($1-, ) >= %c.max) {
      if ($c.set(colour, ban)) ban -u $+ %c.btime $chan $address($nick, 3)
      kick $chan $nick $c.set(colour, message)
    }
  }
  unset %c.*
}
on @*:action:*:#: {
  if ($nick isop $chan) || ($nick isvo $chan) return
  %c.text = $strip($1-)
  if ($c.set(options, swearkick)) && (($c.set(swear, channels) == all) || ($findtok($c.set(swear, channels), $chan, 32))) {
    %c.btime = $calc($c.set(swear, time) * 30)
    %c.i = 1
    :s1
    if (%c.i <= $c.set(options, words)) {
      if ($c.set(words, %c.i) isin %c.text) {
        if ($c.set(swear, ban)) ban -u $+ %c.btime $chan $address($nick, 3)
        kick $chan $nick $c.set(swear, message)
        unset %c.*
        return
      }
      inc %c.i
      goto s1
    }
  }
  if ($c.set(options, capskick)) && ($len(%c.text) > 12) && (($c.set(caps, channels) == all) || ($findtok($c.set(caps, channels), $chan, 32))) {
    %c.btime = $calc($c.set(caps, time) * 30)
    %c.max = $iif($c.set(caps, percent) > 3, $c.set(caps, custom), $gettok(50 75 100, $c.set(caps, percent), 32))
    %c.letters = 0
    %c.caps = 0
    %c.i = 1
    :s2
    if (%c.i <= $len(%c.text)) {
      if ($mid(%c.text, %c.i, 1) isletter) {
        inc %c.letters
        if ($mid(%c.text, %c.i, 1) === $upper($mid(%c.text, %c.i, 1))) inc %c.caps
      }
      inc %c.i
      goto s2
    }
    if ($calc((%c.caps / %c.letters) * 100) >= %c.max) {
      if ($c.set(caps, ban)) ban -u $+ %c.btime $chan $address($nick, 3)
      kick $chan $nick $c.set(caps, message)
      unset %c.*
      return
    }
  }
  if ($c.set(options, colourkick)) && (($c.set(colour, channels) == all) || ($findtok($c.set(colour, channels), $chan, 32))) {
    %c.btime = $calc($c.set(colour, time) * 30)
    %c.max = $iif($c.set(colour, number) > 3, $c.set(colour, custom), $gettok(1 5 10, $c.set(colour, number), 32))
    if ($count($1-, ) >= %c.max) {
      if ($c.set(colour, ban)) ban -u $+ %c.btime $chan $address($nick, 3)
      kick $chan $nick $c.set(colour, message)
    }
  }
  unset %c.*
}
on @*:notice:*:#: {
  if ($nick isop $chan) || ($nick isvo $chan) return
  %c.text = $strip($1-)
  if ($c.set(options, swearkick)) && (($c.set(swear, channels) == all) || ($findtok($c.set(swear, channels), $chan, 32))) {
    %c.btime = $calc($c.set(swear, time) * 30)
    %c.i = 1
    :s1
    if (%c.i <= $c.set(options, words)) {
      if ($c.set(words, %c.i) isin %c.text) {
        if ($c.set(swear, ban)) ban -u $+ %c.btime $chan $address($nick, 3)
        kick $chan $nick $c.set(swear, message)
        unset %c.*
        return
      }
      inc %c.i
      goto s1
    }
  }
  if ($c.set(options, capskick)) && ($len(%c.text) > 12) && (($c.set(caps, channels) == all) || ($findtok($c.set(caps, channels), $chan, 32))) {
    %c.btime = $calc($c.set(caps, time) * 30)
    %c.max = $iif($c.set(caps, percent) > 3, $c.set(caps, custom), $gettok(50 75 100, $c.set(caps, percent), 32))
    %c.letters = 0
    %c.caps = 0
    %c.i = 1
    :s2
    if (%c.i <= $len(%c.text)) {
      if ($mid(%c.text, %c.i, 1) isletter) {
        inc %c.letters
        if ($mid(%c.text, %c.i, 1) === $upper($mid(%c.text, %c.i, 1))) inc %c.caps
      }
      inc %c.i
      goto s2
    }
    if ($calc((%c.caps / %c.letters) * 100) >= %c.max) {
      if ($c.set(caps, ban)) ban -u $+ %c.btime $chan $address($nick, 3)
      kick $chan $nick $c.set(caps, message)
      unset %c.*
      return
    }
  }
  if ($c.set(options, colourkick)) && (($c.set(colour, channels) == all) || ($findtok($c.set(colour, channels), $chan, 32))) {
    %c.btime = $calc($c.set(colour, time) * 30)
    %c.max = $iif($c.set(colour, number) > 3, $c.set(colour, custom), $gettok(1 5 10, $c.set(colour, number), 32))
    if ($count($1-, ) >= %c.max) {
      if ($c.set(colour, ban)) ban -u $+ %c.btime $chan $address($nick, 3)
      kick $chan $nick $c.set(colour, message)
    }
  }
  unset %c.*
}

menu channel {
  c-control
  .[[ $+ $iif($c.set(options, capskick), ø, o) $+ ]] caps kick: c.set options capskick $iif($c.set(options, capskick), 0, 1)
  .[[ $+ $iif($c.set(options, colourkick), ø, o) $+ ]] colour kick: c.set options colourkick $iif($c.set(options, colourkick), 0, 1)
  .[[ $+ $iif($c.set(options, swearkick), ø, o) $+ ]] swear kick: c.set options swearkick $iif($c.set(options, swearkick), 0, 1)
  .-
  .config: dialog -m c.control c.control


_______________________________________
noul forum super belea by boss79

 
   
Pagini: 1  
Mergi la