This script is just an add-on to the old Mega Text script. Since the old MegaText script appears to have been taken down, a link to the original has not been included.
Produces 5 lines of text in rainbow colors. This script has multiple colors per letter, not just one.
Use with /cmt
Please note that I, in no way, take credit for the base construction of this script, only for the base color coding. Posted here due to it being leaked.
Thank you.
This is what the text will look like:
Update: 05/02/2009 - Changed say $bigtext.format syntax to msg # instead. This will allow people to load it to new On *:TEXT: scripts for their bots. Users that wish to impliment a remote !cmt command should note that an if or user level statement is recommended. if ($address($2,3) == *!identd@.base.hostmask.com) { cmt $2- } should work fine.
Credit goes to Scaper and tsc for the help.
Update: 05/12/2009 - Problems with "msg #" and queries have been brought to my attention. Since msg # will not work with queries (and is targeted to other potential scrips), you will not be able to use /cmt in a query. Those of you that wish to incorporate its use in queries are recommended to change the current "msg #" to "say." Those of you that wish to have both, you will need a new alias, such that:
alias qcmt {
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 $biggtext.format(%lie)
}
This should let you use cmt in queries - trigger would be /qcmt $1-
alias cmt {
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
}
msg # $bigtext.format(%lia)
msg # $bigtext.format(%lib)
msg # $bigtext.format(%lic)
msg # $bigtext.format(%lid)
msg # $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 $&
4.XXXX.$&
8XX..XX$&
9XX.XXX$&
12XXX.XX$&
13.XXXX.
elseif ($1 == 1) return $&
4.XXXX $&
8XX.XX $&
9...XX $&
12...XX $&
13...XX
elseif ($1 == 2) return $&
4XXXXX. $&
8....XX $&
9..XX.. $&
12XX.... $&
13XXXXXX
elseif ($1 == 3) return $&
4XXXXX. $&
8....XX $&
9.XXXX. $&
12....XX $&
13XXXXX.
elseif ($1 == 4) return $&
4.....XXX. $&
8...XX.XX. $&
9.XX...XX. $&
12XXXXXXXXX $&
13......XX.
elseif ($1 == 5) return $&
4XXXXX $&
8XX... $&
9XXXX. $&
12...XX $&
13XXXX.
elseif ($1 == 6) return $&
4.XXXX. $&
8XX.... $&
9XXXXX. $&
12XX..XX $&
13.XXXX.
elseif ($1 == 7) return $&
4XXXXXX $&
8...XX. $&
9..XX.. $&
12.XX... $&
13XX....
elseif ($1 == 8) return $&
4.XXXX. $&
8XX..XX $&
9.XXXX. $&
12XX..XX $&
13.XXXX.
elseif ($1 == 9) return $&
4.XXXX. $&
8XX..XX $&
9.XXXXX $&
12....XX $&
13.XXXX.
elseif ($1 == A) return $&
4.XXXX. $&
8XX..XX $&
9XXXXXX $&
12XX..XX $&
13XX..XX
elseif ($1 == B) return $&
4XXXXX. $&
8XX..XX $&
9XXXXX. $&
12XX..XX $&
13XXXXX.
elseif ($1 == C) return $&
4.XXXX. $&
8XX..XX $&
9XX.... $&
12XX..XX $&
13.XXXX.
elseif ($1 == D) return $&
4XXXX.. $&
8XX.XX. $&
9XX..XX $&
12XX..XX $&
13XXXXX.
elseif ($1 == E) return $&
4XXXXX $&
8XX... $&
9XXXX. $&
12XX... $&
13XXXXX
elseif ($1 == F) return $&
4XXXXX $&
8XX... $&
9XXXX. $&
12XX... $&
13XX...
elseif ($1 == G) return $&
4.XXXX. $&
8XX.... $&
9XX.XXX $&
12XX..XX $&
13.XXXXX
elseif ($1 == H) return $&
4XX...XX $&
8XX...XX $&
9XXXXXXX $&
12XX...XX $&
13XX...XX
elseif ($1 == I) return $&
4XXXX $&
8.XX. $&
9.XX. $&
12.XX. $&
13XXXX
elseif ($1 == J) return $&
4....XX $&
8....XX $&
9....XX $&
12XX..XX $&
13.XXXX.
elseif ($1 == K) return $&
4XX..XX $&
8XX.XX. $&
9XXXX.. $&
12XX.XX. $&
13XX..XX
elseif ($1 == L) return $&
4XX... $&
8XX... $&
9XX... $&
12XX... $&
13XXXXX
elseif ($1 == M) return $&
4XX....XX $&
8XXX..XXX $&
9XXXXXXXX $&
12XX.XX.XX $&
13XX....XX
elseif ($1 == N) return $&
4XX..XX $&
8XXX.XX $&
9XXXXXX $&
12XX.XXX $&
13XX..XX
elseif ($1 == O) return $&
4.XXXX. $&
8XX..XX $&
9XX..XX $&
12XX..XX $&
13.XXXX.
elseif ($1 == P) return $&
4XXXXX. $&
8XX..XX $&
9XXXXX. $&
12XX.... $&
13XX....
elseif ($1 == Q) return $&
4.XXXX.. $&
8XX..XX. $&
9XX..XX. $&
12XX..XX. $&
13.XXXXXX
elseif ($1 == R) return $&
4XXXXX. $&
8XX..XX $&
9XXXXX. $&
12XX..XX $&
13XX..XX
elseif ($1 == S) return $&
4.XXXX. $&
8XX.... $&
9.XXXX. $&
12....XX $&
13XXXXX.
elseif ($1 == T) return $&
4XXXXXX $&
8..XX.. $&
9..XX.. $&
12..XX.. $&
13..XX..
elseif ($1 == U) return $&
4XX..XX $&
8XX..XX $&
9XX..XX $&
12XX..XX $&
13.XXXX.
elseif ($1 == V) return $&
4XX....XX $&
8XX....XX $&
9.XX..XX. $&
12..XXXX.. $&
13...XX...
elseif ($1 == W) return $&
4XX...XX $&
8XX...XX $&
9XX.X.XX $&
12XXXXXXX $&
13.XX.XX.
elseif ($1 == X) return $&
4XX...XX $&
8.XX.XX. $&
9..XXX.. $&
12.XX.XX. $&
13XX...XX
elseif ($1 == Y) return $&
4XX..XX $&
8XX..XX $&
9.XXXX. $&
12..XX.. $&
13..XX..
elseif ($1 == Z) return $&
4XXXXXX $&
8...XX. $&
9..XX.. $&
12.XX... $&
13XXXXXX
elseif ($1 == $chr(35)) return $&
4.XX..XX. $&
8XXXXXXXX $&
9.XX..XX. $&
12XXXXXXXX $&
13.XX..XX.
elseif ($1 == ') return $&
4.XX $&
11XX. $&
... $&
... $&
...
elseif ($1 == ") return $&
4XX..XX $&
11XX..XX $&
...... $&
...... $&
......
elseif ($1 == +) return $&
...... $&
4..XX.. $&
9XXXXXX $&
11..XX.. $&
......
elseif ($1 == =) return $&
...... $&
11XXXXXX $&
...... $&
4XXXXXX $&
......
elseif ($1 == -) return $&
...... $&
...... $&
9XXXXXX $&
...... $&
......
elseif ($1 == _) return $&
...... $&
...... $&
...... $&
...... $&
9XXXXXX
elseif ($1 == ¯) return $&
9XXXXXX $&
...... $&
...... $&
...... $&
......
elseif ($1 == °) return $&
4.XXX. $&
9XX.XX $&
11.XXX. $&
..... $&
.....
elseif ($1 == :) return $&
.. $&
4XX $&
.. $&
11XX $&
..
elseif ($1 == !) return $&
4XX $&
9XX $&
11XX $&
.. $&
13XX
elseif ($1 == ?) return $&
4XXX. $&
9..XX $&
11.XX. $&
.... $&
13.XX.
elseif ($1 == .) return $&
.. $&
.. $&
.. $&
.. $&
9XX
elseif ($1 == /) return $&
4....XX $&
8...XX. $&
9..XX.. $&
12.XX... $&
13XX....
elseif ($1 == \) return $&
4XX.... $&
8.XX... $&
9..XX.. $&
12...XX. $&
13....XX
elseif ($1 == $chr(40)) return $&
4....X $&
8..X.. $&
9X.... $&
12..X.. $&
13....X
elseif ($1 == $chr(41)) return $&
4X.... $&
8..X.. $&
9....X $&
12..X.. $&
13X....
elseif ($1 == $chr(37)) return $&
4XX..XX $&
8...XX. $&
9..XX.. $&
12.XX... $&
13XX..XX
elseif ($1 == [) return $&
4XXXXX $&
8XX... $&
9XX... $&
12XX... $&
13XXXXX
elseif ($1 == ]) return $&
4XXXXX $&
8...XX $&
9...XX $&
12...XX $&
13XXXXX
elseif ($1 == |) return $&
4.XX. $&
8.XX. $&
9.XX. $&
12.XX. $&
13.XX.
elseif ($1 == <) return $&
4....XX $&
8..XX.. $&
9XX.... $&
12..XX.. $&
13....XX
elseif ($1 == >) return $&
4XX.... $&
8..XX.. $&
9....XX $&
12..XX.. $&
13XX....
elseif ($1 == ¸) return $&
4.... $&
.... $&
9.XX. $&
11..XX $&
13XXX.
elseif ($1 == ,) return $&
4... $&
... $&
9XXX $&
11.XX $&
13XX.
}
; 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
}
I have details about creation right in the description. The original maker of the actual MegaText script used to have it on this site. I assume they've either updated it or taken it down by now. Since the script is over 2 years old, there is no way for me to link to it/provide exact ownership details.
If the person that did make it messages me with proof I'd be more than willing to update it.
The colours were added by me - therefore the original makers of the "base" script wouldn't be able to post this script.
Please don't get me wrong, I did not construct this script in any way. Equally, I plan on making no revisions to it. I thank all of you for the scores as well as the suggestions, but again, this script is here because it was leaked and I refuse to allow someone else to post it as if they made it themself. Thank you for the suggestions, however. Hope you guys enjoy the script.
Uhh what?, so who made this and why couldn't they post it themselves...
Please don't get me wrong, I did not construct the base MegaText script in any way. Equally, I plan on making no revisions to it. I thank all of you for the scores as well as the suggestions, but again, this script is here because it was leaked and I refuse to allow someone else to post it as if they made it themself. Thank you for the suggestions, however. Hope you guys enjoy the script.
just word advice... might want to impliment a timer into this script to stop it being used more than x amount of times in any one time frame. something of that size is gonna either get you booted off the server or from the channels if used too often.I agree...perhaps have a timered lag check and if x milliseconds is large or pong time is delayed at x amount of time, halt the script?
just word advice... might want to impliment a timer into this script to stop it being used more than x amount of times in any one time frame. something of that size is gonna either get you booted off the server or from the channels if used too often. that said however.. nice script and i pretty much agree with Kirby.
Implementing of colors into giant text? That's new.
The only problem is if the inputted text does not fit into the whole "line", therefore the outcome would be distorted. But in all other cases, works fine, haven't found a problem with it.
Because "large-text" isn't very original and although I wouldn't use this "everywhere", I'll give you a 7.0 for the add-on color idea.