Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --//Redstone Control
- function setRedstone(modem, channel, filter, side, value)
- local t = {
- ["filter"] = filter,
- ["request"] = "set",
- ["side"] = side,
- ["value"] = value,
- }
- t = textutils.serialize(t)
- modem.transmit(channel, 10000, t)
- end
- function getRedstoneOutput(modem, channel, filter, side, redType, reply)
- local t = {
- ["filter"] = filter,
- ["request"] = "output",
- ["side"] = side,
- ["type"] = redType,
- }
- t = textutils.serialize(t)
- modem.transmit(channel, reply, t)
- local r = nil
- local timer = os.startTimer(5)
- while true do
- local event = {os.pullEvent()}
- if event[1] == "modem_message" then
- local message = textutils.unserialize(event[5])
- if message["redstoneReturn"] == true then
- r = message["reply"]
- break
- end
- elseif event[2] == timer then
- break
- end
- end
- return r
- end
- function getRedstoneInput(modem, channel, filter, side, redType, reply)
- local t = {
- ["filter"] = filter,
- ["request"] = "input",
- ["side"] = side,
- ["type"] = redType,
- }
- t = textutils.serialize(t)
- modem.transmit(channel, reply, t)
- local r = nil
- local timer = os.startTimer(5)
- while true do
- local event = {os.pullEvent()}
- if event[1] == "modem_message" then
- local message = textutils.unserialize(event[5])
- if message["redstoneReturn"] == true then
- r = message["reply"]
- break
- end
- elseif event[2] == timer then
- break
- end
- end
- return r
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement