Guest User

Untitled

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