Advertisement
casillero

modstone

May 29th, 2014
341
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.44 KB | None | 0 0
  1. --//Redstone Control
  2.  
  3. function setRedstone(modem, channel, filter, side, value)
  4.     local t = {
  5.         ["filter"] = filter,
  6.         ["request"] = "set",
  7.         ["side"] = side,
  8.         ["value"] = value,
  9.         }
  10.     t = textutils.serialize(t)
  11.     modem.transmit(channel, 10000, t)      
  12. end
  13.  
  14. function getRedstoneOutput(modem, channel, filter, side, redType, reply)
  15.     local t = {
  16.         ["filter"] = filter,
  17.         ["request"] = "output",
  18.         ["side"] = side,
  19.         ["type"] = redType,
  20.         }
  21.     t = textutils.serialize(t)
  22.     modem.transmit(channel, reply, t)
  23.     local r = nil
  24.     local timer = os.startTimer(5)
  25.     while true do
  26.         local event = {os.pullEvent()}
  27.         if event[1] == "modem_message" then
  28.             local message = textutils.unserialize(event[5])
  29.             if message["redstoneReturn"] == true then
  30.                 r = message["reply"]
  31.                 break
  32.             end
  33.         elseif event[2] == timer then
  34.             break
  35.         end
  36.     end
  37.     return r
  38. end
  39.  
  40. function getRedstoneInput(modem, channel, filter, side, redType, reply)
  41.     local t = {
  42.         ["filter"] = filter,
  43.         ["request"] = "input",
  44.         ["side"] = side,
  45.         ["type"] = redType,
  46.         }
  47.     t = textutils.serialize(t)
  48.     modem.transmit(channel, reply, t)
  49.     local r = nil
  50.     local timer = os.startTimer(5)
  51.     while true do
  52.         local event = {os.pullEvent()}
  53.         if event[1] == "modem_message" then
  54.             local message = textutils.unserialize(event[5])
  55.             if message["redstoneReturn"] == true then
  56.                 r = message["reply"]
  57.                 break
  58.             end
  59.         elseif event[2] == timer then
  60.             break
  61.         end
  62.     end
  63.     return r   
  64. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement