Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local verze = "21.0610.R1"
- local anim = 0.1
- local w, h = term.getSize()
- local kabel = "bottom"
- local monitor = peripheral.wrap( "monitor_14" )
- local poplach = false
- local i = 0
- local j = 0
- local zavoraDelay = 0
- local popbar = 0
- ----------------------------------------------------
- function ukonceni ()
- error()
- end
- function defaultvalue()
- adresa = ""
- udalost = ""
- upresneni = ""
- monClear()
- end
- function start()
- defaultvalue()
- local myWindow = window.create(term.current(),w/2-11,h/2-5,25,9)
- myWindow.setBackgroundColor(colors.orange)
- myWindow.setTextColor(colors.black)
- myWindow.clear()
- myWindow.setCursorPos (8, 5)
- myWindow.write"HZS Software"
- myWindow.setCursorPos (1, 9)
- myWindow.write(verze)
- myWindow.setCursorPos (1, 1)
- myWindow.write"Pepek@Soft"
- myWindow.setCursorPos (22, 9)
- myWindow.write"2021"
- sleep(1)
- menu()
- end
- -----------------------------------------------------------------------------
- function monitorClear(a,ud,up, id)
- monitor.setBackgroundColor(colors.white)
- monitor.setTextColor(colors.black)
- monitor.clear()
- monitor.setTextScale(2)
- monitor.setCursorPos(2,1) monitor.write(ud)
- monitor.setCursorPos(2,4) monitor.write("Ustredna: "..id)
- monitor.setCursorPos(2,4) monitor.write(a)
- monitor.setCursorPos(2,5) monitor.write(up)
- end
- function monClear()
- monitor.setBackgroundColor(colors.black)
- monitor.clear()
- end
- function poplachfun()
- if poplach then
- popbar = 128
- pozadi.setBackgroundColor(colors.red)
- i = i+1
- if (i==50) then i = 0 commands.exec("/tellraw @a [{\"text\":\"POZOR! POPLACH! SVOLAVANI JEDNOTEK! -425 69 264\",\"color\":\"red\"}]</color></insert>") sleep( 0.5) end
- else
- popbar = 0
- pozadi.setBackgroundColor(colors.lightGray)
- end
- pozadi.setCursorPos(w-13,4)
- pozadi.write(" Poplach! ")
- end
- function zavoryfun()
- if zavoraDelay > 0 then
- zavoraDelay = zavoraDelay -1
- if zavoraDelay == 0 then zavory = false end
- end
- if zavory then
- pozadi.setBackgroundColor(colors.red)
- j = j+1
- else
- zavbar = 0
- pozadi.setBackgroundColor(colors.lightGray)
- end
- pozadi.setCursorPos(w-13,6)
- pozadi.write(" Zavory ")
- end
- function vyjezdAuta()
- if (colors.test (redstone.getBundledInput(kabel), colors.lightGray)) then
- commands.exec("/tellraw @a [{\"text\":\"[HZS Bostrava] Jednotka vyjela!\",\"color\":\"green\"}]</color></insert>")
- if statusy then
- cDir = fs.list("/zasahy/otevrene/")
- pozadi.setTextColor(colors.black)
- pozadi.setBackgroundColor(colors.white)
- pozadi.setCursorPos(2,4)
- pozadi.write("Udalosti: ")
- pozadi.setCursorPos(12,4)
- pozadi.write(#cDir)
- for i=1, #cDir do
- data = fs.open("/zasahy/otevrene/"..cDir[i], "a")
- data.writeLine("Cas vyjezdu: "..os.date())
- data.close();
- shell.run("move /zasahy/otevrene/"..cDir[i].." /zasahy/uzavrene/"..cDir[i])
- statusy = false
- end
- end
- defaultvalue()
- pozadi.setTextColor(colors.green)
- pozadi.setBackgroundColor(colors.white)
- pozadi.setCursorPos(8,2)
- pozadi.write"Jednotka vyjela "
- pozadi.setTextColor(colors.black)
- pozadi.setCursorPos(3,h-5)
- pozadi.write(" ")
- pozadi.setCursorPos(3,h-4)
- pozadi.write(" ")
- pozadi.setCursorPos(3,h-3)
- pozadi.write(" ")
- poplach = false
- zavoraDelay = 100
- pozadi.setCursorPos(8,2)
- pozadi.write"V klidu "
- end
- end
- function PoplachCheck()
- if fs.exists("/poplach") then
- local data = fs.open("/poplach", "r")
- ECUD = tonumber(data.readLine())
- adresa = data.readLine()
- udalost = data.readLine()
- upresneni = data.readLine()
- idustredny = data.readLine()
- data.close()
- data = fs.open("/zasahy/otevrene/"..ECUD..".txt", "a")
- data.writeLine("Cas poplachu: "..os.date())
- data.close()
- statusy = true
- fs.delete ("/poplach")
- poplach = true
- zavory = true
- pozadi.setTextColor(colors.red)
- pozadi.setBackgroundColor(colors.white)
- pozadi.setCursorPos(8,2)
- pozadi.write"Vyhlasen poplach"
- pozadi.setTextColor(colors.black)
- pozadi.setCursorPos(3,h-5)
- pozadi.write(adresa)
- pozadi.setCursorPos(3,h-4)
- pozadi.write(udalost)
- pozadi.setCursorPos(3,h-3)
- pozadi.write(upresneni)
- monitorClear(adresa, udalost, upresneni, idustredny)
- end
- end
- function opakovani()
- PoplachCheck()
- poplachfun()
- zavoryfun()
- if poplach then vyjezdAuta() end
- red()
- cas()
- if (j>=4) and (j<10) then zavbar = 4
- elseif (j == 10) then j = 0
- else zavbar = 0 end
- end
- function red ()
- local barvy = 0
- barvy = popbar + zavbar
- redstone.setBundledOutput(kabel, barvy)
- end
- function cas()
- paintutils.drawLine(1, 1, w, 1, colors.orange)
- paintutils.drawPixel (w,1, colors.red)
- term.setCursorPos (w,1)
- term.setTextColor(colors.black)
- write "*"
- end
- function menu()
- w, h = term.getSize()
- cas()
- pozadi = window.create(term.current(),1,2,w,h)
- pozadi.setBackgroundColor(colors.white)
- pozadi.setTextColor(colors.black)
- pozadi.clear()
- term.setBackgroundColor(colors.white)
- term.setTextColor(colors.lightGray)
- term.setCursorPos(1,h) write"Pepek@Soft"
- pozadi.setTextColor(colors.black)
- pozadi.setCursorPos(2,2)
- pozadi.write"Stav: "
- pozadi.setCursorPos(2,h-6)
- pozadi.write"Podrobnosti: "
- pozadi.setBackgroundColor(colors.lightGray)
- pozadi.setCursorPos(w-13,4)
- pozadi.write(" Poplach! ")
- pozadi.setCursorPos(w-13,6)
- pozadi.write(" Zavory ")
- while true do
- os.startTimer(1)
- opakovani()
- local event, button, x, y = os.pullEvent()
- if event == "mouse_click" and x >= w-13 and x <= w and y == 5 then
- poplach = not poplach
- if poplach then zavory = true else zavory = false end
- elseif event == "mouse_click" and x >= w-13 and x <= w and y == 7 then
- zavory = not zavory
- end
- if x == w and y == 1 then
- ukonceni ()
- end
- end
- end
- start()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement