alias colors { var %length = $len($1-) var %letter = 1 while (%letter <= %length) { if ($mid($1-,%letter,1) == $chr(32)) { var %output = %output $+ & goto xxx } var %output = %output $+ $+ $rand(03,013) $+ $mid($1-,%letter,1) :xxx inc %letter } var %output = $replace(%output,$chr(38),$chr(32)) msg $active %output } alias rev { var %len = $len($1-) var %return = $null while (%len > 0) { var %return = %return $+ $mid($1-,%len,1) $+ $chr(32) dec %len } return %return } alias reverse //say $rev( $1- ) alias mereverse //me $rev( $1- ) alias rainbow { var %pos = 1, %color = 04, %result = $chr(3) while (%pos <= $len($1-)) { %result = %result $+ %color $+ $mid($1-,%pos,1) $+ $chr(3) inc %pos %color = $nextcolor(%color) } if ($isid) return %result else say %result } alias -l nextcolor { if ($$1 == 04) return 07 elseif ($$1 == 07) return 08 elseif ($$1 == 08) return 09 elseif ($$1 == 09) return 11 elseif ($$1 == 11) return 12 elseif ($$1 == 12) return 02 elseif ($$1 == 02) return 06 elseif ($$1 == 06) return 13 elseif ($$1 == 13) return 04 } alias mt { 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) } ; 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 $& .. $& 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 $& ... $& ... $& XXX $& .XX $& XX. elseif ($1 == ^) return $& ....XX.... $& ..XX..XX.. $& XX......XX $& .......... $& .......... elseif ($1 == ~) return $& ................ $& XXXX...XXXXX.... $& ...XXXXX...XXXXX $& ................ $& ................ } ; 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 mtrainbow //mt $rainbow( $+ $1- $+ ) 001 alias colors { 002 var %length = $len($1-) 003 var %letter = 1 004 while (%letter <= %length) { 005 if ($mid($1-,%letter,1) == $chr(32)) { 006 var %output = %output $+ & 007 goto xxx 008 } 009 var %output = %output $+ $+ $rand(03,013) $+ $mid($1-,%letter,1) 010 :xxx 011 inc %letter 012 } 013 var %output = $replace(%output,$chr(38),$chr(32)) 014 msg $active %output 015 } 016 017 018 019 alias rev { 020 var %len = $len($1-) 021 var %return = $null 022 while (%len > 0) { 023 var %return = %return $+ $mid($1-,%len,1) $+ $chr(32) 024 dec %len 025 } 026 return %return 027 } 028 alias reverse //say $rev( $1- ) 029 alias mereverse //me $rev( $1- ) 030 031 032 033 034 alias rainbow { 035 var %pos = 1, %color = 04, %result = $chr(3) 036 while (%pos <= $len($1-)) { 037 %result = %result $+ %color $+ $mid($1-,%pos,1) $+ $chr(3) 038 inc %pos 039 %color = $nextcolor(%color) 040 } 041 if ($isid) return %result 042 else say %result 043 } 044 045 alias -l nextcolor { 046 if ($$1 == 04) return 07 047 elseif ($$1 == 07) return 08 048 elseif ($$1 == 08) return 09 049 elseif ($$1 == 09) return 11 050 elseif ($$1 == 11) return 12 051 elseif ($$1 == 12) return 02 052 elseif ($$1 == 02) return 06 053 elseif ($$1 == 06) return 13 054 elseif ($$1 == 13) return 04 055 } 056 057 058 059 060 061 062 alias mt { 063 if ($bigtext.unsupp($1-)) { 064 echo -ac info * Characters not supported by Big Text present in your message: $bigtext.unsupp($1-) 065 return 066 } 067 var %lia, %lib, %lic, %lid, %lie, %i 1, %text $strip($1-, bur), %colregex /^(\d\d?(?:,\d\d?)?)/ 068 069 var %regex = /(?<= $+ $chr(3) $+ [0-9]| $+ $chr(3) $+ [0-9][0-9]) $+ $chr(44) $+ \d\d?/g, %res, %dummy = $regsub(%text, %regex, $null, %text) 070 071 while (%i <= $len(%text)) { 072 if ($mid(%text, %i, 1) == $chr(3)) { 073 var %lia $+(%lia, $chr(3)), %lib $+(%lib, $chr(3)), %lic $+(%lic, $chr(3)), %lid $+(%lid, $chr(3)), %lie $+(%lie, $chr(3)) 074 if ($mid(%text, $calc(%i + 1), 1) != $chr(32)) && ($regex(mtcol, $mid(%text, $calc(%i + 1), $mid(%text, $calc(%i + 1), 0)), %colregex)) { 075 var %m $regml(mtcol, 1) 076 var %lia %lia $+ %m, %lib %lib $+ %m, %lic %lic $+ %m, %lid %lid $+ %m, %lie %lie $+ %m 077 inc %i $len(%m) 078 } 079 } 080 else { 081 tokenize 32 $bigtext.char($mid(%text, %i, 1)) 082 var %lia $+(%lia, $1), %lib $+(%lib, $2), %lic $+(%lic, $3), %lid $+(%lid, $4), %lie $+(%lie, $5) 083 ; if ($bigtext.kern($mid(%text, %i, 2))) { 084 var %lia $+(%lia, .), %lib $+(%lib, .), %lic $+(%lic, .), %lid $+(%lid, .), %lie $+(%lie, .) 085 ; } 086 } 087 inc %i 088 } 089 say $bigtext.format(%lia) 090 say $bigtext.format(%lib) 091 say $bigtext.format(%lic) 092 say $bigtext.format(%lid) 093 say $bigtext.format(%lie) 094 } 095 096 ; You may customize this alias however you want to. 097 ; It is Big Text's font, used above. 098 ; The return value consists of dots and X's, to denote 099 ; unlit and lit points in the font, respectively; 100 ; there are 5 tokens of the same length, each 101 ; corresponding to a line in the 5-line output. 102 ; Note how the . and X's look like the characters; 103 ; you can use this to your advantage! 104 alias -l bigtext.char { 105 if ($1 === $chr(32)) || ($1 === $null) return $& 106 ... $& 107 ... $& 108 ... $& 109 ... $& 110 ... 111 if ($1 === $chr(160)) return $& 112 ..... $& 113 ..... $& 114 ..... $& 115 ..... $& 116 ..... 117 elseif ($1 == 0) return $& 118 .XXXX. $& 119 XX..XX $& 120 XX.XXX $& 121 XXX.XX $& 122 .XXXX. 123 elseif ($1 == 1) return $& 124 .XXXX $& 125 XX.XX $& 126 ...XX $& 127 ...XX $& 128 ...XX 129 elseif ($1 == 2) return $& 130 XXXXX. $& 131 ....XX $& 132 ..XX.. $& 133 XX.... $& 134 XXXXXX 135 elseif ($1 == 3) return $& 136 XXXXX. $& 137 ....XX $& 138 .XXXX. $& 139 ....XX $& 140 XXXXX. 141 elseif ($1 == 4) return $& 142 .....XXX. $& 143 ...XX.XX. $& 144 .XX...XX. $& 145 XXXXXXXXX $& 146 ......XX. 147 elseif ($1 == 5) return $& 148 XXXXX $& 149 XX... $& 150 XXXX. $& 151 ...XX $& 152 XXXX. 153 elseif ($1 == 6) return $& 154 .XXXX. $& 155 XX.... $& 156 XXXXX. $& 157 XX..XX $& 158 .XXXX. 159 elseif ($1 == 7) return $& 160 XXXXXX $& 161 ...XX. $& 162 ..XX.. $& 163 .XX... $& 164 XX.... 165 elseif ($1 == 8) return $& 166 .XXXX. $& 167 XX..XX $& 168 .XXXX. $& 169 XX..XX $& 170 .XXXX. 171 elseif ($1 == 9) return $& 172 .XXXX. $& 173 XX..XX $& 174 .XXXXX $& 175 ....XX $& 176 .XXXX. 177 elseif ($1 == A) return $& 178 .XXXX. $& 179 XX..XX $& 180 XXXXXX $& 181 XX..XX $& 182 XX..XX 183 elseif ($1 == B) return $& 184 XXXXX. $& 185 XX..XX $& 186 XXXXX. $& 187 XX..XX $& 188 XXXXX. 189 elseif ($1 == C) return $& 190 .XXXX. $& 191 XX..XX $& 192 XX.... $& 193 XX..XX $& 194 .XXXX. 195 elseif ($1 == D) return $& 196 XXXX.. $& 197 XX.XX. $& 198 XX..XX $& 199 XX..XX $& 200 XXXXX. 201 elseif ($1 == E) return $& 202 XXXXX $& 203 XX... $& 204 XXXX. $& 205 XX... $& 206 XXXXX 207 elseif ($1 == F) return $& 208 XXXXX $& 209 XX... $& 210 XXXX. $& 211 XX... $& 212 XX... 213 elseif ($1 == G) return $& 214 .XXXX. $& 215 XX.... $& 216 XX.XXX $& 217 XX..XX $& 218 .XXXXX 219 elseif ($1 == H) return $& 220 XX...XX $& 221 XX...XX $& 222 XXXXXXX $& 223 XX...XX $& 224 XX...XX 225 elseif ($1 == I) return $& 226 XXXX $& 227 .XX. $& 228 .XX. $& 229 .XX. $& 230 XXXX 231 elseif ($1 == J) return $& 232 ....XX $& 233 ....XX $& 234 ....XX $& 235 XX..XX $& 236 .XXXX. 237 elseif ($1 == K) return $& 238 XX..XX $& 239 XX.XX. $& 240 XXXX.. $& 241 XX.XX. $& 242 XX..XX 243 elseif ($1 == L) return $& 244 XX... $& 245 XX... $& 246 XX... $& 247 XX... $& 248 XXXXX 249 elseif ($1 == M) return $& 250 XX....XX $& 251 XXX..XXX $& 252 XXXXXXXX $& 253 XX.XX.XX $& 254 XX....XX 255 elseif ($1 == N) return $& 256 XX..XX $& 257 XXX.XX $& 258 XXXXXX $& 259 XX.XXX $& 260 XX..XX 261 elseif ($1 == O) return $& 262 .XXXX. $& 263 XX..XX $& 264 XX..XX $& 265 XX..XX $& 266 .XXXX. 267 elseif ($1 == P) return $& 268 XXXXX. $& 269 XX..XX $& 270 XXXXX. $& 271 XX.... $& 272 XX.... 273 elseif ($1 == Q) return $& 274 .XXXX.. $& 275 XX..XX. $& 276 XX..XX. $& 277 XX..XX. $& 278 .XXXXXX 279 elseif ($1 == R) return $& 280 XXXXX. $& 281 XX..XX $& 282 XXXXX. $& 283 XX..XX $& 284 XX..XX 285 elseif ($1 == S) return $& 286 .XXXX. $& 287 XX.... $& 288 .XXXX. $& 289 ....XX $& 290 XXXXX. 291 elseif ($1 == T) return $& 292 XXXXXX $& 293 ..XX.. $& 294 ..XX.. $& 295 ..XX.. $& 296 ..XX.. 297 elseif ($1 == U) return $& 298 XX..XX $& 299 XX..XX $& 300 XX..XX $& 301 XX..XX $& 302 .XXXX. 303 elseif ($1 == V) return $& 304 XX....XX $& 305 XX....XX $& 306 .XX..XX. $& 307 ..XXXX.. $& 308 ...XX... 309 elseif ($1 == W) return $& 310 XX...XX $& 311 XX...XX $& 312 XX.X.XX $& 313 XXXXXXX $& 314 .XX.XX. 315 elseif ($1 == X) return $& 316 XX...XX $& 317 .XX.XX. $& 318 ..XXX.. $& 319 .XX.XX. $& 320 XX...XX 321 elseif ($1 == Y) return $& 322 XX..XX $& 323 XX..XX $& 324 .XXXX. $& 325 ..XX.. $& 326 ..XX.. 327 elseif ($1 == Z) return $& 328 XXXXXX $& 329 ...XX. $& 330 ..XX.. $& 331 .XX... $& 332 XXXXXX 333 elseif ($1 == $chr(35)) return $& 334 .XX..XX. $& 335 XXXXXXXX $& 336 .XX..XX. $& 337 XXXXXXXX $& 338 .XX..XX. 339 elseif ($1 == ') return $& 340 .XX $& 341 XX. $& 342 ... $& 343 ... $& 344 ... 345 elseif ($1 == ") return $& 346 XX..XX $& 347 XX..XX $& 348 ...... $& 349 ...... $& 350 ...... 351 elseif ($1 == +) return $& 352 ...... $& 353 ..XX.. $& 354 XXXXXX $& 355 ..XX.. $& 356 ...... 357 elseif ($1 == =) return $& 358 ...... $& 359 XXXXXX $& 360 ...... $& 361 XXXXXX $& 362 ...... 363 elseif ($1 == -) return $& 364 ...... $& 365 ...... $& 366 XXXXXX $& 367 ...... $& 368 ...... 369 elseif ($1 == _) return $& 370 ...... $& 371 ...... $& 372 ...... $& 373 ...... $& 374 XXXXXX 387 elseif ($1 == :) return $& 388 .. $& 389 XX $& 390 .. $& 391 XX $& 392 .. 393 elseif ($1 == !) return $& 394 XX $& 395 XX $& 396 XX $& 397 .. $& 398 XX 399 elseif ($1 == ?) return $& 400 XXX. $& 401 ..XX $& 402 .XX. $& 403 .... $& 404 .XX. 405 elseif ($1 == .) return $& 406 .. $& 407 .. $& 408 .. $& 409 .. $& 410 XX 411 elseif ($1 == /) return $& 412 ....XX $& 413 ...XX. $& 414 ..XX.. $& 415 .XX... $& 416 XX.... 417 elseif ($1 == \) return $& 418 XX.... $& 419 .XX... $& 420 ..XX.. $& 421 ...XX. $& 422 ....XX 423 elseif ($1 == $chr(40)) return $& 424 ...XX $& 425 .XX.. $& 426 XX... $& 427 .XX.. $& 428 ...XX 429 elseif ($1 == $chr(41)) return $& 430 XX... $& 431 ..XX. $& 432 ...XX $& 433 ..XX. $& 434 XX... 435 elseif ($1 == $chr(37)) return $& 436 XX..XX $& 437 ...XX. $& 438 ..XX.. $& 439 .XX... $& 440 XX..XX 441 elseif ($1 == [) return $& 442 XXXXX $& 443 XX... $& 444 XX... $& 445 XX... $& 446 XXXXX 447 elseif ($1 == ]) return $& 448 XXXXX $& 449 ...XX $& 450 ...XX $& 451 ...XX $& 452 XXXXX 453 elseif ($1 == |) return $& 454 .XX. $& 455 .XX. $& 456 .XX. $& 457 .XX. $& 458 .XX. 459 elseif ($1 == <) return $& 460 ....XX $& 461 ..XX.. $& 462 XX.... $& 463 ..XX.. $& 464 ....XX 465 elseif ($1 == >) return $& 466 XX.... $& 467 ..XX.. $& 468 ....XX $& 469 ..XX.. $& 470 XX.... 471 elseif ($1 == ) return $& 472 .... $& 473 .... $& 474 .XX. $& 475 ..XX $& 476 XXX. 477 elseif ($1 == ,) return $& 478 ... $& 479 ... $& 480 XXX $& 481 .XX $& 482 XX. 483 } 484 485 486 ; Returns all unsupported characters within a Big Text message 487 ; Supported characters are a-z, space, digits, #'"+=:!?./\()%-[]<>|, 488 alias bigtext.unsupp { 489 var %res, %dummy = $regsub($1-, /[]a-z 0-9# $+ $chr(44) $+ '+=:!?./\\()%[|<>_"-]/igS, $null, %res) 490 return %res 491 } 492 493 ; Returns $true if a space should be added between two characters, 494 ; or $false if not. 495 ; Note: This is here only for aesthetic purposes. :) 496 alias bigtext.kern { 497 var %res $true 498 if ($regex($1-, /^(.|[_GDSQL-]T|[TPFVY7/"]J|T\.|L[1Y\\"]|[LTK<[]-|-[]>%\\]|S1|T4|\?\.|\.\?|[467L\\]|[J/]|L'|\/\/|\\\\|J|[_]|[T_]_|>\.|\.<)$/i)) %res = $false 499 return %res 500 } 501 502 ; Takes an input string of the form: 503 ; .XX..XX....XX.XX.XXXXX 504 ; And formats it for display. 505 alias bigtext.format { 506 var %res, %i 1, %previous 0, %current, %curcolor, %colregex /^(\d\d?(?:,\d\d?)?)/ 507 while (%i <= $len($1-)) { 508 if ($mid($1-, %i, 1) == $chr(3)) { 509 if ($regex(mtcol, $mid($1-, $calc(%i + 1), $mid($1-, $calc(%i + 1), 0)), %colregex)) { 510 if ($gettok($regml(mtcol, 1), 1, 44) != %curcolor) { 511 %curcolor = $gettok($regml(mtcol, 1), 1, 44) 512 if (%i != 1) && ($mid($1-, $calc(%i - 1), 1) == X) %res = %res $+ $chr(15) 513 } 514 inc %i $len($regml(mtcol, 1)) 515 } 516 elseif (%curcolor) { 517 %curcolor = 518 if (%i != 1) && ($mid($1-, $calc(%i - 1), 1) == X) %res = %res $+ $chr(15) 519 } 520 } 521 else { 522 %current = $iif($mid($1-, %i, 1) == ., 0, 1) 523 if (%previous != %current) { 524 %previous = %current 525 if (%curcolor) { 526 if (%current) %res = %res $+ $chr(3) $+ %curcolor $+ , $+ %curcolor 527 else %res = %res $+ $chr(3) 528 } 529 else %res = %res $+ $chr(22) 530 } 531 %res = %res $+ $chr(160) 532 } 533 inc %i 534 } 535 return %res 536 } 537 538 alias mtrainbow //mt $rainbow( $+ $1- $+ ) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538alias colors { var %length = $len($1-) var %letter = 1 while (%letter <= %length) { if ($mid($1-,%letter,1) == $chr(32)) { var %output = %output $+ & goto xxx } var %output = %output $+ $+ $rand(03,013) $+ $mid($1-,%letter,1) :xxx inc %letter } var %output = $replace(%output,$chr(38),$chr(32)) msg $active %output } alias rev { var %len = $len($1-) var %return = $null while (%len > 0) { var %return = %return $+ $mid($1-,%len,1) $+ $chr(32) dec %len } return %return } alias reverse //say $rev( $1- ) alias mereverse //me $rev( $1- ) alias rainbow { var %pos = 1, %color = 04, %result = $chr(3) while (%pos <= $len($1-)) { %result = %result $+ %color $+ $mid($1-,%pos,1) $+ $chr(3) inc %pos %color = $nextcolor(%color) } if ($isid) return %result else say %result } alias -l nextcolor { if ($$1 == 04) return 07 elseif ($$1 == 07) return 08 elseif ($$1 == 08) return 09 elseif ($$1 == 09) return 11 elseif ($$1 == 11) return 12 elseif ($$1 == 12) return 02 elseif ($$1 == 02) return 06 elseif ($$1 == 06) return 13 elseif ($$1 == 13) return 04 } alias mt { 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) } ; 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 $& .. $& 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. } ; 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 mtrainbow //mt $rainbow( $+ $1- $+ )alias colors { var %length = $len($1-) var %letter = 1 while (%letter <= %length) { if ($mid($1-,%letter,1) == $chr(32)) { var %output = %output $+ & goto xxx } var %output = %output $+ $+ $rand(03,013) $+ $mid($1-,%letter,1) :xxx inc %letter } var %output = $replace(%output,$chr(38),$chr(32)) msg $active %output } alias rev { var %len = $len($1-) var %return = $null while (%len > 0) { var %return = %return $+ $mid($1-,%len,1) $+ $chr(32) dec %len } return %return } alias reverse //say $rev( $1- ) alias mereverse //me $rev( $1- ) alias rainbow { var %pos = 1, %color = 04, %result = $chr(3) while (%pos <= $len($1-)) { %result = %result $+ %color $+ $mid($1-,%pos,1) $+ $chr(3) inc %pos %color = $nextcolor(%color) } if ($isid) return %result else say %result } alias -l nextcolor { if ($$1 == 04) return 07 elseif ($$1 == 07) return 08 elseif ($$1 == 08) return 09 elseif ($$1 == 09) return 11 elseif ($$1 == 11) return 12 elseif ($$1 == 12) return 02 elseif ($$1 == 02) return 06 elseif ($$1 == 06) return 13 elseif ($$1 == 13) return 04 } alias mt { 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) } ; 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 $& .. $& 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. } ; 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 mtrainbow //mt $rainbow( $+ $1- $+ ) 001 alias colors { 002 var %length = $len($1-) 003 var %letter = 1 004 while (%letter <= %length) { 005 if ($mid($1-,%letter,1) == $chr(32)) { 006 var %output = %output $+ & 007 goto xxx 008 } 009 var %output = %output $+ $+ $rand(03,013) $+ $mid($1-,%letter,1) 010 :xxx 011 inc %letter 012 } 013 var %output = $replace(%output,$chr(38),$chr(32)) 014 msg $active %output 015 } 016 017 018 019 alias rev { 020 var %len = $len($1-) 021 var %return = $null 022 while (%len > 0) { 023 var %return = %return $+ $mid($1-,%len,1) $+ $chr(32) 024 dec %len 025 } 026 return %return 027 } 028 alias reverse //say $rev( $1- ) 029 alias mereverse //me $rev( $1- ) 030 031 032 033 034 alias rainbow { 035 var %pos = 1, %color = 04, %result = $chr(3) 036 while (%pos <= $len($1-)) { 037 %result = %result $+ %color $+ $mid($1-,%pos,1) $+ $chr(3) 038 inc %pos 039 %color = $nextcolor(%color) 040 } 041 if ($isid) return %result 042 else say %result 043 } 044 045 alias -l nextcolor { 046 if ($$1 == 04) return 07 047 elseif ($$1 == 07) return 08 048 elseif ($$1 == 08) return 09 049 elseif ($$1 == 09) return 11 050 elseif ($$1 == 11) return 12 051 elseif ($$1 == 12) return 02 052 elseif ($$1 == 02) return 06 053 elseif ($$1 == 06) return 13 054 elseif ($$1 == 13) return 04 055 } 056 057 058 059 060 061 062 alias mt { 063 if ($bigtext.unsupp($1-)) { 064 echo -ac info * Characters not supported by Big Text present in your message: $bigtext.unsupp($1-) 065 return 066 } 067 var %lia, %lib, %lic, %lid, %lie, %i 1, %text $strip($1-, bur), %colregex /^(\d\d?(?:,\d\d?)?)/ 068 069 var %regex = /(?<= $+ $chr(3) $+ [0-9]| $+ $chr(3) $+ [0-9][0-9]) $+ $chr(44) $+ \d\d?/g, %res, %dummy = $regsub(%text, %regex, $null, %text) 070 071 while (%i <= $len(%text)) { 072 if ($mid(%text, %i, 1) == $chr(3)) { 073 var %lia $+(%lia, $chr(3)), %lib $+(%lib, $chr(3)), %lic $+(%lic, $chr(3)), %lid $+(%lid, $chr(3)), %lie $+(%lie, $chr(3)) 074 if ($mid(%text, $calc(%i + 1), 1) != $chr(32)) && ($regex(mtcol, $mid(%text, $calc(%i + 1), $mid(%text, $calc(%i + 1), 0)), %colregex)) { 075 var %m $regml(mtcol, 1) 076 var %lia %lia $+ %m, %lib %lib $+ %m, %lic %lic $+ %m, %lid %lid $+ %m, %lie %lie $+ %m 077 inc %i $len(%m) 078 } 079 } 080 else { 081 tokenize 32 $bigtext.char($mid(%text, %i, 1)) 082 var %lia $+(%lia, $1), %lib $+(%lib, $2), %lic $+(%lic, $3), %lid $+(%lid, $4), %lie $+(%lie, $5) 083 ; if ($bigtext.kern($mid(%text, %i, 2))) { 084 var %lia $+(%lia, .), %lib $+(%lib, .), %lic $+(%lic, .), %lid $+(%lid, .), %lie $+(%lie, .) 085 ; } 086 } 087 inc %i 088 } 089 say $bigtext.format(%lia) 090 say $bigtext.format(%lib) 091 say $bigtext.format(%lic) 092 say $bigtext.format(%lid) 093 say $bigtext.format(%lie) 094 } 095 096 ; You may customize this alias however you want to. 097 ; It is Big Text's font, used above. 098 ; The return value consists of dots and X's, to denote 099 ; unlit and lit points in the font, respectively; 100 ; there are 5 tokens of the same length, each 101 ; corresponding to a line in the 5-line output. 102 ; Note how the . and X's look like the characters; 103 ; you can use this to your advantage! 104 alias -l bigtext.char { 105 if ($1 === $chr(32)) || ($1 === $null) return $& 106 ... $& 107 ... $& 108 ... $& 109 ... $& 110 ... 111 if ($1 === $chr(160)) return $& 112 ..... $& 113 ..... $& 114 ..... $& 115 ..... $& 116 ..... 117 elseif ($1 == 0) return $& 118 .XXXX. $& 119 XX..XX $& 120 XX.XXX $& 121 XXX.XX $& 122 .XXXX. 123 elseif ($1 == 1) return $& 124 .XXXX $& 125 XX.XX $& 126 ...XX $& 127 ...XX $& 128 ...XX 129 elseif ($1 == 2) return $& 130 XXXXX. $& 131 ....XX $& 132 ..XX.. $& 133 XX.... $& 134 XXXXXX 135 elseif ($1 == 3) return $& 136 XXXXX. $& 137 ....XX $& 138 .XXXX. $& 139 ....XX $& 140 XXXXX. 141 elseif ($1 == 4) return $& 142 .....XXX. $& 143 ...XX.XX. $& 144 .XX...XX. $& 145 XXXXXXXXX $& 146 ......XX. 147 elseif ($1 == 5) return $& 148 XXXXX $& 149 XX... $& 150 XXXX. $& 151 ...XX $& 152 XXXX. 153 elseif ($1 == 6) return $& 154 .XXXX. $& 155 XX.... $& 156 XXXXX. $& 157 XX..XX $& 158 .XXXX. 159 elseif ($1 == 7) return $& 160 XXXXXX $& 161 ...XX. $& 162 ..XX.. $& 163 .XX... $& 164 XX.... 165 elseif ($1 == 8) return $& 166 .XXXX. $& 167 XX..XX $& 168 .XXXX. $& 169 XX..XX $& 170 .XXXX. 171 elseif ($1 == 9) return $& 172 .XXXX. $& 173 XX..XX $& 174 .XXXXX $& 175 ....XX $& 176 .XXXX. 177 elseif ($1 == A) return $& 178 .XXXX. $& 179 XX..XX $& 180 XXXXXX $& 181 XX..XX $& 182 XX..XX 183 elseif ($1 == B) return $& 184 XXXXX. $& 185 XX..XX $& 186 XXXXX. $& 187 XX..XX $& 188 XXXXX. 189 elseif ($1 == C) return $& 190 .XXXX. $& 191 XX..XX $& 192 XX.... $& 193 XX..XX $& 194 .XXXX. 195 elseif ($1 == D) return $& 196 XXXX.. $& 197 XX.XX. $& 198 XX..XX $& 199 XX..XX $& 200 XXXXX. 201 elseif ($1 == E) return $& 202 XXXXX $& 203 XX... $& 204 XXXX. $& 205 XX... $& 206 XXXXX 207 elseif ($1 == F) return $& 208 XXXXX $& 209 XX... $& 210 XXXX. $& 211 XX... $& 212 XX... 213 elseif ($1 == G) return $& 214 .XXXX. $& 215 XX.... $& 216 XX.XXX $& 217 XX..XX $& 218 .XXXXX 219 elseif ($1 == H) return $& 220 XX...XX $& 221 XX...XX $& 222 XXXXXXX $& 223 XX...XX $& 224 XX...XX 225 elseif ($1 == I) return $& 226 XXXX $& 227 .XX. $& 228 .XX. $& 229 .XX. $& 230 XXXX 231 elseif ($1 == J) return $& 232 ....XX $& 233 ....XX $& 234 ....XX $& 235 XX..XX $& 236 .XXXX. 237 elseif ($1 == K) return $& 238 XX..XX $& 239 XX.XX. $& 240 XXXX.. $& 241 XX.XX. $& 242 XX..XX 243 elseif ($1 == L) return $& 244 XX... $& 245 XX... $& 246 XX... $& 247 XX... $& 248 XXXXX 249 elseif ($1 == M) return $& 250 XX....XX $& 251 XXX..XXX $& 252 XXXXXXXX $& 253 XX.XX.XX $& 254 XX....XX 255 elseif ($1 == N) return $& 256 XX..XX $& 257 XXX.XX $& 258 XXXXXX $& 259 XX.XXX $& 260 XX..XX 261 elseif ($1 == O) return $& 262 .XXXX. $& 263 XX..XX $& 264 XX..XX $& 265 XX..XX $& 266 .XXXX. 267 elseif ($1 == P) return $& 268 XXXXX. $& 269 XX..XX $& 270 XXXXX. $& 271 XX.... $& 272 XX.... 273 elseif ($1 == Q) return $& 274 .XXXX.. $& 275 XX..XX. $& 276 XX..XX. $& 277 XX..XX. $& 278 .XXXXXX 279 elseif ($1 == R) return $& 280 XXXXX. $& 281 XX..XX $& 282 XXXXX. $& 283 XX..XX $& 284 XX..XX 285 elseif ($1 == S) return $& 286 .XXXX. $& 287 XX.... $& 288 .XXXX. $& 289 ....XX $& 290 XXXXX. 291 elseif ($1 == T) return $& 292 XXXXXX $& 293 ..XX.. $& 294 ..XX.. $& 295 ..XX.. $& 296 ..XX.. 297 elseif ($1 == U) return $& 298 XX..XX $& 299 XX..XX $& 300 XX..XX $& 301 XX..XX $& 302 .XXXX. 303 elseif ($1 == V) return $& 304 XX....XX $& 305 XX....XX $& 306 .XX..XX. $& 307 ..XXXX.. $& 308 ...XX... 309 elseif ($1 == W) return $& 310 XX...XX $& 311 XX...XX $& 312 XX.X.XX $& 313 XXXXXXX $& 314 .XX.XX. 315 elseif ($1 == X) return $& 316 XX...XX $& 317 .XX.XX. $& 318 ..XXX.. $& 319 .XX.XX. $& 320 XX...XX 321 elseif ($1 == Y) return $& 322 XX..XX $& 323 XX..XX $& 324 .XXXX. $& 325 ..XX.. $& 326 ..XX.. 327 elseif ($1 == Z) return $& 328 XXXXXX $& 329 ...XX. $& 330 ..XX.. $& 331 .XX... $& 332 XXXXXX 333 elseif ($1 == $chr(35)) return $& 334 .XX..XX. $& 335 XXXXXXXX $& 336 .XX..XX. $& 337 XXXXXXXX $& 338 .XX..XX. 339 elseif ($1 == ') return $& 340 .XX $& 341 XX. $& 342 ... $& 343 ... $& 344 ... 345 elseif ($1 == ") return $& 346 XX..XX $& 347 XX..XX $& 348 ...... $& 349 ...... $& 350 ...... 351 elseif ($1 == +) return $& 352 ...... $& 353 ..XX.. $& 354 XXXXXX $& 355 ..XX.. $& 356 ...... 357 elseif ($1 == =) return $& 358 ...... $& 359 XXXXXX $& 360 ...... $& 361 XXXXXX $& 362 ...... 363 elseif ($1 == -) return $& 364 ...... $& 365 ...... $& 366 XXXXXX $& 367 ...... $& 368 ...... 369 elseif ($1 == _) return $& 370 ...... $& 371 ...... $& 372 ...... $& 373 ...... $& 374 XXXXXX 375 elseif ($1 == ] ) return $& 376 XXXXXX $& 377 ...... $& 378 ...... $& 379 ...... $& 380 ...... 381 elseif ($1 == [) return $& 382 .XXX. $& 383 XX.XX $& 384 .XXX. $& 385 ..... $& 386 ..... 387 elseif ($1 == :) return $& 388 .. $& 389 XX $& 390 .. $& 391 XX $& 392 .. 393 elseif ($1 == !) return $& 394 XX $& 395 XX $& 396 XX $& 397 .. $& 398 XX 399 elseif ($1 == ?) return $& 400 XXX. $& 401 ..XX $& 402 .XX. $& 403 .... $& 404 .XX. 405 elseif ($1 == .) return $& 406 .. $& 407 .. $& 408 .. $& 409 .. $& 410 XX 411 elseif ($1 == /) return $& 412 ....XX $& 413 ...XX. $& 414 ..XX.. $& 415 .XX... $& 416 XX.... 417 elseif ($1 == \) return $& 418 XX.... $& 419 .XX... $& 420 ..XX.. $& 421 ...XX. $& 422 ....XX 423 elseif ($1 == $chr(40)) return $& 424 ...XX $& 425 .XX.. $& 426 XX... $& 427 .XX.. $& 428 ...XX 429 elseif ($1 == $chr(41)) return $& 430 XX... $& 431 ..XX. $& 432 ...XX $& 433 ..XX. $& 434 XX... 435 elseif ($1 == $chr(37)) return $& 436 XX..XX $& 437 ...XX. $& 438 ..XX.. $& 439 .XX... $& 440 XX..XX 441 elseif ($1 == [) return $& 442 XXXXX $& 443 XX... $& 444 XX... $& 445 XX... $& 446 XXXXX 447 elseif ($1 == ]) return $& 448 XXXXX $& 449 ...XX $& 450 ...XX $& 451 ...XX $& 452 XXXXX 453 elseif ($1 == |) return $& 454 .XX. $& 455 .XX. $& 456 .XX. $& 457 .XX. $& 458 .XX. 459 elseif ($1 == <) return $& 460 ....XX $& 461 ..XX.. $& 462 XX.... $& 463 ..XX.. $& 464 ....XX 465 elseif ($1 == >) return $& 466 XX.... $& 467 ..XX.. $& 468 ....XX $& 469 ..XX.. $& 470 XX.... 471 elseif ($1 == ) return $& 472 .... $& 473 .... $& 474 .XX. $& 475 ..XX $& 476 XXX. 477 elseif ($1 == ,) return $& 478 ... $& 479 ... $& 480 XXX $& 481 .XX $& 482 XX. 483 } 484 485 486 ; Returns all unsupported characters within a Big Text message 487 ; Supported characters are a-z, space, digits, #'"+=:!?./\()%-[]<>|, 488 alias bigtext.unsupp { 489 var %res, %dummy = $regsub($1-, /[]a-z 0-9# $+ $chr(44) $+ '+=:!?./\\()%[|<>_"-]/igS, $null, %res) 490 return %res 491 } 492 493 ; Returns $true if a space should be added between two characters, 494 ; or $false if not. 495 ; Note: This is here only for aesthetic purposes. :) 496 alias bigtext.kern { 497 var %res $true 498 if ($regex($1-, /^(.|[_GDSQL-]T|[TPFVY7/"]J|T\.|L[1Y\\"]|[LTK<[]-|-[]>%\\]|S1|T4|\?\.|\.\?|[467L\\]|[J/]|L'|\/\/|\\\\|J|[_]|[T_]_|>\.|\.<)$/i)) %res = $false 499 return %res 500 } 501 502 ; Takes an input string of the form: 503 ; .XX..XX....XX.XX.XXXXX 504 ; And formats it for display. 505 alias bigtext.format { 506 var %res, %i 1, %previous 0, %current, %curcolor, %colregex /^(\d\d?(?:,\d\d?)?)/ 507 while (%i <= $len($1-)) { 508 if ($mid($1-, %i, 1) == $chr(3)) { 509 if ($regex(mtcol, $mid($1-, $calc(%i + 1), $mid($1-, $calc(%i + 1), 0)), %colregex)) { 510 if ($gettok($regml(mtcol, 1), 1, 44) != %curcolor) { 511 %curcolor = $gettok($regml(mtcol, 1), 1, 44) 512 if (%i != 1) && ($mid($1-, $calc(%i - 1), 1) == X) %res = %res $+ $chr(15) 513 } 514 inc %i $len($regml(mtcol, 1)) 515 } 516 elseif (%curcolor) { 517 %curcolor = 518 if (%i != 1) && ($mid($1-, $calc(%i - 1), 1) == X) %res = %res $+ $chr(15) 519 } 520 } 521 else { 522 %current = $iif($mid($1-, %i, 1) == ., 0, 1) 523 if (%previous != %current) { 524 %previous = %current 525 if (%curcolor) { 526 if (%current) %res = %res $+ $chr(3) $+ %curcolor $+ , $+ %curcolor 527 else %res = %res $+ $chr(3) 528 } 529 else %res = %res $+ $chr(22) 530 } 531 %res = %res $+ $chr(160) 532 } 533 inc %i 534 } 535 return %res 536 } 537 538 alias mtrainbow //mt $rainbow( $+ $1- $+ ) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538alias colors { var %length = $len($1-) var %letter = 1 while (%letter <= %length) { if ($mid($1-,%letter,1) == $chr(32)) { var %output = %output $+ & goto xxx } var %output = %output $+ $+ $rand(03,013) $+ $mid($1-,%letter,1) :xxx inc %letter } var %output = $replace(%output,$chr(38),$chr(32)) msg $active %output } alias rev { var %len = $len($1-) var %return = $null while (%len > 0) { var %return = %return $+ $mid($1-,%len,1) $+ $chr(32) dec %len } return %return } alias reverse //say $rev( $1- ) alias mereverse //me $rev( $1- ) alias rainbow { var %pos = 1, %color = 04, %result = $chr(3) while (%pos <= $len($1-)) { %result = %result $+ %color $+ $mid($1-,%pos,1) $+ $chr(3) inc %pos %color = $nextcolor(%color) } if ($isid) return %result else say %result } alias -l nextcolor { if ($$1 == 04) return 07 elseif ($$1 == 07) return 08 elseif ($$1 == 08) return 09 elseif ($$1 == 09) return 11 elseif ($$1 == 11) return 12 elseif ($$1 == 12) return 02 elseif ($$1 == 02) return 06 elseif ($$1 == 06) return 13 elseif ($$1 == 13) return 04 } alias mt { 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) } ; 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 $& .. $& 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. } ; 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 mtrainbow //mt $rainbow( $+ $1- $+ )