Advertisement
Guest User

big.mrc

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