Advertisement
Guest User

Untitled

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