Advertisement
Guest User

menu

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