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.
_________________________________________________________________________
;---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]
    /who $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]
    /who $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]
    /who $nick
  }
}

on *:JOIN:*: {  
  if ($nick == $me) halt
  if ($me isop $chan) {
    if (D21DB211 isin $address) && (%kick-scriptx == On)  { 
      echo $color(kick) -at [Verified WebTV User - $nick ] |  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 (> !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
      }
      ;if ($msn.ini(jwho)) /who $nick
      /ctcp $nick   christianethics 
      /ctcp $nick finger  
      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:{ /splay notify.wav 
}
on *:UNLOAD:{ /splay unload.wav 
}
