SMF Script 8 — File Browser

SMFScript8v8.13 / SMFScript8v8.13 / system / prots.mrc

prots.mrc — 2.64 KB — Download this file

on ^*:text:*:*:{
  if (%prt.caps) && ($gettok($caps($1-),1,32) >= $sets(capslen)) && ($gettok($caps($1-),2,32) >= $sets(capsprcnt)) && ($me isop $chan) && ($nick !isop $chan) { ban $chan $nick 3 | kick $chan $nick caps }
  flood.inc $address($nick,2)
  if (%prt.text) && (%tf. [ $+ [ $address($nick,2) ] $+ ] .tfl > $sets(textlines)) && ($calc(%tf. [ $+ [ $address($nick,2) ] $+ ] .tft - $ctime) > 0) &&  && ($me isop $chan) && ($nick !isop $chan) kick $chan $nick text flood
  if (%ad.q.prot = $null) return
  set %ad.parms $replace($1-,$chr(35),$chr(1))
  :loop
  inc %ad.text.num
  set %ad.text.line $read -l $+ %ad.text.num $qts($scriptdiradpats.txt)
  if (%ad.text.line) {
    set %ad.chk $numtok(%ad.text.line,32)
    if (%ad.chk = 1) && ($gettok(%ad.text.line,1,32) isin %ad.parms) goto action
    if (%ad.chk = 2) && ($gettok(%ad.text.line,1,32) isin %ad.parms) && ($gettok(%ad.text.line,2,32) isin %ad.parms) goto action
    if (%ad.chk = 3) && ($gettok(%ad.text.line,1,32) isin %ad.parms) && ($gettok(%ad.text.line,2,32) isin %ad.parms) && ($gettok(%ad.text.line,3,32) isin %ad.parms) goto action
    if (%ad.chk = 4) && ($gettok(%ad.text.line,1,32) isin %ad.parms) && ($gettok(%ad.text.line,2,32) isin %ad.parms) && ($gettok(%ad.text.line,3,32) isin %ad.parms) && ($gettok(%ad.text.line,4,32) isin %ad.parms) goto action
    if (%ad.chk = 5) &&  ($gettok(%ad.text.line,1,32) isin %ad.parms) && ($gettok(%ad.text.line,2,32) isin %ad.parms) && ($gettok(%ad.text.line,3,32) isin %ad.parms) && ($gettok(%ad.text.line,4,32) isin %ad.parms) && ($gettok(%ad.text.line,5,32) isin %ad.parms) goto action
    goto loop
  }
  goto end
  :action
  if ($chan) {
    if (%ad.kick) && ($me isop $chan) && ($nick !isop $chan) { ban $chan $nick 3 | kick $chan $nick advertiser }
    if (%ad.c.notify) echo $colour(invite) -a *** Recieved advertisement from $nick on $chan $+ .
    if (%ad.c.log) write $qts($scriptdirads.txt) < $+ $fulldate $+ > < $+ $chan $+ > < $+ $fulladdress $+ > $strip($1-)
  }
  else {
    haltdef
    close -m $nick
    if (%ad.ignore) ignore $nick 3
    if (%ad.q.notify) echo $colour(invite) -a *** Recieved advertisement from $nick $+ .
    if (%ad.q.log) write $qts($scriptdirads.txt) < $+ $fulldate $+ > < $+ $fulladdress $+ > $strip($1-)
  }
  :end
  unset %ad.parms %ad.text.* %ad.tok.num %pattern.* %ad.chk %ad.pattern.word
}
alias caps return $len($1-) $prcnt($len($1-),$calc($len($1-) - $len($removecs($1-,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z))))
alias flood.inc if ($ctime < %tf. [ $+ [ $$1 ] $+ ] .tft) inc %tf. $+ $$1 $+ .tfl | else set %tf. $+ $$1 $+ .tfl 1 | set %tf. $+ $$1 $+ .tft $calc($ctime + $sets(texttime))