Advertisement
RiseAboveHate

Siren_Server_1.16_BitNet_Tower

Dec 12th, 2014
237
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.29 KB | None | 0 0
  1. local statelist = {
  2.   ["top"] = rs.getInput("top"),
  3.   ["front"] = rs.getInput("front"),
  4.   ["left"] = rs.getInput("left"),
  5.   ["right"] = rs.getInput("right"),
  6.   ["back"] = rs.getInput("back"),
  7.   ["bottom"] = rs.getInput("bottom"),
  8. }
  9.  
  10. local SirenAreaCode
  11.  
  12. local SirenCodeTable = {"175", "217", "218", "219", "220"}
  13.  
  14. local function SirensACode(tTable, tText)
  15.         local resault = "(Not found!)"
  16.         for i=1, #tTable do
  17.                 if tText == tTable[i] then
  18.                         resault = tTable[i]
  19.                 end    
  20.         end
  21.         return resault
  22. end
  23.  
  24.  
  25. local modem = {peripheral.find("modem")}
  26. for i = 1, #modem do modem[i].open(rednet.CHANNEL_REPEAT) end
  27.  
  28. local tower = {peripheral.find("bitnet_tower", function(name, object) return object.isTowerComplete() end)}
  29.  
  30. if #modem == 0 and #tower == 0 then error("No modems/towers found.")
  31. else
  32.     print("Welcome To The Siren Server!!!!!\nThis Program programmed By Yossi Yuval\nFor I.D.F!\nThis system is still in Beta!\nThis will be tested by I.D.F\n\n\n\n")
  33. local SirenAreaFile2 = fs.open("SCode", "r")
  34. SirenAreaCode2 = SirenAreaFile2.readAll()
  35. SirenAreaFile2.close()
  36. print("| Siren Area Code: ".SirenAreaCode2 ." |")
  37. end
  38.  
  39. local repeated, msgID, timerID, myEvent = 0, {}, {}
  40.  
  41. print(#modem.." modem"..(#modem==1 and "" or "s").." found.")
  42. print(#tower.." tower"..(#tower==1 and "" or "s").." found.")
  43. print("0 messages repeated.")
  44.  
  45. while #tower do -- Start an endless loop
  46.     local SirenAreaFile = fs.open("SCode", "r")
  47.     SirenAreaCode = SirenAreaFile.readAll()
  48.     SirenAreaFile.close()
  49.     os.pullEvent("redstone") -- Yield the computer until some redstone changes
  50.     -- We don't care what the event returns, since the first variable will be "redstone" and the rest will be nil.
  51.  
  52.     if SirensACode(SirenCodeTable, SirenAreaCode) ~= "(Not found!)" then
  53.   -- Now we check each side to see if it's changed.
  54.         if rs.getInput("left") or rs.getInput("right") or rs.getInput("top") or rs.getInput("bottom") or rs.getInput("front") or rs.getInput("back") then
  55.             for i = 1, #tower do
  56.                 tower[i].transmit("on | "..SirenAreaCode)
  57.             end
  58.             print("[Siren Server] Status: ON | SirenAreaCode: "..SirenAreaCode)
  59.         --else
  60.         --  for i = 1, #tower do  
  61.         --      tower[i].transmit("off | "..SirenAreaCode)
  62.         --  end
  63.         --  print("[Siren Server] Status: OFF | SirenAreaCode: "..SirenAreaCode)
  64.         end    
  65.     end
  66. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement