viewing: rainbows n shit

  • Time Posted:
    2 months ago
  • Language:
    mirc
  • Views
    75
  • Privacy
    Public
alias big {
  if ($bigtext.unsupp($1-)) {
    echo -ac info * Characters not supported by Big Text present in your message: $bigtext.unsupp($1-)
    return
  }
  var %lia, %lib, %lic, %lid, %lie, %i 1, %text $strip($1-, bur), %colregex /^(\d\d?(?:,\d\d?)?)/
 
  var %regex = /(?<= $+ $chr(3) $+ [0-9]| $+ $chr(3) $+ [0-9][0-9]) $+ $chr(44) $+ \d\d?/g, %res, %dummy = $regsub(%text, %regex, $null, %text)
 
  while (%i <= $len(%text)) {
    if ($mid(%text, %i, 1) == $chr(3)) {
      var %lia $+(%lia, $chr(3)), %lib $+(%lib, $chr(3)), %lic $+(%lic, $chr(3)), %lid $+(%lid, $chr(3)), %lie $+(%lie, $chr(3))
      if ($mid(%text, $calc(%i + 1), 1) != $chr(32)) && ($regex(mtcol, $mid(%text, $calc(%i + 1), $mid(%text, $calc(%i + 1), 0)), %colregex)) {
        var %m $regml(mtcol, 1)
        var %lia %lia $+ %m, %lib %lib $+ %m, %lic %lic $+ %m, %lid %lid $+ %m, %lie %lie $+ %m
        inc %i $len(%m)
      }
    }
    else { 
      tokenize 32 $bigtext.char($mid(%text, %i, 1))
      var %lia $+(%lia, $1), %lib $+(%lib, $2), %lic $+(%lic, $3), %lid $+(%lid, $4), %lie $+(%lie, $5)
      ; if ($bigtext.kern($mid(%text, %i, 2))) {
      var %lia $+(%lia, .), %lib $+(%lib, .), %lic $+(%lic, .), %lid $+(%lid, .), %lie $+(%lie, .)
      ; }
    }
    inc %i
  }
  say $bigtext.format(%lia)
  say $bigtext.format(%lib)
  say $bigtext.format(%lic)
  say $bigtext.format(%lid)
  say $bigtext.format(%lie)
}
alias rbig {
  big $rainbow($1-);
}
alias rtxt {
  msg $chan  $+ $rainbowtxt($1-);
}
alias rnick {
  nick $rainbow($1-);
}
alias rtxtnick {
  nick $rainbowtxt($1-);
}
alias rt {
  msg $chan  $+ $rainbowtxt($1-) $rainbow($1-);
}
alias rban {
  set %rban $rainbow($1-);
  mode $chan +b-b %rban %rban
}
alias rtopic {
  topic $chan $rainbow($1-);
}
; You may customize this alias however you want to.
; It is Big Text's font, used above.
; The return value consists of dots and X's, to denote
;   unlit and lit points in the font, respectively;
;   there are 5 tokens of the same length, each
;   corresponding to a line in the 5-line output.
; Note how the . and X's look like the characters;
;   you can use this to your advantage!
alias -l bigtext.char {
  if ($1 === $chr(32)) || ($1 === $null) return $&
    ... $&
    ... $&
    ... $&
    ... $&
    ...
  if ($1 === $chr(160)) return $&
    ..... $&
    ..... $&
    ..... $&
    ..... $&
    .....
  elseif ($1 == 0) return $&
    .XXXX. $&
    XX..XX $&
    XX.XXX $&
    XXX.XX $&
    .XXXX.
  elseif ($1 == 1) return $&
    .XXXX $&
    XX.XX $&
    ...XX $&
    ...XX $&
    ...XX
  elseif ($1 == 2) return $&
    XXXXX. $&
    ....XX $&
    ..XX.. $&
    XX.... $&
    XXXXXX
  elseif ($1 == 3) return $&
    XXXXX. $&
    ....XX $&
    .XXXX. $&
    ....XX $&
    XXXXX.
  elseif ($1 == 4) return $&
    .....XXX. $&
    ...XX.XX. $&
    .XX...XX. $&
    XXXXXXXXX $&
    ......XX.
  elseif ($1 == 5) return $&
    XXXXX $&
    XX... $&
    XXXX. $&
    ...XX $&
    XXXX.
  elseif ($1 == 6) return $&
    .XXXX. $&
    XX.... $&
    XXXXX. $&
    XX..XX $&
    .XXXX.
  elseif ($1 == 7) return $&
    XXXXXX $&
    ...XX. $&
    ..XX.. $&
    .XX... $&
    XX....
  elseif ($1 == 8) return $&
    .XXXX. $&
    XX..XX $&
    .XXXX. $&
    XX..XX $&
    .XXXX.
  elseif ($1 == 9) return $&
    .XXXX. $&
    XX..XX $&
    .XXXXX $&
    ....XX $&
    .XXXX.
  elseif ($1 == A) return $&
    .XXXX. $&
    XX..XX $&
    XXXXXX $&
    XX..XX $&
    XX..XX
  elseif ($1 == B) return $&
    XXXXX. $&
    XX..XX $&
    XXXXX. $&
    XX..XX $&
    XXXXX.
  elseif ($1 == C) return $&
    .XXXX. $&
    XX..XX $&
    XX.... $&
    XX..XX $&
    .XXXX.
  elseif ($1 == D) return $&
    XXXX.. $&
    XX.XX. $&
    XX..XX $&
    XX..XX $&
    XXXXX.
  elseif ($1 == E) return $&
    XXXXX $&
    XX... $&
    XXXX. $&
    XX... $&
    XXXXX
  elseif ($1 == F) return $&
    XXXXX $&
    XX... $&
    XXXX. $&
    XX... $&
    XX...
  elseif ($1 == G) return $&
    .XXXX. $&
    XX.... $&
    XX.XXX $&
    XX..XX $&
    .XXXXX
  elseif ($1 == H) return $&
    XX...XX $&
    XX...XX $&
    XXXXXXX $&
    XX...XX $&
    XX...XX
  elseif ($1 == I) return $&
    XXXX $&
    .XX. $&
    .XX. $&
    .XX. $&
    XXXX
  elseif ($1 == J) return $&
    ....XX $&
    ....XX $&
    ....XX $&
    XX..XX $&
    .XXXX.
  elseif ($1 == K) return $&
    XX..XX $&
    XX.XX. $&
    XXXX.. $&
    XX.XX. $&
    XX..XX
  elseif ($1 == L) return $&
    XX... $&
    XX... $&
    XX... $&
    XX... $&
    XXXXX
  elseif ($1 == M) return $&
    XX....XX $&
    XXX..XXX $&
    XXXXXXXX $&
    XX.XX.XX $&
    XX....XX
  elseif ($1 == N) return $&
    XX..XX $&
    XXX.XX $&
    XXXXXX $&
    XX.XXX $&
    XX..XX
  elseif ($1 == O) return $&
    .XXXX. $&
    XX..XX $&
    XX..XX $&
    XX..XX $&
    .XXXX.
  elseif ($1 == P) return $&
    XXXXX. $&
    XX..XX $&
    XXXXX. $&
    XX.... $&
    XX....
  elseif ($1 == Q) return $&
    .XXXX.. $&
    XX..XX. $&
    XX..XX. $&
    XX..XX. $&
    .XXXXXX
  elseif ($1 == R) return $&
    XXXXX. $&
    XX..XX $&
    XXXXX. $&
    XX..XX $&
    XX..XX
  elseif ($1 == S) return $&
    .XXXX. $&
    XX.... $&
    .XXXX. $&
    ....XX $&
    XXXXX.
  elseif ($1 == T) return $&
    XXXXXX $&
    ..XX.. $&
    ..XX.. $&
    ..XX.. $&
    ..XX..
  elseif ($1 == U) return $&
    XX..XX $&
    XX..XX $&
    XX..XX $&
    XX..XX $&
    .XXXX.
  elseif ($1 == V) return $&
    XX....XX $&
    XX....XX $&
    .XX..XX. $&
    ..XXXX.. $&
    ...XX...
  elseif ($1 == W) return $&
    XX...XX $&
    XX...XX $&
    XX.X.XX $&
    XXXXXXX $&
    .XX.XX.
  elseif ($1 == X) return $&
    XX...XX $&
    .XX.XX. $&
    ..XXX.. $&
    .XX.XX. $&
    XX...XX
  elseif ($1 == Y) return $&
    XX..XX $&
    XX..XX $&
    .XXXX. $&
    ..XX.. $&
    ..XX..
  elseif ($1 == Z) return $&
    XXXXXX $&
    ...XX. $&
    ..XX.. $&
    .XX... $&
    XXXXXX
  elseif ($1 == $chr(35)) return $&
    .XX..XX. $&
    XXXXXXXX $&
    .XX..XX. $&
    XXXXXXXX $&
    .XX..XX.
  elseif ($1 == ') return $&
    .XX $&
    XX. $&
    ... $&
    ... $&
    ...
  elseif ($1 == ") return $&
    XX..XX $&
    XX..XX $&
    ...... $&
    ...... $&
    ......
  elseif ($1 == +) return $&
    ...... $&
    ..XX.. $&
    XXXXXX $&
    ..XX.. $&
    ......
  elseif ($1 == =) return $&
    ...... $&
    XXXXXX $&
    ...... $&
    XXXXXX $&
    ......
  elseif ($1 == -) return $&
    ...... $&
    ...... $&
    XXXXXX $&
    ...... $&
    ......
  elseif ($1 == _) return $&
    ...... $&
    ...... $&
    ...... $&
    ...... $&
    XXXXXX
  elseif ($1 == ¯) return $&
    XXXXXX $&
    ...... $&
    ...... $&
    ...... $&
    ......
  elseif ($1 == °) return $&
    .XXX. $&
    XX.XX $&
    .XXX. $&
    ..... $&
    .....
  elseif ($1 == :) return $&
    .. $&
    XX $&
    .. $&
    XX $&
    ..
  elseif ($1 == !) return $&
    XX $&
    XX $&
    XX $&
    .. $&
    XX
  elseif ($1 == ?) return $&
    XXX. $&
    ..XX $&
    .XX. $&
    .... $&
    .XX.
  elseif ($1 == .) return $&
    .. $&
    .. $&
    .. $&
    .. $&
    XX
  elseif ($1 == /) return $&
    ....XX $&
    ...XX. $&
    ..XX.. $&
    .XX... $&
    XX....
  elseif ($1 == \) return $&
    XX.... $&
    .XX... $&
    ..XX.. $&
    ...XX. $&
    ....XX
  elseif ($1 == $chr(40)) return $&
    ...XX $&
    .XX.. $&
    XX... $&
    .XX.. $&
    ...XX
  elseif ($1 == $chr(41)) return $&
    XX... $&
    ..XX. $&
    ...XX $&
    ..XX. $&
    XX...
  elseif ($1 == $chr(37)) return $&
    XX..XX $&
    ...XX. $&
    ..XX.. $&
    .XX... $&
    XX..XX
  elseif ($1 == [) return $&
    XXXXX $&
    XX... $&
    XX... $&
    XX... $&
    XXXXX
  elseif ($1 == ]) return $&
    XXXXX $&
    ...XX $&
    ...XX $&
    ...XX $&
    XXXXX
  elseif ($1 == |) return $&
    .XX. $&
    .XX. $&
    .XX. $&
    .XX. $&
    .XX.
  elseif ($1 == <) return $&
    ....XX $&
    ..XX.. $&
    XX.... $&
    ..XX.. $&
    ....XX
  elseif ($1 == >) return $&
    XX.... $&
    ..XX.. $&
    ....XX $&
    ..XX.. $&
    XX....
  elseif ($1 == ¸) return $&
    .... $&
    .... $&
    .XX. $&
    ..XX $&
    XXX.
  elseif ($1 == ,) return $&
    ... $&
    ... $&
    XXX $&
    .XX $&
    XX. 
  elseif ($1 == ^) return $&
    ..XX.. $&
    X....X $&
    ....... $&
    ....... $&
    .......
  elseif ($1 == ;) return $&
    XXX $&
    ...$&
    XXX $&
    .XX $&
    XX. 
  elseif ($1 == ü) return $&
    XX..XX $&
    ...... $&
    XX..XX $&
    XX..XX $&
    .XXXX.
}
 
 
; Returns all unsupported characters within a Big Text message
; Supported characters are a-z, space, digits, #'"+=°:!?./\()%-[]<>|¸,
alias bigtext.unsupp {
  var %res, %dummy = $regsub($1-, /[]a-z  0-9# $+ $chr(44) $+ '+ü=°^;:!?./\\()%[|<>_¯"¸-]/igS, $null, %res)
  return %res
}
 
; Returns $true if a space should be added between two characters,
;   or $false if not.
; Note: This is here only for aesthetic purposes. :)
alias bigtext.kern {
  var %res $true
  if ($regex($1-, /^(.|[_GDSQL-]T|[TPFVY7/"]J|T\.|L[1Y\\"]|[LTK<[]-|-[]>%\\]|S1|T4|\?\.|\.\?|[467L\\]°|°[J/]|L'|\/\/|\\\\|¯J|[]¯|[¯T_]_|>\.|\.<)$/i)) %res = $false
  return %res
}
 
; Takes an input string of the form:
; .XX..XX....XX.XX.XXXXX
; And formats it for display.
alias bigtext.format {
  var %res, %i 1, %previous 0, %current, %curcolor, %colregex /^(\d\d?(?:,\d\d?)?)/
  while (%i <= $len($1-)) {
    if ($mid($1-, %i, 1) == $chr(3)) {
      if ($regex(mtcol, $mid($1-, $calc(%i + 1), $mid($1-, $calc(%i + 1), 0)), %colregex)) {
        if ($gettok($regml(mtcol, 1), 1, 44) != %curcolor) {
          %curcolor = $gettok($regml(mtcol, 1), 1, 44)
          if (%i != 1) && ($mid($1-, $calc(%i - 1), 1) == X) %res = %res $+ $chr(15)
        }
        inc %i $len($regml(mtcol, 1))
      }
      elseif (%curcolor) {
        %curcolor =
        if (%i != 1) && ($mid($1-, $calc(%i - 1), 1) == X) %res = %res $+ $chr(15)
      }
    }
    else {
      %current = $iif($mid($1-, %i, 1) == ., 0, 1)
      if (%previous != %current) {
        %previous = %current
        if (%curcolor) {
          if (%current) %res = %res $+ $chr(3) $+ %curcolor $+ , $+ %curcolor
          else %res = %res $+ $chr(3)
        }
        else %res = %res $+ $chr(22)
      }
      %res = %res $+ $chr(160)
    }
    inc %i
  }
  return %res
}
 
alias gayshit {
  var %g = $chr(2) $chr(31)
  var %p = $numtok(%g,32)
  var %l = $len($1-) , %tx
  var %ct $replace($1-,$chr(32))
  var %i = 0
  while (%i <= %l) {
    var %r = $r(1,2)
    inc %i
    if (%r == 1) {
      %tx = %tx $+ $+($gettok(%g,$r(1,%p),32),$mid(%ct,%i,1))
    }
    if (%r == 2) {
      %tx = %tx $+ $+($gettok(%g,$r(1,%g),32),$mid(%ct,%i,1),$gettok(%g,$r(1,%p),32))
    }
  }
  return $replace(%tx,ã,$chr(32))
}
alias rainbowtxt {
  if (%countertxt == $null) { set %countertxt 1 }
  set %countertxt $calc(%countertxt + 1)
  if (%countertxt > 7) set %countertxt 1
  var %coltxt 04 07 08 09 11 12 13
  var %rbotxt 1 , %rbtxt %countertxt , %txatxt
  var %cttxt $replace($1-,$chr(32)) , %rttxt 1
  while (%rbotxt < $CALC($len(%cttxt) + 1 )) {
    if (%rbtxt > 7) %rbtxt = 1
    %txatxt = %txatxt $+ $($chr(3) $+ $gettok(%coltxt,%rbtxt,32)) $+ $mid(%cttxt,%rbotxt,1)
    inc %rbotxt
    inc %rbtxt
  }
  set %rrtxt %rbtxt
  return $replace(%txatxt,ã,$chr(32))
}
alias rainbow {
  if (%counter == $null) { set %counter 1 }
  set %counter $calc(%counter + 1)
  if (%counter > 12) set %counter 1
  var %col 04 07 08 09 03 10 11 12 02 06 13 05
  var %rbo 1 , %rb %counter , %txa
  var %ct $replace($1-,$chr(32)) , %rt 1
  while (%rbo < $CALC($len(%ct) + 1 )) {
    if (%rb > 12) %rb = 1
    %txa = %txa $+ $($chr(3) $+ $gettok(%col,%rb,32)) $+ $mid(%ct,%rbo,1)
    inc %rbo
    inc %rb
  }
  set %rr %rb
  return $replace(%txa,ã,$chr(32))
}
alias r {
  say  $+ $rainbow($1-);
}
alias gs {
  say $gayshit($1-);
}
alias rgs {
  say $rainbow($gayshit($1-));
}
alias warning { 
  say 8,1W1,8A8,1R1,8N8,1I1,8N8,1G0,4  $& $upper($1-) $& 8,1W1,8A8,1R1,8N8,1I1,8N8,1G
}
alias caution {
  say 8,1C1,8A8,1U1,8T8,1I1,8O8,1N0,4  $& $upper($1-) $& 8,1C1,8A8,1U1,8T8,1I1,8O8,1N
}
alias alert {
  say 8,1A1,8L8,1E1,8R8,1T1,80,4  $& $upper($1-) $& 8,1A1,8L8,1E1,8R8,1T
}
alias fb {
  say 8,0***FLASH0,8BANG*** $& $upper($1-) $& 8,0***FLASH0,8BANG***
  say 0,8***FLASH8,0BANG*** $& $upper($1-) $& 0,8***FLASH8,0BANG***
}
alias piss {
  say 5,8piss on me8,5piss on me5,8piss on me8,5piss on me5,8piss on me8,5piss on me
  say 8,5piss on me5,8piss on me8,5piss on me5,8piss on me8,5piss on me5,8piss on me
}
alias sekretmsg {
  say <sekretmsg $1 $+ > $+ $2- $+ </sekretmsg>
}
alias xmas1 {
  var %i = 1
  while (%i <= $0) {
    if (%switch1 == 0) {
      set %switch1 1
      set %col 04,09
      goto skip
    }
    if (%switch1 == 1) {
      set %switch1 0
      set %col 09,04
      goto skip
    }
    :skip
    var %output = %output $& %col $+ $gettok($1-,%i,32)
    inc %i
  }
  say %output
}
 
alias xmas2 {
  set %start %switch2
  var %i = 1
  var %x $replace($1-,$chr(32))
  while (%i <= $len(%x)) {
    if ($mid(%x,%i,1) == ª) {
      set %col 00
      goto skip
    }
    if (%switch2 == 0) {
      set %switch2 1
      set %col 09,04
      goto skip
    }
    if (%switch2 == 1) {
      set %switch2 0
      set %col 04,09
      goto skip
    }
    :skip
    var %output = %output $+ %col $+ $mid(%x,%i,1))
    inc %i
  }
  say $replace(%output,ª,$chr(32))
  if (%start == %switch2) {
    if (%switch2 == 1) {
      set %switch2 0
      halt
    }
    if (%switch2 == 0) {
      set %switch2 1
      halt
    }
  }
}
 

latest pastes