Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[
- Script pro ovladani vyhybky Immersive Railroading pomoci ComputerCraftu (instalace jako autorun: pastebin get 9nbgGu4N startup ).
- Detector (mode Computer) na zadni strane, vystup redstonu pro vyhybku na leve strane, trigger: Detector (Speed) na leve strane.
- 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 detector = peripheral.wrap("back")
- -- Tagy vsech vlaku pro ktere se ma aktivovat vyhybka (pro neuvedene bude vyhybka v klidovem stavu)
- local SWITCH = {"Dieselka","Vlak1"}
- -- Hlavni telo programu
- term.clear()
- term.setCursorPos(1,1)
- print("Seznam vlaku aktivujicich vyhybku:")
- for k,tag in pairs(SWITCH) do print(tag) end
- print()
- -- V nekonecne smycce cekame na zachyceni eventu...
- while true do
- print("Cekam na prijezd vlaku...")
- event_name, address, augment_type, stock_uuid = os.pullEvent("redstone")
- local info = detector.info()
- -- Mame vsechna potrebna data a cteme lokomotivu? (pokud ne, konec handle)
- if (info ~= nil) then
- -- Vypis dat do terminalu
- print(" Tag: "..info.tag)
- print(" Loko: "..info.name)
- print(" Smer: "..info.direction)
- print(" Rychlost: "..math.floor(info.speed).." km/h")
- -- 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.setOutput("right",true)
- break
- else
- redstone.setOutput("right",false)
- end
- end
- if redstone.getOutput("right") then
- print(" Vyhybka aktivni.")
- else
- print(" Vyhybka v klidu.")
- end
- print("")
- sleep(1)
- print("Cekam na prijezd vlaku...")
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement