Advertisement
Guest User

menu

a guest
Jan 10th, 2013
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.18 KB | None | 0 0
  1. local currline = 0
  2. local pos
  3. pos = 1
  4. local loctable
  5. local postable
  6. local linetable
  7. linetable = {}
  8. postable = {}
  9. loctable = {}
  10. local event
  11. local keypressed
  12. local countlines
  13. local page
  14. page = 1
  15.  
  16. function readFile()
  17.   file = io.open("power","r")
  18.   for line in file:lines() do
  19.     currline = currline + 1
  20.     for name, active in string.gmatch(line, "(.+):(%a)") do
  21.       print(name.."="..tostring(active))
  22.       loctable[name] = active
  23.     end
  24.   end
  25.   file:close()
  26. end
  27.  
  28. function printMenu()
  29.   file = io.open("power","r")
  30.   term.clear()
  31.   term.setCursorPos(1,1)
  32.   local currpos
  33.   local wire = 0
  34.   currpos = 1
  35.   countlines = 0
  36.   for line in file:lines() do
  37.   for name, active in string.gmatch(line, "(.+):(%w+)") do
  38.     loctable[name] = active
  39.     countlines = countlines + 1
  40.     wire = redstone.getBundledOutput("bottom")
  41.     if active == "Open" then
  42.    
  43.       term.setTextColor(colors.lime)
  44.       wire = colors.combine(wire, 2^countlines)
  45.      
  46.     else
  47.       term.setTextColor(colors.red)
  48.       wire=colors.subtract(wire, 2^countlines)
  49.     end
  50.     redstone.setBundledOutput("bottom", wire)
  51.     if currpos == pos then
  52.       print(name.."="..active.."*")
  53.     else
  54.       print(name.."="..active)
  55.     end
  56.     postable[countlines] = active
  57.     linetable[countlines] = line
  58.     currpos = currpos+1
  59.   end
  60.   end
  61.   term.setTextColor(colors.white)
  62.   file:close()
  63. end      
  64.        
  65.  
  66. while true do
  67.   printMenu()
  68.   local event, a = os.pullEvent("key")
  69.   if a == 200 and pos > 1 then
  70.     pos = pos - 1
  71.   end
  72.   if a == 208 and pos < 3 then
  73.     pos = pos + 1
  74.   end
  75.   if a == 28 then
  76.     for line in linetable[currpos] do
  77.      if active == "Open" then
  78.        active = "Closed"
  79.      else
  80.        active = "Open"
  81.      end      
  82.     end  
  83.   end  
  84. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement