Advertisement
TwiXon4ik

Untitled

Oct 5th, 2018
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.54 KB | None | 0 0
  1. local c = require("component")
  2. local unicode = require("unicode")
  3. local holo = c.hologram
  4.  
  5. if not holo then error("This program reqiures holoram projector.") end
  6.  
  7.  
  8. local hologram = {}
  9.  
  10. ---------------------------------------
  11.  
  12. local symbols = {
  13. A = {
  14. {0, 0, 1, 0, 0},
  15.  
  16. },
  17. B = {
  18. {1, 1, 1, 1, 0},
  19. },
  20. C = {
  21. {0, 1, 1, 1, 0},
  22. },
  23. D = {
  24. {1, 1, 1, 1, 0},
  25. {0, 1, 0, 0, 1},
  26. {0, 1, 0, 0, 1},
  27. },
  28. E = {
  29. {1, 1, 1, 1, 1},
  30. {1, 0, 0, 0, 0},
  31. },
  32. F = {
  33. {1, 1, 1, 1, 1},
  34. {1, 0, 0, 0, 0},
  35. },
  36. G = {
  37. {0, 1, 1, 1, 1},
  38. },
  39. H = {
  40. {1, 0, 0, 0, 1},
  41. },
  42. I = {
  43. {0, 1, 1, 1, 0},
  44. {0, 0, 1, 0, 0},
  45. {0, 0, 1, 0, 0},
  46. {0, 0, 1, 0, 0},
  47. {0, 0, 1, 0, 0},
  48. {0, 0, 1, 0, 0},
  49. {0, 1, 1, 1, 0},
  50. },
  51. J = {
  52. {0, 0, 0, 0, 01},
  53. {0, 0, 0, 0, 1},
  54. {0, 0, 0, 0, 1},
  55. {0, 0, 0, 0, 1},
  56. {0, 0, 0, 0, 1},
  57. {0, 1, 0, 0, 1},
  58. {0, 0, 1, 1, 0},
  59. },
  60. K = {
  61. {1, 0, 0, 1, 1},
  62. {1, 0, 1, 0, 0},
  63. {1, 0, 1, 0, 0},
  64. {1, 1, 0, 0, 0},
  65. {1, 0, 1, 0, 0},
  66. {1, 0, 0, 1, 0},
  67. {1, 0, 0, 0, 1},
  68. },
  69. L = {
  70. {0, 1, 0, 0, 0},
  71. {0, 1, 0, 0, 0},
  72. {0, 1, 0, 0, 0},
  73. {0, 1, 0, 0, 0},
  74. {0, 1, 0, 0, 0},
  75. {0, 1, 0, 0, 0},
  76. {0, 1, 1, 1, 0},
  77. },
  78. M = {
  79. {1, 0, 0, 0, 1},
  80. {1, 1, 0, 1, 1},
  81. {1, 0, 1, 0, 1},
  82. {1, 0, 0, 0, 1},
  83. {1, 0, 0, 0, 1},
  84. {1, 0, 0, 0, 1},
  85. {1, 0, 0, 0, 1},
  86. },
  87. N = {
  88. {1, 0, 0, 0, 1},
  89. {1, 0, 0, 0, 1},
  90. {1, 1, 0, 0, 1},
  91. {1, 0, 1, 0, 1},
  92. {1, 0, 0, 1, 1},
  93. {1, 0, 0, 0, 1},
  94. {1, 0, 0, 0, 1},
  95. },
  96. O = {
  97. {0, 1, 1, 1, 0},
  98. {1, 0, 0, 0, 1},
  99. {1, 0, 0, 0, 1},
  100. {1, 0, 0, 0, 1},
  101. {1, 0, 0, 0, 1},
  102. {1, 0, 0, 0, 1},
  103. {0, 1, 1, 1, 0},
  104. },
  105. P = {
  106. {1, 1, 1, 1, 0},
  107. {1, 0, 0, 0, 1},
  108. {1, 0, 0, 0, 1},
  109. {1, 1, 1, 1, 0},
  110. {1, 0, 0, 0, 0},
  111. {1, 0, 0, 0, 0},
  112. {1, 0, 0, 0, 0},
  113. },
  114. Q = {
  115. {0, 1, 1, 1, 0},
  116. {1, 0, 0, 0, 1},
  117. {1, 0, 0, 0, 1},
  118. {1, 0, 0, 0, 1},
  119. {1, 0, 1, 0, 1},
  120. {1, 0, 0, 1, 1},
  121. {0, 1, 1, 1, 0},
  122. },
  123. R = {
  124. {1, 1, 1, 1, 0},
  125. {1, 0, 0, 0, 1},
  126. {1, 0, 0, 0, 1},
  127. {1, 1, 1, 0, 0},
  128. {1, 0, 0, 1, 0},
  129. {1, 0, 0, 0, 1},
  130. {1, 0, 0, 0, 1},
  131. },
  132. S = {
  133. {0, 1, 1, 1, 1},
  134. {1, 0, 0, 0, 0},
  135. {1, 0, 0, 0, 0},
  136. {0, 1, 1, 1, 0},
  137. {0, 0, 0, 0, 1},
  138. {1, 0, 0, 0, 1},
  139. {0, 1, 1, 1, 0},
  140. },
  141. T = {
  142. {1, 1, 1, 1, 1},
  143. {0, 0, 1, 0, 0},
  144. {0, 0, 1, 0, 0},
  145. {0, 0, 1, 0, 0},
  146. {0, 0, 1, 0, 0},
  147. {0, 0, 1, 0, 0},
  148. {0, 0, 1, 0, 0},
  149. },
  150. U = {
  151. {1, 0, 0, 0, 1},
  152. {1, 0, 0, 0, 1},
  153. {1, 0, 0, 0, 1},
  154. {1, 0, 0, 0, 1},
  155. {1, 0, 0, 0, 1},
  156. {1, 0, 0, 0, 1},
  157. {0, 1, 1, 1, 0},
  158. },
  159. V = {
  160. {1, 0, 0, 0, 1},
  161. {1, 0, 0, 0, 1},
  162. {1, 0, 0, 0, 1},
  163. {1, 0, 0, 0, 1},
  164. {1, 0, 0, 0, 1},
  165. {0, 1, 0, 1, 0},
  166. {0, 0, 1, 0, 0},
  167. },
  168. W = {
  169. {1, 0, 0, 0, 1},
  170. {1, 0, 0, 0, 1},
  171. {1, 0, 0, 0, 1},
  172. {1, 0, 0, 0, 1},
  173. {1, 0, 1, 0, 1},
  174. {1, 1, 0, 1, 1},
  175. {1, 0, 0, 0, 1},
  176. },
  177. X = {
  178. {1, 0, 0, 0, 1},
  179. {0, 1, 0, 1, 0},
  180. {0, 1, 0, 1, 0},
  181. {0, 0, 1, 0, 0},
  182. {0, 1, 0, 1, 0},
  183. {0, 1, 0, 1, 0},
  184. {1, 0, 0, 0, 1},
  185. },
  186. Y = {
  187. {1, 0, 0, 0, 1},
  188. {1, 0, 0, 0, 1},
  189. {0, 1, 0, 1, 0},
  190. {0, 0, 1, 0, 0},
  191. {0, 0, 1, 0, 0},
  192. {0, 0, 1, 0, 0},
  193. {0, 0, 1, 0, 0},
  194. },
  195. Z = {
  196. {1, 1, 1, 1, 1},
  197. {0, 0, 0, 0, 1},
  198. {0, 0, 0, 1, 0},
  199. {0, 0, 1, 0, 0},
  200. {0, 1, 0, 0, 0},
  201. {1, 0, 0, 0, 0},
  202. {1, 1, 1, 1, 1},
  203. },
  204. ["."] = {
  205. {0, 0, 0, 0, 0},
  206. {0, 0, 0, 0, 0},
  207. {0, 0, 0, 0, 0},
  208. {0, 0, 0, 0, 0},
  209. {0, 0, 0, 0, 0},
  210. {0, 0, 0, 0, 0},
  211. {1, 0, 0, 0, 0},
  212. },
  213. [","] = {
  214. {0, 0, 0, 0, 0},
  215. {0, 0, 0, 0, 0},
  216. {0, 0, 0, 0, 0},
  217. {0, 0, 0, 0, 0},
  218. {0, 0, 0, 0, 0},
  219. {0, 1, 0, 0, 0},
  220. {1, 0, 0, 0, 0},
  221. },
  222. ["!"] = {
  223. {1, 0, 0, 0, 0},
  224. {1, 0, 0, 0, 0},
  225. {1, 0, 0, 0, 0},
  226. {1, 0, 0, 0, 0},
  227. {1, 0, 0, 0, 0},
  228. {0, 0, 0, 0, 0},
  229. {1, 0, 0, 0, 0},
  230. },
  231. [":"] = {
  232. {0, 0, 0, 0, 0},
  233. {0, 0, 1, 0, 0},
  234. {0, 0, 0, 0, 0},
  235. {0, 0, 0, 0, 0},
  236. {0, 0, 0, 0, 0},
  237. {0, 0, 1, 0, 0},
  238. {0, 0, 0, 0, 0},
  239. },
  240. ["-"] = {
  241. {0, 0, 0, 0, 0},
  242. {0, 0, 0, 0, 0},
  243. {0, 0, 0, 0, 0},
  244. {0, 1, 1, 1, 0},
  245. {0, 0, 0, 0, 0},
  246. {0, 0, 0, 0, 0},
  247. {0, 0, 0, 0, 0},
  248. },
  249. ["_"] = {
  250. {0, 0, 0, 0, 0},
  251. {0, 0, 0, 0, 0},
  252. {0, 0, 0, 0, 0},
  253. {0, 0, 0, 0, 0},
  254. {0, 0, 0, 0, 0},
  255. {0, 0, 0, 0, 0},
  256. {1, 1, 1, 1, 1},
  257. },
  258. ["1"] = {
  259. {0, 0, 1, 0, 0},
  260. {0, 0, 1, 0, 0},
  261. {0, 1, 1, 0, 0},
  262. {0, 0, 1, 0, 0},
  263. {0, 0, 1, 0, 0},
  264. {0, 0, 1, 0, 0},
  265. {0, 1, 1, 1, 0},
  266. },
  267. ["2"] = {
  268. {0, 1, 1, 1, 0},
  269. {1, 0, 0, 0, 1},
  270. {0, 0, 0, 0, 1},
  271. {0, 1, 1, 1, 0},
  272. {1, 0, 0, 0, 0},
  273. {1, 0, 0, 0, 0},
  274. {1, 1, 1, 1, 1},
  275. },
  276. ["3"] = {
  277. {0, 1, 1, 1, 0},
  278. {1, 0, 0, 0, 1},
  279. {0, 0, 0, 0, 1},
  280. {0, 0, 1, 1, 0},
  281. {0, 0, 0, 0, 1},
  282. {1, 0, 0, 0, 1},
  283. {0, 1, 1, 1, 0},
  284. },
  285. ["4"] = {
  286. {1, 0, 0, 0, 1},
  287. {1, 0, 0, 0, 1},
  288. {1, 0, 0, 0, 1},
  289. {1, 1, 1, 1, 1},
  290. {0, 0, 0, 0, 1},
  291. {0, 0, 0, 0, 1},
  292. {0, 0, 0, 0, 1},
  293. },
  294. ["5"] = {
  295. {1, 1, 1, 1, 1},
  296. {1, 0, 0, 0, 0},
  297. {1, 0, 0, 0, 0},
  298. {1, 1, 1, 1, 0},
  299. {0, 0, 0, 0, 1},
  300. {1, 0, 0, 0, 1},
  301. {0, 1, 1, 1, 0},
  302. },
  303. ["6"] = {
  304. {0, 0, 1, 1, 1},
  305. {0, 1, 0, 0, 0},
  306. {1, 0, 0, 0, 0},
  307. {1, 1, 1, 1, 0},
  308. {1, 0, 0, 0, 1},
  309. {1, 0, 0, 0, 1},
  310. {0, 1, 1, 1, 0},
  311. },
  312. ["7"] = {
  313. {1, 1, 1, 1, 1},
  314. {0, 0, 0, 0, 1},
  315. {0, 0, 0, 1, 0},
  316. {0, 0, 1, 0, 0},
  317. {0, 0, 1, 0, 0},
  318. {0, 0, 1, 0, 0},
  319. {0, 0, 1, 0, 0},
  320. },
  321. ["8"] = {
  322. {0, 1, 1, 1, 0},
  323. {1, 0, 0, 0, 1},
  324. {1, 0, 0, 0, 1},
  325. {0, 1, 1, 1, 0},
  326. {1, 0, 0, 0, 1},
  327. {1, 0, 0, 0, 1},
  328. {0, 1, 1, 1, 0},
  329. },
  330. ["9"] = {
  331. {0, 1, 1, 1, 0},
  332. {1, 0, 0, 0, 1},
  333. {1, 0, 0, 0, 1},
  334. {0, 1, 1, 1, 1},
  335. {0, 0, 0, 0, 1},
  336. {0, 0, 0, 1, 0},
  337. {1, 1, 1, 0, 0},
  338. },
  339. ["0"] = {
  340. {0, 1, 1, 1, 0},
  341. {1, 0, 0, 0, 1},
  342. {1, 0, 0, 0, 1},
  343. {1, 0, 0, 0, 1},
  344. {1, 0, 0, 0, 1},
  345. {1, 0, 0, 0, 1},
  346. {0, 1, 1, 1, 0},
  347. },
  348. [" "] = {
  349. {0, 0, 0, 0, 0},
  350. {0, 0, 0, 0, 0},
  351. {0, 0, 0, 0, 0},
  352. {0, 0, 0, 0, 0},
  353. {0, 0, 0, 0, 0},
  354. {0, 0, 0, 0, 0},
  355. {0, 0, 0, 0, 0},
  356. },
  357. empty = {
  358. {0, 0, 0, 0, 0},
  359. {0, 0, 0, 0, 0},
  360. {0, 0, 0, 0, 0},
  361. {0, 0, 0, 0, 0},
  362. {0, 0, 0, 0, 0},
  363. {0, 0, 0, 0, 0},
  364. {0, 0, 0, 0, 0},
  365. },
  366. }
  367.  
  368. local function clear()
  369. holo.clear()
  370. end
  371.  
  372. function hologram.drawSymbol(x, y, z, symbol, color)
  373. for j = 1, #symbol do
  374. for i = 1, #symbol[j] do
  375. if symbol[j][i] == 1 then
  376. holo.set(x + i - 1, y - j + 1, z, color)
  377. end
  378. end
  379. end
  380. end
  381.  
  382. function hologram.text(x, y, z, text, color)
  383. local length = unicode.len(text)
  384. local smeshenie = 0
  385. for i = 1, length do
  386. local sym = unicode.sub(text, i, i)
  387. hologram.drawSymbol(x + smeshenie, y, z, symbols[sym], color)
  388. smeshenie = smeshenie + 6
  389. end
  390. end
  391.  
  392.  
  393. ---------------------------------------
  394.  
  395. local args = {...}
  396. local scale = tonumber(args[1]) or 1
  397. local height = tonumber(args[2]) or 10
  398.  
  399. local date
  400.  
  401. holo.setScale(scale)
  402.  
  403. while true do
  404. holo.clear()
  405. date = os.date("%T")
  406. hologram.text(1, height, 24, date, 2)
  407. os.sleep(1)
  408. end
  409.  
  410. ---------------------------------------
  411.  
  412. return hologram
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement