Advertisement
Alexr360

Filter System

Mar 14th, 2024 (edited)
573
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.87 KB | None | 0 0
  1. -- Assuming the computer is placed to the left of the "create_target"
  2. local targetDirection = "right"  -- Direction of the "create_target" relative to the computer
  3. local data = peripheral.wrap(targetDirection)
  4.  
  5. -- Function to read the first line from the target
  6. local function readline(line)
  7.     local line = data.getLine(line)
  8.     return line
  9. end
  10.  
  11. local function formatdatas(number)
  12.     local numberItems = tonumber(readline(number))
  13.     local percent = (numberItems/64)*100
  14.     return percent
  15. end
  16.  
  17. local function formatdatas(number)
  18.     local numberItems = tonumber(readline(number))
  19.     if numberItems == nil then
  20.         return nil, "Input cannot be converted to a number"
  21.     end
  22.     local percent = (numberItems/64)*100
  23.     return percent
  24. end
  25.  
  26.  
  27. local function bastion()
  28.     local modem = peripheral.find("modem") or error("No modem attached", 0)
  29.     modem.open(15) -- Open 43 so we can receive replies
  30.  
  31.     -- And wait for a reply
  32.     local event, side, channel, replyChannel, message, distance
  33.     repeat
  34.       event, side, channel, replyChannel, message, distance = os.pullEvent("modem_message")
  35.     until channel == 15
  36.  
  37.     -- Process the received message based on its content
  38.     if message == "Filters" then
  39.         filter1 = formatdatas(1)
  40.         filter2 = formatdatas(2)
  41.         filter3 = formatdatas(3)
  42.         filter4 = formatdatas(4)
  43.         filter5 = formatdatas(5)
  44.         filter6 = formatdatas(6)
  45.         filter7 = formatdatas(7)
  46.         filter8 = formatdatas(8)
  47.  
  48.         msg = "Filter 1" .. filter1 .. "Filter 2" .. filter2  .. "Filter 3" .. filter3  .. "Filter 4" .. filter4 .. "Filter 5" .. filter5 .. "Filter 6" .. filter6 .. "Filter 7" .. filter7 .. "Filter 8" .. filter8
  49.  
  50.         modem.transmit(43, 15, msg)
  51.     end
  52. end
  53.  
  54. term.clear()
  55. term.setCursorPos(1, 1)
  56. print("Bastion Network Online!")
  57.  
  58. -- Main loop
  59. while true do
  60.     bastion()
  61. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement