Advertisement
Guest User

reactorBuddy2.lua

a guest
Aug 2nd, 2015
238
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.51 KB | None | 0 0
  1. -- back = 2
  2. -- white = 0
  3. -- blue = 11
  4. --local component = require("component")
  5.  
  6. local d = component.proxy(component.list("react")())
  7. local m = component.proxy(component.list("modem")())
  8.  
  9. local hasModem = false
  10. local doDebug = false
  11. local microName = "testReactorBuddy"
  12.  
  13. function sleep(timeout)
  14.   local deadline = computer.uptime() + (timeout or 0)
  15.   repeat
  16.     getAndProcessSignal()
  17.   until computer.uptime() >= deadline
  18. end
  19.  
  20. function getFuelStatus()
  21.   local ret = {}
  22.   ret.fuel = d.getFuelAmount()
  23.   ret.fuelMax = d.getFuelAmountMax()
  24.   ret.waste = d.getWasteAmount()
  25.   return ret
  26. end
  27.  
  28. function getEnergyStatus()
  29.   local ret = {}
  30.   ret.lastEnergy = d.getEnergyStored()
  31.   ret.energy = d.getEnergyStored() -- Pulls a second time to get delta
  32.   ret.delta = ret.energy - ret.lastEnergy
  33.   ret.energyMax = 10000000
  34.   return ret
  35. end
  36.  
  37. function getAndProcessSignal()
  38.   local sigName,localaddr,from,port,_,message = computer.pullSignal(1)
  39.  
  40.   if sigName ~= nil then
  41.     if sigName == "modem_message" then
  42.       if message == "WHO IS: " .. microName then
  43.         m.send(from,440,"I AM: " .. microName)
  44.         --m.broadcast(440,"I AM: " .. microName)
  45.       elseif message == "status: fuel" then
  46.         m.send(from,440, getFuelStatus())
  47.       elseif message == "status: energy" then
  48.         m.send(from,440, getEnergyStatus())
  49.       elseif message == "squak: " then
  50.         --m.broadcast(440, message)
  51.         m.send(from,440,message)
  52.       end
  53.     end
  54.   end
  55. end
  56.  
  57. m.open(440)
  58.  
  59. hasModem = m.isOpen(440)
  60.  
  61. while true do
  62. --  getAndProcessSignal()
  63.   sleep(1)
  64. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement