Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[
- Script pro ovladani vyhybky Immersive Railroading pomoci OpenComputers.
- Neresim adresy zarizeni - uvazuji jeden detector a jednu redstone cartu.
- Pro ovladani vyhybku je pouzit Wireless receiver (WR-CBE) a v PC osazena Redstone Card Tier 2 (umi wireless).
- Pojmenovani vlaku je nejsnadnejsi pomoci Computeru z CC a detectoru na jeho zadni strane (mode Computer)
- a zadanim prikazu (misto Vlak dat vlastni tag): peripheral.wrap("back").setTag("Vlak")
- --]]
- -- Potrebne komponenty
- local component = require("component")
- local event = require("event")
- local computer = require("computer")
- local term = require("term")
- local detector = component.ir_augment_detector
- local redstone = component.redstone
- -- Tagy vsech vlaku pro ktere se ma aktivovat vyhybka (pro neuvedene bude v klidovem stavu)
- local SWITCH = {"Testing","Vlak1"}
- -- Kanal na kterem posloucha redstone Wireless receiver pro danou vyhybku (z WirelessRedstone-CBE),
- -- !! Adresa MUSI BYT UNIKATNI !! (jinak se bude prehazovat jina vyhybka nebo ovladat uplne jine zarizeni)
- redstone.setWirelessFrequency(101)
- -- Hlavni telo programu
- term.clear()
- term.setCursor(1,1)
- print("Cekam na prijezd vlaku...")
- -- V nekonecne smycce cekame na zachyceni eventu...
- while true do
- event_name, address, augment_type, stock_uuid = event.pull("ir_train_overhead")
- local info = detector.info()
- -- Mame vsechna potrebna data a cteme lokomotivu? (pokud ne, konec handle)
- if (info ~= nil) then
- -- Vypis dat do terminalu
- if (augment_type == "DETECTOR") then
- print(" Tag: "..info.tag)
- print(" Loko: "..info.name)
- print(" Smer: "..info.direction)
- print(" Rychlost: "..math.floor(info.speed).." km/h")
- end
- -- Ovladani vyhybky porovnanim tagu lokomotivy v poli SWITCH
- for k,tag in pairs(SWITCH) do
- -- Pokud je v seznamu = prehodime vyhybku, pokud neni = vyhybka v klidu
- if tag == info.tag then
- redstone.setWirelessOutput(true)
- print(" Vyhybka aktivni.")
- break
- else
- redstone.setWirelessOutput(false)
- end
- end
- print("")
- print("Cekam na prijezd vlaku...")
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement