Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local vRGarg = { ...} -- input when starting program to determine server, 1,2,3,4,5,6
- os.loadAPI("/rom/apis/rednet")
- rednet.open("bottom")
- vServer = "rc"..tostring(vRGarg[1])
- rednet.host("rcnet",vServer)
- TOR = "TOR"..tostring(vRGarg[1]) --Turning On Reactor Number
- rchost = "rc"..tostring(vRGarg[1]) --This is ReactorControl number
- srg1 = "RG"..tostring(vRGarg[1]).."A"
- srg2 = "RG"..tostring(vRGarg[1]).."B"
- messageL = nil --Set Message to nil
- ms = 43 --Set ID MainServer listening
- vSideTra = "front" --Set Transceiver side for turning on the reactor
- vSideRes = "back" --Set Receiver side for confirmation reactor is running
- vRG1 = "left" --Set Receiver side for Reactor Generator xA
- vRG2 = "right" --Set Receiver side for Reactor Generator xB
- vRs = nil --Reactor Status on off
- vRm = nil --Reactor Manual on off
- function listen()
- local senderIdL, messageL, protocolL = rednet.receive()
- print(senderIdL, messageL, protocolL)
- if protocolL == "rctrl" then
- if messageL == TOR then
- print("toggleR")
- toggleR()
- messageL = nil
- end
- end
- end
- function sendStatus()
- while true do
- if redstone.getInput(vSideRes) == true then
- -- print(vServer..": Reactor = on")
- rednet.send(ms,"On",rchost)
- elseif redstone.getInput(vSideRes) == false then
- -- print(vServer..": Reactor = Off")
- rednet.send(ms,"Off",rchost)
- end
- sleep(1)
- end
- end
- function sendStatusRG()
- while true do
- if redstone.getInput(vRG1) == true then
- print(vServer..": Reactor Generator :"..srg1.." = Off")
- rednet.send(ms,"Off",srg1)
- elseif redstone.getInput(vRG1) == false then
- print(vServer..": Reactor Generator :"..srg1.." = On")
- rednet.send(ms,"On",srg1)
- end
- if redstone.getInput(vRG2) == true then
- print(vServer..": Reactor Generator :"..srg2.." = Off")
- rednet.send(ms,"Off",srg2)
- elseif redstone.getInput(vRG2) == false then
- print(vServer..": Reactor Generator :"..srg2.." = On")
- rednet.send(ms,"On",srg2)
- end
- sleep(1)
- end
- end
- function sendStatusRCm() -- Send Status Reactor Manual Yes or no
- while true do
- vRs = nil -- reset var
- vRm = nil -- reset var
- vRs = redstone.getInput(vSideRes)
- if vRs == true then
- vRm = redstone.getOutput(vSideTra)
- if vRm == true then
- rednet.send(ms,"mOn",rchost)
- print(vServer..": sending : mOn")
- else
- rednet.send(ms,"On",rchost)
- print(vServer..": sending : On")
- end
- elseif vRs == false then
- rednet.send(ms,"Off",rchost)
- print(vServer..": sending : Off")
- elseif vRs == nill then
- rednet.send(ms,"NUL",rchost)
- print(vServer..": sending : NULL")
- end
- sleep(1)
- end
- end
- function pulse()
- print(vServer..": pulse aan")
- redstone.setOutput(vSideTra, true)
- sleep(3,5)
- redstone.setOutput(vSideTra, false)
- print(vServer..": pulse uit")
- end
- function toggleR()
- if redstone.getOutput(vSideTra) == true then
- print(vServer..": Reactor = on, turning off")
- redstone.setOutput(vSideTra, false)
- else
- print(vServer..": Reactor = off, turning on")
- redstone.setOutput(vSideTra, true)
- end
- end
- --x=0
- while true do
- parallel.waitForAny(listen, sendStatusRCm, sendStatusRG)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement