Guest User

Untitled

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