All pastes #520256 Raw Edit

mattbuck1

public text v1 · immutable
#520256 ·published 2007-05-29 21:44 UTC
rendered paste body
on *:INPUT:#:{
  if ($chan != #neveron) {
    var %cur = 1, %text, %max = $wret($1-,0)
    :nick
    if ($wret($1-,%cur) ison $chan) { %text = %text <<<<< $+ $wret($1-,%cur) $+ >>>>> }
    else { %text = %text $wret($1-,%cur) }
    inc %cur 1
    if (%cur > %max) { 
      if ($left($1,1) == $chr(47)) { %text }
      else { msg $chan %text }
      halt
    }
    goto nick
  }
}

alias wret {
  if ($remove($2,-) !isnum) { return error }
  elseif ($2 == 0) { return $in($pos($1,$chr(32),0),1) }
  elseif ($right($2,1) == -) { return $right($1,$neg($pos($1,$chr(32),$de($left($2,-1),1)))) }
  elseif ($pos($2,-,0) == 1) { 
    var %startword = $left($2,$de($pos($2,-,1),1)), %endword = $right($2,$neg($pos($2,-,1))), %left, %right
    if (%endword >= $in($pos($1,$chr(32),0),1)) { %left = $1 }
    else { %left = $left($1,$de($pos($1,$chr(32),%endword),1)) }
    if (%startword > 1) { %right = $right(%left,$neg($pos($1,$chr(32),$de(%startword,1)))) }
    else { %right = %left }
    return %right
  }
  else {
    if ($pos($1,$chr(32),0) < $de($2,1)) { return $null }
    var %sp1 = $pos($1,$chr(32),$de($2,1)), %sp2 = $pos($1,$chr(32),$2), %chop
    if ($2 == 1) { %sp1 = $neg($len($1)) }
    if (%sp2 == $null) { %chop = $1 }
    else { %chop = $left($1,$de(%sp2,1)) }
    return $right(%chop,$neg(%sp1))
  }
}

alias neg {
  if ($1 !isnum) { return Error }
  return $calc(-1 * $1)
}

alias de {
  if ($1 isnum && $2 isnum) { return $calc($1 - $2) }
  else { return Error }
}

alias in {
  if ($1 isnum && $2 isnum) { return $calc($1 + $2) }
  else { return Error }
}