Advertisement
osmarks

Holoclock CC

Jun 14th, 2019
221
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.11 KB | None | 0 0
  1. local hologram = peripheral.find("hologram")
  2.  
  3. local date
  4. local config = {
  5.     dateColor = 0xFFFFFF,
  6.     holoScale = 2
  7. }
  8.  
  9. local symbols = {
  10.     ["0"] = {
  11.         { 0, 1, 1, 1, 0 },
  12.         { 1, 0, 0, 0, 1 },
  13.         { 1, 0, 0, 0, 1 },
  14.         { 0, 0, 0, 0, 0 },
  15.         { 1, 0, 0, 0, 1 },
  16.         { 1, 0, 0, 0, 1 },
  17.         { 0, 1, 1, 1, 0 },
  18.     },
  19.     ["1"] = {
  20.         { 0, 0, 0, 0, 0 },
  21.         { 0, 0, 0, 0, 1 },
  22.         { 0, 0, 0, 0, 1 },
  23.         { 0, 0, 0, 0, 0 },
  24.         { 0, 0, 0, 0, 1 },
  25.         { 0, 0, 0, 0, 1 },
  26.         { 0, 0, 0, 0, 0 },
  27.     },
  28.     ["2"] = {
  29.         { 0, 1, 1, 1, 0 },
  30.         { 0, 0, 0, 0, 1 },
  31.         { 0, 0, 0, 0, 1 },
  32.         { 0, 1, 1, 1, 0 },
  33.         { 1, 0, 0, 0, 0 },
  34.         { 1, 0, 0, 0, 0 },
  35.         { 0, 1, 1, 1, 0 },
  36.     },
  37.     ["3"] = {
  38.         { 0, 1, 1, 1, 0 },
  39.         { 0, 0, 0, 0, 1 },
  40.         { 0, 0, 0, 0, 1 },
  41.         { 0, 1, 1, 1, 0 },
  42.         { 0, 0, 0, 0, 1 },
  43.         { 0, 0, 0, 0, 1 },
  44.         { 0, 1, 1, 1, 0 },
  45.     },
  46.     ["4"] = {
  47.         { 0, 0, 0, 0, 0 },
  48.         { 1, 0, 0, 0, 1 },
  49.         { 1, 0, 0, 0, 1 },
  50.         { 0, 1, 1, 1, 0 },
  51.         { 0, 0, 0, 0, 1 },
  52.         { 0, 0, 0, 0, 1 },
  53.         { 0, 0, 0, 0, 0 },
  54.     },
  55.     ["5"] = {
  56.         { 0, 1, 1, 1, 0 },
  57.         { 1, 0, 0, 0, 0 },
  58.         { 1, 0, 0, 0, 0 },
  59.         { 0, 1, 1, 1, 0 },
  60.         { 0, 0, 0, 0, 1 },
  61.         { 0, 0, 0, 0, 1 },
  62.         { 0, 1, 1, 1, 0 },
  63.     },
  64.     ["6"] = {
  65.         { 0, 1, 1, 1, 0 },
  66.         { 1, 0, 0, 0, 0 },
  67.         { 1, 0, 0, 0, 0 },
  68.         { 0, 1, 1, 1, 0 },
  69.         { 1, 0, 0, 0, 1 },
  70.         { 1, 0, 0, 0, 1 },
  71.         { 0, 1, 1, 1, 0 },
  72.     },
  73.     ["7"] = {
  74.         { 0, 1, 1, 1, 0 },
  75.         { 0, 0, 0, 0, 1 },
  76.         { 0, 0, 0, 0, 1 },
  77.         { 0, 0, 0, 0, 0 },
  78.         { 0, 0, 0, 0, 1 },
  79.         { 0, 0, 0, 0, 1 },
  80.         { 0, 0, 0, 0, 0 },
  81.     },
  82.     ["8"] = {
  83.         { 0, 1, 1, 1, 0 },
  84.         { 1, 0, 0, 0, 1 },
  85.         { 1, 0, 0, 0, 1 },
  86.         { 0, 1, 1, 1, 0 },
  87.         { 1, 0, 0, 0, 1 },
  88.         { 1, 0, 0, 0, 1 },
  89.         { 0, 1, 1, 1, 0 },
  90.     },
  91.     ["9"] = {
  92.         { 0, 1, 1, 1, 0 },
  93.         { 1, 0, 0, 0, 1 },
  94.         { 1, 0, 0, 0, 1 },
  95.         { 0, 1, 1, 1, 0 },
  96.         { 0, 0, 0, 0, 1 },
  97.         { 0, 0, 0, 0, 1 },
  98.         { 0, 1, 1, 1, 0 },
  99.     },
  100.     [":"] = {
  101.         { 0, 0, 0, 0, 0 },
  102.         { 0, 0, 0, 0, 0 },
  103.         { 0, 0, 1, 0, 0 },
  104.         { 0, 0, 0, 0, 0 },
  105.         { 0, 0, 1, 0, 0 },
  106.         { 0, 0, 0, 0, 0 },
  107.         { 0, 0, 0, 0, 0 },
  108.     },
  109.     ["."] = {
  110.         { 0, 0, 0, 0, 0 },
  111.         { 0, 0, 0, 0, 0 },
  112.         { 0, 0, 0, 0, 0 },
  113.         { 0, 0, 0, 0, 0 },
  114.         { 0, 0, 0, 0, 0 },
  115.         { 0, 0, 0, 0, 0 },
  116.         { 0, 0, 1, 0, 0 },
  117.     }
  118. }
  119.  
  120. local function drawSymbolOnProjector(x, y, z, symbol)
  121.     local xPos = x
  122.     for j = 1, #symbols[symbol] do
  123.         for i = 1, #symbols[symbol][j] do
  124.             if symbols[symbol][j][i] == 1 then
  125.                 hologram.set(xPos, y, z, 1)
  126.             else
  127.                 hologram.set(xPos, y, z, 0)
  128.             end
  129.             xPos = xPos + 1
  130.         end
  131.         xPos = x
  132.         y = y - 1
  133.     end
  134. end
  135.  
  136. local function drawText(x, y, text)
  137.     for i = 1, string.len(text) do
  138.         local symbol = string.sub(text, i, i)
  139.         drawSymbolOnProjector(i * 6 + 4, 16, 24, symbol)
  140.     end
  141. end
  142.  
  143. local function centerText(text)
  144.     local textWidth = string.len(text) * 6
  145.     local holoWidth = 48
  146.     drawText(math.floor(textWidth - (holoWidth / 2)), 1, text)
  147. end
  148.  
  149. hologram.clear()
  150. hologram.setTranslation(0, 0, 0)
  151. hologram.setPaletteColor(1, config.dateColor)
  152. hologram.setScale(config.holoScale)
  153.  
  154. while true do
  155.     local time = os.time()
  156.     local hour = math.floor(time)
  157.     local min = math.floor((time - hour) * 60)
  158.     centerText(("%02d:%02d"):format(hour, min))
  159.     sleep(0.2)
  160. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement