ChristianEthics 9.3
_________________________________________________________________________
E-mail: ChristianEthics2@yahoo.ca 
Messenger: ChristianEthics@hotmail.com 
Home page: http://ca.geocities.com/christianethics2
Message Board: http://groups.yahoo.com/group/ChristianEthics_BibleBotDownloadZone/
__________________________________________________________________________

Script Detector - Will only work if you are a Host or Owner.

If too many people are using a script detector in your room, or
if your room is Extremly busy, you may recieve false alarms.

Edited October 2004, works with clearmsn and vincula
Fixed the problem of it not giving the reply on time and ping tests.
Updated April 2006 
_________________________________________________________________________
;---Detectors on-join commands

on scriptallow:JOIN:#: { 
  if ( $nick == $me ) halt
  if ($me isop $chan) {
    /echo $color(notice text) -at [ $nick is on Script Allow List]
    /whois $nick
    /ctcp $nick Version christianethics
    /ctcp $nick finger  
    /ctcp $nick v 
  } 
}
on ownerlist:JOIN:*: { 
  if ($nick == $me) halt
  if ($me isop $chan) {
    /echo $color(notice text) -at [ $nick is on Script Allow List via Owner List]
    /whois $nick
    /ctcp $nick Version christianethics
    /ctcp $nick finger 
    /ctcp $nick v   
  }
}
on hostlist:JOIN:*: { 
  if ($nick == $me) halt
  if ($me isop $chan) {
    /echo $color(notice text) -at [ $nick is on Script Allow List via Host List]
    /whois $nick
    /ctcp $nick Version christianethics
    /ctcp $nick finger   
    /ctcp $nick v 
  }
}
on *:JOIN:*: {  
  if ($nick == $me) halt
  if ($me isop $chan) {
    if (D21DB211 isin $address) { 
      /ctcp $nick version
      if (%webversion.name = $null) { /set -u11 %webversion.name $nick   
        /set -u11 %webtv.recheckversion On
        .timer 1 8 /webtv.recheck
      }
      .timer 1 10 /ctcp %webversion.name version
    }
    if (> isin $nick) && (D21DB211 !isin $address) { 
      echo $color(kick text) -at [Script Using Guest - $nick ]
      /splay script.wav
      if (%scriptwarnnon != $null) /notice $nick $nick %scriptwarnnon *Reason: Script Using Guest.
      if (%scriptwarnnon2 != $null) msg $chan *Script Alert: $nick 
      if (%kick-scriptx = On) {
        if ($level($address($nick,6)) == scriptallow) || ($level($address($nick,6)) == ownerlist) || ($level($address($nick,6)) == hostlist) || ($nick == $me) 
        { return }
        sockwrite -tn msn.server. $+ $cid access $msn.get($cid,fullroom) add deny $address %scriptban ScriptKick
        sockwrite -tn msn.server. $+ $cid kick $msn.get($cid,fullroom) $nick (script kick) %scriptkickmessage (Banned %scriptban minute(s))
      }

    }
    if (> !isin $nick) { 
      /set -u5 %detector.joinname $nick
      if (%name.forraw != $null) && (%2name.forraw != $null) && (%3name.forraw != $null) && (%4name.forraw = $null)  { 
        /set -u4 %4name.forraw $nick 
      }
      if (%name.forraw != $null) && (%2name.forraw != $null) && (%3name.forraw = $null) { 
        /set -u4 %3name.forraw $nick 
      }
      if (%name.forraw != $null) && (%2name.forraw = $null) { 
        /set -u4 %2name.forraw $nick 
      }
      if (%name.forraw = $null) { 
        /set -u4 %name.forraw $nick 
      }

      if (%ping.name != $null) && (%ping.name2 != $null) && (%ping.name3 != $null) && (%ping.name4 != $null) && (%ping.name5 != $null) && (%ping.name6 != $null) && (%ping.name7 != $null) && (%ping.name8 != $null) && (%ping.name9 != $null) && (%ping.name10 = $null) { 
        set -u20 %ping.name10 $nick 
        set -u22 %2ok.ping. [ $+ [ $nick ] ] on   
        .timer 1 9 /tenping
      }  
      if (%ping.name != $null) && (%ping.name2 != $null) && (%ping.name3 != $null) && (%ping.name4 != $null) && (%ping.name5 != $null) && (%ping.name6 != $null) && (%ping.name7 != $null) && (%ping.name8 != $null) && (%ping.name9 = $null) { 
        set -u20 %ping.name9 $nick 
        set -u22 %2ok.ping. [ $+ [ $nick ] ] on   
        .timer 1 9 /nineping
      }
      if (%ping.name != $null) && (%ping.name2 != $null) && (%ping.name3 != $null) && (%ping.name4 != $null) && (%ping.name5 != $null) && (%ping.name6 != $null) && (%ping.name7 != $null) && (%ping.name8 = $null) { 
        set -u20 %ping.name8 $nick 
        set -u22 %2ok.ping. [ $+ [ $nick ] ] on   
        .timer 1 9 /eightping
      }  
      if (%ping.name != $null) && (%ping.name2 != $null) && (%ping.name3 != $null) && (%ping.name4 != $null) && (%ping.name5 != $null) && (%ping.name6 != $null) && (%ping.name7 = $null) { 
        set -u20 %ping.name7 $nick 
        set -u22 %2ok.ping. [ $+ [ $nick ] ] on   
        .timer 1 9 /sevenping
      } 
      if (%ping.name != $null) && (%ping.name2 != $null) && (%ping.name3 != $null) && (%ping.name4 != $null) && (%ping.name5 != $null) && (%ping.name6 = $null) { 
        set -u20 %ping.name6 $nick 
        set -u22 %2ok.ping. [ $+ [ $nick ] ] on   
        .timer 1 9 /sixping
      }
      if (%ping.name != $null) && (%ping.name2 != $null) && (%ping.name3 != $null) && (%ping.name4 != $null) && (%ping.name5 = $null) { 
        set -u20 %ping.name5 $nick 
        set -u22 %2ok.ping. [ $+ [ $nick ] ] on   
        .timer 1 9 /fiveping
      }

      if (%ping.name != $null) && (%ping.name2 != $null) && (%ping.name3 != $null) && (%ping.name4 = $null) { 
        set -u20 %ping.name4 $nick 
        set -u22 %2ok.ping. [ $+ [ $nick ] ] on   
        .timer 1 9 /fourping
      }  
      if (%ping.name != $null) && (%ping.name2 != $null) && (%ping.name3 = $null) { 
        set -u20 %ping.name3 $nick 
        set -u22 %2ok.ping. [ $+ [ $nick ] ] on   
        .timer 1 9 /threeping
      }   
      if (%ping.name != $null)  && (%ping.name2 = $null) { 
        set -u20 %2ping.name2 $nick  
        set -u22 %2ok.ping. [ $+ [ $nick ] ] on   
        .timer 1 9 /twoping    
      }
      if (%ping.name = $null) {   
        set -u20 %ping.name $nick
        set -u22 %2ok.ping. [ $+ [ $nick ] ] on   
        .timer 1 9 /oneping
      }
      /whois $nick
      /ctcp $nick Version christianethics  
      /ctcp $nick finger  
      /ctcp $nick v 
      set -u4 %goaheadok2 yes 
    }
  }
}

;----Script Detector other commands


on *:QUIT:*: { 
  if (%webversion.name = $nick) /unset %webtv.recheckversion | /unset %webversion.name
  if (%ping.name = $nick)  /unset %2ok.ping. [ $+ [ %ping.name ] ] | /unset %ok.ping. [ $+ [ %ping.name ] ] | /unset %ping.name
  if (%ping.name2 = $nick) /unset %2ok.ping2. [ $+ [ %ping.name2 ] ] | /unset %ok.ping2. [ $+ [ %ping.name2 ] ] | /unset %ping.name2
  if (%ping.name3 = $nick) /unset %2ok.ping3. [ $+ [ %ping.name3 ] ] | /unset %ok.ping3. [ $+ [ %ping.name3 ] ] | /unset %ping.name3
  if (%ping.name4 = $nick) /unset %2ok.ping4. [ $+ [ %ping.name4 ] ] | /unset %ok.ping4. [ $+ [ %ping.name4 ] ] | /unset %ping.name4
  if (%ping.name5 = $nick) /unset %2ok.ping5. [ $+ [ %ping.name5 ] ] | /unset %ok.ping5. [ $+ [ %ping.name5 ] ] | /unset %ping.name5
  if (%ping.name6 = $nick) /unset %2ok.ping6. [ $+ [ %ping.name6 ] ] | /unset %ok.ping6. [ $+ [ %ping.name6 ] ] | /unset %ping.name6
  if (%ping.name7 = $nick) /unset %2ok.ping7. [ $+ [ %ping.name7 ] ] | /unset %ok.ping7. [ $+ [ %ping.name7 ] ] | /unset %ping.name7
  if (%ping.name8 = $nick) /unset %2ok.ping8. [ $+ [ %ping.name8 ] ] | /unset %ok.ping8. [ $+ [ %ping.name8 ] ] | /unset %ping.name8
  if (%ping.name9 = $nick) /unset %2ok.ping9. [ $+ [ %ping.name9 ] ] | /unset %ok.ping9. [ $+ [ %ping.name9 ] ] | /unset %ping.name9
  if (%ping.name10 = $nick) /unset %2ok.ping10. [ $+ [ %ping.name10 ] ] | /unset %ok.ping10. [ $+ [ %ping.name10 ] ] | /unset %ping.name10
  if (%ping.name11 = $nick) /unset %2ok.ping11. [ $+ [ %ping.name11 ] ] | /unset %ok.ping11. [ $+ [ %ping.name11 ] ] | /unset %ping.name11 
  if (%time.name2 = $nick) /unset %time.name2 | /unset %timestatus. [ $+ [ %time.name2 ] ]
  if (name.forraw = $nick) /unset %2ok.ping. [ $+ [ %name.forraw ] ] | /unset %name.forraw
  if (2name.forraw = $nick) /unset %2ok.ping. [ $+ [ %2name.forraw ] ] | /unset %2name.forraw
  if (3name.forraw = $nick) /unset %2ok.ping. [ $+ [ %3name.forraw ] ] | /unset %3name.forraw
  if (4name.forraw = $nick) /unset %2ok.ping. [ $+ [ %4name.forraw ] ] | /unset %4name.forraw
}
on *:PART:*: { 
  if (%webversion.name = $nick) /unset %webtv.recheckversion | /unset %webversion.name
  if (%ping.name = $nick)  /unset %2ok.ping. [ $+ [ %ping.name ] ] | /unset %ok.ping. [ $+ [ %ping.name ] ] | /unset %ping.name
  if (%ping.name2 = $nick) /unset %2ok.ping2. [ $+ [ %ping.name2 ] ] | /unset %ok.ping2. [ $+ [ %ping.name2 ] ] | /unset %ping.name2
  if (%ping.name3 = $nick) /unset %2ok.ping3. [ $+ [ %ping.name3 ] ] | /unset %ok.ping3. [ $+ [ %ping.name3 ] ] | /unset %ping.name3
  if (%ping.name4 = $nick) /unset %2ok.ping4. [ $+ [ %ping.name4 ] ] | /unset %ok.ping4. [ $+ [ %ping.name4 ] ] | /unset %ping.name4
  if (%ping.name5 = $nick) /unset %2ok.ping5. [ $+ [ %ping.name5 ] ] | /unset %ok.ping5. [ $+ [ %ping.name5 ] ] | /unset %ping.name5
  if (%ping.name6 = $nick) /unset %2ok.ping6. [ $+ [ %ping.name6 ] ] | /unset %ok.ping6. [ $+ [ %ping.name6 ] ] | /unset %ping.name6
  if (%ping.name7 = $nick) /unset %2ok.ping7. [ $+ [ %ping.name7 ] ] | /unset %ok.ping7. [ $+ [ %ping.name7 ] ] | /unset %ping.name7
  if (%ping.name8 = $nick) /unset %2ok.ping8. [ $+ [ %ping.name8 ] ] | /unset %ok.ping8. [ $+ [ %ping.name8 ] ] | /unset %ping.name8
  if (%ping.name9 = $nick) /unset %2ok.ping9. [ $+ [ %ping.name9 ] ] | /unset %ok.ping9. [ $+ [ %ping.name9 ] ] | /unset %ping.name9
  if (%ping.name10 = $nick) /unset %2ok.ping10. [ $+ [ %ping.name10 ] ] | /unset %ok.ping10. [ $+ [ %ping.name10 ] ] | /unset %ping.name10
  if (%ping.name11 = $nick) /unset %2ok.ping11. [ $+ [ %ping.name11 ] ] | /unset %ok.ping11. [ $+ [ %ping.name11 ] ] | /unset %ping.name11 
  if (%time.name2 = $nick) /unset %time.name2 | /unset %timestatus. [ $+ [ %time.name2 ] ]
  if (name.forraw = $nick) /unset %2ok.ping. [ $+ [ %name.forraw ] ] | /unset %name.forraw
  if (2name.forraw = $nick) /unset %2ok.ping. [ $+ [ %2name.forraw ] ] | /unset %2name.forraw
  if (3name.forraw = $nick) /unset %2ok.ping. [ $+ [ %3name.forraw ] ] | /unset %3name.forraw
  if (4name.forraw = $nick) /unset %2ok.ping. [ $+ [ %4name.forraw ] ] | /unset %4name.forraw

}
on *:KICK:#: { 
  if (%webversion.name = $nick) /unset %webtv.recheckversion | /unset %webversion.name
  if (%ping.name = $nick)  /unset %2ok.ping. [ $+ [ %ping.name ] ] | /unset %ok.ping. [ $+ [ %ping.name ] ] | /unset %ping.name
  if (%ping.name2 = $nick) /unset %2ok.ping2. [ $+ [ %ping.name2 ] ] | /unset %ok.ping2. [ $+ [ %ping.name2 ] ] | /unset %ping.name2
  if (%ping.name3 = $nick) /unset %2ok.ping3. [ $+ [ %ping.name3 ] ] | /unset %ok.ping3. [ $+ [ %ping.name3 ] ] | /unset %ping.name3
  if (%ping.name4 = $nick) /unset %2ok.ping4. [ $+ [ %ping.name4 ] ] | /unset %ok.ping4. [ $+ [ %ping.name4 ] ] | /unset %ping.name4
  if (%ping.name5 = $nick) /unset %2ok.ping5. [ $+ [ %ping.name5 ] ] | /unset %ok.ping5. [ $+ [ %ping.name5 ] ] | /unset %ping.name5
  if (%ping.name6 = $nick) /unset %2ok.ping6. [ $+ [ %ping.name6 ] ] | /unset %ok.ping6. [ $+ [ %ping.name6 ] ] | /unset %ping.name6
  if (%ping.name7 = $nick) /unset %2ok.ping7. [ $+ [ %ping.name7 ] ] | /unset %ok.ping7. [ $+ [ %ping.name7 ] ] | /unset %ping.name7
  if (%ping.name8 = $nick) /unset %2ok.ping8. [ $+ [ %ping.name8 ] ] | /unset %ok.ping8. [ $+ [ %ping.name8 ] ] | /unset %ping.name8
  if (%ping.name9 = $nick) /unset %2ok.ping9. [ $+ [ %ping.name9 ] ] | /unset %ok.ping9. [ $+ [ %ping.name9 ] ] | /unset %ping.name9
  if (%ping.name10 = $nick) /unset %2ok.ping10. [ $+ [ %ping.name10 ] ] | /unset %ok.ping10. [ $+ [ %ping.name10 ] ] | /unset %ping.name10
  if (%ping.name11 = $nick) /unset %2ok.ping11. [ $+ [ %ping.name11 ] ] | /unset %ok.ping11. [ $+ [ %ping.name11 ] ] | /unset %ping.name11 
  if (%time.name2 = $nick) /unset %time.name2 | /unset %timestatus. [ $+ [ %time.name2 ] ]
  if (name.forraw = $nick) /unset %2ok.ping. [ $+ [ %name.forraw ] ] | /unset %name.forraw
  if (2name.forraw = $nick) /unset %2ok.ping. [ $+ [ %2name.forraw ] ] | /unset %2name.forraw
  if (3name.forraw = $nick) /unset %2ok.ping. [ $+ [ %3name.forraw ] ] | /unset %3name.forraw
  if (4name.forraw = $nick) /unset %2ok.ping. [ $+ [ %4name.forraw ] ] | /unset %4name.forraw

}

on *:DISCONNECT:*: { if (%webversion.name = $nick) /unset %webtv.recheckversion | /unset %webversion.name
  if (%ping.name = $nick)  /unset %2ok.ping. [ $+ [ %ping.name ] ] | /unset %ok.ping. [ $+ [ %ping.name ] ] | /unset %ping.name
  if (%ping.name2 = $nick) /unset %2ok.ping2. [ $+ [ %ping.name2 ] ] | /unset %ok.ping2. [ $+ [ %ping.name2 ] ] | /unset %ping.name2
  if (%ping.name3 = $nick) /unset %2ok.ping3. [ $+ [ %ping.name3 ] ] | /unset %ok.ping3. [ $+ [ %ping.name3 ] ] | /unset %ping.name3
  if (%ping.name4 = $nick) /unset %2ok.ping4. [ $+ [ %ping.name4 ] ] | /unset %ok.ping4. [ $+ [ %ping.name4 ] ] | /unset %ping.name4
  if (%ping.name5 = $nick) /unset %2ok.ping5. [ $+ [ %ping.name5 ] ] | /unset %ok.ping5. [ $+ [ %ping.name5 ] ] | /unset %ping.name5
  if (%ping.name6 = $nick) /unset %2ok.ping6. [ $+ [ %ping.name6 ] ] | /unset %ok.ping6. [ $+ [ %ping.name6 ] ] | /unset %ping.name6
  if (%ping.name7 = $nick) /unset %2ok.ping7. [ $+ [ %ping.name7 ] ] | /unset %ok.ping7. [ $+ [ %ping.name7 ] ] | /unset %ping.name7
  if (%ping.name8 = $nick) /unset %2ok.ping8. [ $+ [ %ping.name8 ] ] | /unset %ok.ping8. [ $+ [ %ping.name8 ] ] | /unset %ping.name8
  if (%ping.name9 = $nick) /unset %2ok.ping9. [ $+ [ %ping.name9 ] ] | /unset %ok.ping9. [ $+ [ %ping.name9 ] ] | /unset %ping.name9
  if (%ping.name10 = $nick) /unset %2ok.ping10. [ $+ [ %ping.name10 ] ] | /unset %ok.ping10. [ $+ [ %ping.name10 ] ] | /unset %ping.name10
  if (%ping.name11 = $nick) /unset %2ok.ping11. [ $+ [ %ping.name11 ] ] | /unset %ok.ping11. [ $+ [ %ping.name11 ] ] | /unset %ping.name11 
  if (%time.name2 = $nick) /unset %time.name2 | /unset %timestatus. [ $+ [ %time.name2 ] ]
  if (name.forraw = $nick) /unset %2ok.ping. [ $+ [ %name.forraw ] ] | /unset %name.forraw
  if (2name.forraw = $nick) /unset %2ok.ping. [ $+ [ %2name.forraw ] ] | /unset %2name.forraw
  if (3name.forraw = $nick) /unset %2ok.ping. [ $+ [ %3name.forraw ] ] | /unset %3name.forraw
  if (4name.forraw = $nick) /unset %2ok.ping. [ $+ [ %4name.forraw ] ] | /unset %4name.forraw
}
on *:LEAVE:*: { if (%webversion.name = $nick) /unset %webtv.recheckversion | /unset %webversion.name
  if (%ping.name = $nick)  /unset %2ok.ping. [ $+ [ %ping.name ] ] | /unset %ok.ping. [ $+ [ %ping.name ] ] | /unset %ping.name
  if (%ping.name2 = $nick) /unset %2ok.ping2. [ $+ [ %ping.name2 ] ] | /unset %ok.ping2. [ $+ [ %ping.name2 ] ] | /unset %ping.name2
  if (%ping.name3 = $nick) /unset %2ok.ping3. [ $+ [ %ping.name3 ] ] | /unset %ok.ping3. [ $+ [ %ping.name3 ] ] | /unset %ping.name3
  if (%ping.name4 = $nick) /unset %2ok.ping4. [ $+ [ %ping.name4 ] ] | /unset %ok.ping4. [ $+ [ %ping.name4 ] ] | /unset %ping.name4
  if (%ping.name5 = $nick) /unset %2ok.ping5. [ $+ [ %ping.name5 ] ] | /unset %ok.ping5. [ $+ [ %ping.name5 ] ] | /unset %ping.name5
  if (%ping.name6 = $nick) /unset %2ok.ping6. [ $+ [ %ping.name6 ] ] | /unset %ok.ping6. [ $+ [ %ping.name6 ] ] | /unset %ping.name6
  if (%ping.name7 = $nick) /unset %2ok.ping7. [ $+ [ %ping.name7 ] ] | /unset %ok.ping7. [ $+ [ %ping.name7 ] ] | /unset %ping.name7
  if (%ping.name8 = $nick) /unset %2ok.ping8. [ $+ [ %ping.name8 ] ] | /unset %ok.ping8. [ $+ [ %ping.name8 ] ] | /unset %ping.name8
  if (%ping.name9 = $nick) /unset %2ok.ping9. [ $+ [ %ping.name9 ] ] | /unset %ok.ping9. [ $+ [ %ping.name9 ] ] | /unset %ping.name9
  if (%ping.name10 = $nick) /unset %2ok.ping10. [ $+ [ %ping.name10 ] ] | /unset %ok.ping10. [ $+ [ %ping.name10 ] ] | /unset %ping.name10
  if (%ping.name11 = $nick) /unset %2ok.ping11. [ $+ [ %ping.name11 ] ] | /unset %ok.ping11. [ $+ [ %ping.name11 ] ] | /unset %ping.name11 
  if (%time.name2 = $nick) /unset %time.name2 | /unset %timestatus. [ $+ [ %time.name2 ] ]
  if (name.forraw = $nick) /unset %2ok.ping. [ $+ [ %name.forraw ] ] | /unset %name.forraw
  if (2name.forraw = $nick) /unset %2ok.ping. [ $+ [ %2name.forraw ] ] | /unset %2name.forraw
  if (3name.forraw = $nick) /unset %2ok.ping. [ $+ [ %3name.forraw ] ] | /unset %3name.forraw
  if (4name.forraw = $nick) /unset %2ok.ping. [ $+ [ %4name.forraw ] ] | /unset %4name.forraw

}
on *:LOAD:{ set %scriptkick Detect On | /splay notify.wav 
}
on *:UNLOAD:{ set %scriptkick Off |  set %kick-scriptx Off | /splay unload.wav 
}
