ChristianEthics 9.4
_________________________________________________________________________
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 - jwho included to work with vincula so it won't /who twice if vincula already does.
*Not Script Detect uses /whois raw 311 and color nick list uses /who raw 352
Udated May 2006 and added basic and full detect on/off options via script-full.ce halt
_________________________________________________________________________
;---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
  } 
}
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  
  }
}
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
  }
}

on *:JOIN:*: {  
  if ($nick == $me) { 
    if ($msn.ini(jwho) = $true ) { /who $chan | halt }
    set -u20 %me.ce On
    set -u45 %2me.ce On
    halt
  }
  /whois $nick
  else {
    if (D21DB211 isin $address) && (%kick-scriptx == On)  { 
      echo $color(kick) -at [Verified WebTV User - $nick ] |  halt 
    }
    if ($me !isop $chan) halt
    if (D21DB211 isin $address) && (%scriptkick == Detect On)  { 
      /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 (%script-full.ce !== On) halt
    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
      }  
      /ctcp $nick   ChristianEthics 
      /ctcp $nick Version
      /ctcp $nick finger  
      set -u5 %goaheadok2 yes 
    }
  }
}

;----Script Detector other commands


on *:QUIT:*: { 
  if (%webversion.name = $nick) /unset %webtv.recheckversion | /unset %webversion.name 
}
on *:PART:*: { 
  if (%webversion.name = $nick) /unset %webtv.recheckversion | /unset %webversion.name
}
on *:KICK:#: { 
  if (%webversion.name = $nick) /unset %webtv.recheckversion | /unset %webversion.name
}

on *:DISCONNECT:*: { 
  if (%webversion.name = $nick) /unset %webtv.recheckversion | /unset %webversion.name
}
on *:LEAVE:*: {
  if (%webversion.name = $nick) /unset %webtv.recheckversion | /unset %webversion.name 
}
on *:LOAD:{ /splay notify.wav 
}
on *:UNLOAD:{ /splay unload.wav 
}
