hi all i just wanted 2 say thank you
if u help me on any of these codes here is end products
if any thinks they
need edited alittle more plz reply but in testing
they all seem 2 be working great
here is my codes

this is protection
Code:
 
 on *:LOAD: {
  set %bp.kmsg 9Do You Honesty No What Your 10Doing! [4Kick9~5Ban9~4Deop9~7Pro 4Psh5R 12script]
  echo -a 9>>> 7Ban Protection was successfully loaded..
  echo -a 9>>> 7Author: |PunishER|
  echo -a 9>>> 7Created: in year 2005
}
alias bprot { dialog -m bp bp }
dialog bp {
  title "Kick Ban Protection" {By PshR}
  size -1 -1 125 90
  option dbu
  box "Enter kick message:", 5, 3 13 98 22
  edit "", 6, 6 20 92 11, autohs
  check "Enable", 7, 3 1 28 10
  box "Punishment:", 1, 3 37 69 39
  radio "DeSop.Op.Hop.user", 2, 7 44 65 10, group
  radio "Kick user", 3, 7 54 65 10
  radio "Kick/Ban user", 4, 7 64 66 10
  button "Help", 8, 75 56 30 10
  button "Close", 9, 75 67 30 10, cancel
  button "Clear kick msg", 10, 75 36 42 10
}
on *:dialog:bp:init:*: {
  did -a bp 6 %bp.kmsg
  if (%bp.p == d) { did -c bp 2 }
  elseif (%bp.p == k) { did -c bp 3 }
  elseif (%bp.p == kb) { did -c bp 4 }
  if (%bp.st == on) { did -c bp 7 | did -e bp 2,3,4,6,10 }
  if (%bp.st == off) { did -b bp 2,3,4,6,10 }
}
on *:dialog:bp:sclick:*: {
  if ($did == 7) { if ($did(bp,$did).state == 1) { did -e bp 2,3,4,6,10 | set %bp.st on | .enable #prot } | else { did -b bp 2,3,4,6,10 | set %bp.st off | .disable #prot } }
  if ($did == 2) { set %bp.p d }
  if ($did == 3) { set %bp.p k }
  if ($did == 4) { set %bp.p kb }
  if ($did == 10) { did -r bp 6 | unset %bp.kmsg }
  if ($did == 8) { dialog -m bphelp bphelp }
}
on *:dialog:bp:edit:6: { set %bp.kmsg $did(bp,6) }
#prot on
on *:BAN:#: { 
  if (%bp.st == on) {
    if ($nick != $me) && ($+(*,$banmask,*) iswm $address($me,5))  {
      mode $chan -bbb $banmask | set %nickk $nick
      if (%bp.p == d) && { mode $chan -qaohv %nickk %nickk %nickk %nickk | msg %nickk %bp.kmsg | msg $chan [ What The F? Dont BAN ME!! 4PshR 5script ] }
      if (%bp.p == k) && { mode $chan -qaohv %nickk %nickk %nickk %nickk | mode $chan -bbb $banmask | kick $chan %nickk | msg %nickk %bp.kmsg | msg $chan [ What The F? Dont BAN ME!! 4PshR 5script ] } 
      if (%bp.p == kb) && { mode $chan -qaohv+bbb %nickk %nickk %nickk %nickk $address(%nickk,2) $address(%nickk,9) %nickk | kick $chan %nickk | msg %nickk %bp.kmsg | msg $chan [ What The F? Dont BAN ME!! 4PshR 5script ] }
    }
    unset %nickk $nick
  }
}
on *:KICK:#: {
  if (%bp.st == on) {
    if ($nick != $me && $knick == $me) {  join $chan | /msg chanserv invite $chan $me | /msg chanserv unban $chan $me | set %nickk $nick 
      if (%bp.p == d) { mode $chan -qaohv %nickk %nickk %nickk %nickk | msg $chan %nickk [ What The F? Dont kick ME!! 4PshR 0script ] | msg %nickk %bp.kmsg }
      if (%bp.p == k) { kick $chan %nickk | msg $chan %nickk [ What The F? Dont kick ME!! 4PshR 0script ] | msg %nickk %bp.kmsg }
      if (%bp.p == kb) { mode $chan -qaohv+bbb %nickk %nickk %nickk %nickk $address(%nickk,3) $address(%nickk,8) %nickk | kick $chan %nickk | msg $chan %nickk [ What The F? Dont kick ME!! 4PshR 5script ] | msg $nick %bp.kmsg }
    }
    unset %nickk $nick
  }
}
on *:DEOP:#: {
  if (%bp.st == on) {
    if ($nick != $me) && ($opnick == $me) { /msg chanserv op $chan $me |  set %nickk $nick
      if (%bp.p == d) { mode $chan -qaohv %nickk %nickk %nickk %nickk | msg $chan %nickk [ What The F? Dont DeOP ME!! 4PshR 0script ] | msg $nick %bp.kmsg }
      if (%bp.p == k) { kick $chan %nickk | msg $chan %nickk [ What The F? Dont DeOP ME!! 4PshR 0script ] | msg %nickk %bp.kmsg }
      if (%bp.p == kb) { mode $chan -qaohv+bbb %nickk %nickk %nickk %nickk $address(%nickk,1) $address(%nickk,9) %nickk | kick $chan %nickk | msg $chan %nickk [ What The F? Dont DeOP ME!! 4PshR 5script ] | msg %nickk %bp.kmsg }
    }
    unset %nickk $nick
  }
}
#prot end

Menu channel,status,menubar { 
  Kick Ban Protection { bprot }
}
dialog bphelp {
  title "Ban Protection Help"
  size -1 -1 110 86
  option dbu
  link "Ban Protection Help Dialog:", 1, 14 3 79 8
  edit "Thanks 4 using Kick Ban Pro By The PshR :^)~", 2, 2 12 106 63, read multi
  button "Button", 3, 80 76 30 10, cancel
}



here is the logger
it logs everything on every chan and every server u on
and it puts up window 2 veiw all things being said in each
chan while it logs so u dont have 2 switch back and forth
2 see whats being said

Code:
menu menubar { 
  Today's Log:run logs\ $+ $asctime(m.d.yyyy.) $+ server.log 
} 
on *:start: { 
  set %log write logs\ $+ $asctime(m.d.yyyy.) $+ server.log 
  window @logger 
  aline @logger Session Start $fulldate 
  %log Session ID $time 
} 
alias log.start { 
  set %log write logs\ $+ $asctime(m.d.yyyy.) $+ server.log 
  window @logger 
  aline @logger Session Start $fulldate 
  %log Session ID $time 
} 
on *:join:#:{ 
  aline @logger 0 $timestamp 7 ( $network ) 8< $nick > 0 $address($nick,3) 4< joins > 7( $chan ) 10( $network ) 
  %log 0 $timestamp 7 ( $network ) 10 ( $nick ) $address($nick,3) < joins > $chan $network 
} 
on *:part:#:{ 
  aline @logger 0 $timestamp 7 ( $network ) 8 < $nick > 0 $address($nick,3) 7( $chan ) 10( $network ) 3< parted >
  %log 0 $timestamp 7 ( $network ) 10 ( $nick ) $address($nick,3) $chan $network parted 
} 
on *:quit:{ 
  if ($nick == $me) { 
    aline @logger $timestamp $me $chan $network quit
    %log $timestamp $me $chan $network quit
  } 
  else { aline @logger 0 $timestamp 7 ( $network ) 7 ( $chan ) 8 < $nick > 0 $address($nick,3) 7( $chan ) 10( $network ) 3< quit > |  %log $timestamp $chan $network ( $nick ) quit 
  } 
} 
;pvms,topic,onjoin,onpart,ctcpreply,away,return added 
raw 821:*: { aline @logger $timestamp < $chan > ( $network ) < $nick > returns $1- | %log $timestamp < $chan > ( $network ) < $nick > returns $1- } 
raw 822:*: { aline @logger $timestamp < $chan > ( $network ) < $nick > goes away $1- | %log $timestamp < $chan > ( $network ) < $nick > goes away $1- } 
on *:topic:*:#: { aline @logger $timestamp < $chan > ( $network ) < $nick > changes topic $1- | %log $timestamp < $chan > ( $network ) < $nick > changes topic $1- } 
on *:onjoin:#: { aline @logger 0 $timestamp 4 < $chan > 7 ( $network ) < $nick > changes onjoin $1- | %log $timestamp < $chan > ( $network ) < $nick > changes onjoin $1- } 
on *:onpart:#: { aline @logger 0 $timestamp 4 < $chan > 7 ( $network ) < $nick > changes onpart $1- | %log $timestamp < $chan > ( $network ) < $nick > changes onpart $1- } 
on *:ctcpreply:*: { aline @logger 0 $timestamp 4 < $chan > 7 ( $network ) < $nick > ctcp replies $1- | %log $timestamp < $chan > ( $network ) < $nick > ctcp replies $1- } 
on *:text:*:?:{ aline @logger 0 $timestamp 4 < $chan > 7 ( $network ) 8 < $nick > 6 whispers 0 $1- | %log $timestamp < $chan > ( $network ) < $nick > whispers $1- } 
on *:text:*:#:{ aline @logger 0 $timestamp 4 < $chan > 7 ( $network ) 8 < $nick( #,$nick ).pnick > 7 $1- | %log $timestamp < $chan > ( $network ) < $nick( #,$nick ).pnick $1- } 
on *:input:#:{ aline @logger 0 $timestamp 4 < $chan > 7 ( $network ) 8 < $nick( #,$nick ).pnick > 3 $1- | %log $timestamp < $chan > ( $network ) < $nick( #,$nick ).pnick $1- } 
on *:input:?:{ aline @logger 0 $timestamp 4 < $chan > 7 ( $network ) 8 < $nick > 6 whispers 3 $1- | %log $timestamp < $chan > ( $network ) < $nick > whispers $1- } 
on *:nick: { aline @logger 0 $timestamp 4 < $chan > 7 ( $network ) 8 < $nick > 0 is now known as 11( $newnick ) $1- | %log $timestamp < $chan > ( $network ) < $nick > is now known as ( $newnick ) $1- } 
on *:close:@:{ if ($target == @logger) { %log $timestamp @logger window Closed } } 
on *:notice:*:?:{ aline @logger $timestamp < $nick > sent notice -> $1- | %log $timestamp < $nick > sent notice -> $1- }
on *:notice:*:#:{ aline @logger 0 $timestamp < $nick > sent notice -> $1- | %log $timestamp < $nick > sent notice -> $1- }  
on *:snotice:*:{ aline @logger 0 $timestamp SNotice < $nick > $1- | %log $timestamp SNotice < $nick > $1- } 
on *:mode:#:{ aline @logger 0 $timestamp 4< $chan > 7( $network ) 8< $nick > 0 changed MODE $1- | %log $timestamp < $chan > ( $network ) < $nick > changed MODE $1- }
on ^*:RAWMODE:*:{ aline @logger 0 $timestamp 4 < $chan > 7 ( $network )  8 < $nick > 0 changed MODE $1- | %log $timestamp < $chan > ( $network ) < $nick > changed MODE $1- } 
on *:kick:#:{ aline @logger 7 $timestamp < $chan > ( $network ) < $nick > kicked $knick $1- | %log $timestamp < $chan > ( $network ) < $nick > kicked $knick $1- } 
on *:ban:#:{ aline @logger 8 $timestamp < $chan > ( $network ) < $nick > banned $banmask $1- | %log $timestamp < $chan > ( $network ) < $nick > banned $banmask $1- } 
on *:unban:#:{ aline @logger 8 $timestamp < $chan > ( $network ) < $nick > unbanned $banmask $1- | %log $timestamp < $chan > ( $network ) < $nick > unbanned $banmask $1- } 
on *:topic:#:{ aline @logger $timestamp < $chan > ( $network ) < $nick > changes topic to: $1- | %log $timestamp < $chan > ( $network ) < $nick > changes topic to: $1- } 
on *:action:*:#:{ aline @logger 0 $timestamp *** 5 < $nick > 10 $1- | %log $timestamp *** < $nick > $1- }
on *:action:*:?:{ aline @logger 0 $timestamp *** 5 < $nick > 10 $1- | %log $timestamp *** < $nick > $1- }  
ctcp *:*:{ aline @logger 15 $timestamp CTCP from  < $nick > $+ : $1- | %log $timestamp CTCP from < $nick > $+ : $1- } 
on *:notify:{ aline @logger $timestamp < $nick > is on $network $1- | %log $timestamp < $nick > is on $network $1-  } 
on *:global:*:{ aline @logger $timestamp < $nick > is on $network $1- | %log $timestamp < $nick > is on $network $1- } 
on *:input:Status Window:{ aline @logger $timestamp -> * $+ $2 $+ * * < $nick > $1- | %log $timestamp -> * $+ $2 $+ * * < $nick > $1- } 
on *Status Window:{ aline @logger $timestamp -> * $+ $2 $+ * * < $nick > $1- | %log $timestamp -> * $+ $2 $+ * * < $nick > $1- } 
  


now here is bad word protection
but i havent got 2 finish 1 part of it if any
could help me that would be great the last part
i need 2 finish is so i can make a setting in dialog
so it will only work in chan i add or in all chan

Code:
 
 on *:load: {
  if ($version > 6.0) { 
    echo  Bad word Pro
    echo 7PuNishER
    echo Check your popups, or type4 /BadWord
  }
  else { 
    echo  Version 6.0 or higher required, get a newer version of mirc at http://www.mirc.com  
    unload -rs $script 
  }
}

on *:unload: {
  echo -s Badword Pro by PuNishER unloaded.
  if ($isfile(badwords.ini)) echo -s Files left after usage :4 $mircdirBadwords.ini
  echo -s Glad you used this :]
  hfree badword
}

on *:start: {
  hmake badword 100
  if ($isfile(badwords.ini)) hload badword badwords.ini
}

on *:close: {
  hsave badword badwords.ini
}

alias badword  {
  if ($dialog(badword)) {
    dialog -ve badword badword 
  }
  else dialog -mdo badword badword
}

alias -l badword.ref {
  var %ss $hget(badword,0).data
  while (%ss) { 
    did -a badword 1 $hget(badword,%ss).item = $hget(badword,%ss).data 
    dec %ss 
  }
}

alias -l add.badwords {
  if ($dialog(badword)) { dialog -i badword }
  var %bw $$input(Enter badwords for %badwords,e,Add badwords)
  if (%bw != $null) { hadd -m badword %badwords %bw }
  if ($dialog(badword)) {
    did -r badword 1
    badword.ref
    dialog -e badword
  }
}

dialog badword {
  title "Bad Word Pro by PuNishER"
  size -1 -1 210 125
  option dbu
  list 1, 5 5 135 75, size sort autovs
  edit "", 2, 35 85 43 10, autohs
  edit "", 3, 40 100 135 10, autohs
  button "Add", 4, 80 85 25 10, flat
  button "Remove", 5, 110 85 35 10, flat
  button "Close", 6, 150 85 30 10, flat ok
  text "BadWord Msg :", 7, 4 100 35 8
  text "BadWord :", 8, 4 85 22 8
  box "Punishment:", 9, 145 50 61 33
  radio "Warn", 10, 148 60 23 10, group
  radio "Kick", 11, 148 70 25 10
  radio "DeMote", 12, 172 60 30 10
  radio "Kick/Ban", 13, 172 70 30 10
}

on *:dialog:badword:init:*: { 
  badword.ref
  if (%BadWord.p == w) { did -c BadWord 10 }
  elseif (%BadWord.p == k) { did -c BadWord 11 }
  elseif (%BadWord.p == d) { did -c badWord 12 }
  elseif (%BadWord.p == kb) { did -c badWord 13 }
}

on *:dialog:badword:sclick:*: {
  if ($did == 1) {
    if ($did(1).seltext != $null) {
      did -r $dname 2,3
      did -a $dname 2 $gettok($did(1).seltext,1,32)
      did -a $dname 3 $gettok($did(1).seltext,3-,32)
    }
  }
  if ($did == 4) {
    if ($did(2).text != $null) && ($did(3).text != $null) && ($left($did(2).text,1) != $chr(32)) && ($left($did(3).text,1) != $chr(32)) {
      hadd -m badword $did(2).text $did(3).text
    }
    did -r $dname 1,2,3
    badword.ref
  }
  if ($did == 5) {
    if ($did(1).seltext != $null) {
      hdel badword $gettok($did(1).seltext,1,32)
    }
    did -r $dname 1,2,3
    badword.ref
  }
  if ($did == 6) {
    hsave badword badwords.ini
  }
  if ($did == 10) {
    set %badWord.p w 
  }
  if ($did == 11) {
    set %badWord.p k
  }
  if ($did == 12) {
    set %badWord.p d
  }
  if ($did == 13) {
    set %badWord.p kb
  }
}
#badword on
on 1:text:*:#:{
  var %a = 1
  while %a <= $0 {
    if $hfind(badword,$gettok($1-,%a,32),1) {
      if (%badword.p == w) { msg $chan $nick $hget(badword,$hfind(badword,$gettok($1-,%a,32),1)) } 
      if (%badword.p == k) { kick $chan $nick | msg $chan $nick $hget(badword,$hfind(badword,$gettok($1-,%a,32),1)) }
      if (%badword.p == d) { mode $chan -aohv $nick $nick $nick $nick | msg $chan $nick $hget(badword,$hfind(badword,$gettok($1-,%a,32),1)) } 
      if (%badword.p == kb) { mode $chan +bbb $nick $nick $nick $address($nick,2) $address($nick,9) $nick | kick $chan $nick | msg $chan $nick $hget(badword,$hfind(badword,$gettok($1-,%a,32),1)) } 
    }
    inc %a
  }
}
#badword end

menu menubar,channel,status,nicklist,query {
  BadWordPro
  .BadWord Pro:badword
  .$$iif($group(#badword).status == on,Disable):.disable #badword | echo Bad Word Pro OFF
  .$$iif($group(#badword).status == off,Enable):.enable #badword | echo Bad Word Pro ON
  .-
  .Unload:unload -rs $script
}