Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- interfaceName = "stargate_0"
- stargate = peripheral.wrap(interfaceName)
- term.setBackgroundColor(colors.black)
- term.setTextColor(colors.white)
- local addressFileName = "addresses"
- local showRow = 0
- function saveAddresses(addresses)
- local file = fs.open(addressFileName,"w")
- file.write(textutils.serialize(addresses))
- file.close()
- end
- function loadAddresses()
- local file = fs.open(addressFileName,"r")
- local data = file.readAll()
- file.close()
- return textutils.unserialize(data)
- end
- local addresses = loadAddresses()
- if addresses == nil then addresses = {} end
- local functions = { "Dial", "Add Address", "Edit Address", "Remove Address", "Toggle Iris" }
- function addAddress(name, address)
- if addresses[name] ~= nil then return false end
- addresses[name] = address
- saveAddresses(addresses)
- return true
- end
- function removeAddress(name)
- if addresses[name] ~= nil then
- addresses[name] = nil
- end
- saveAddresses(addresses)
- end
- function drawBg(file)
- term.clear()
- local bg = paintutils.loadImage(file)
- paintutils.drawImage(bg, 1, 1)
- term.setCursorPos(1,1)
- term.write("Fort Dusk Stargate Control")
- end
- function drawMenu()
- drawBg("bg.nfp")
- local options = { "Dial", "Edit Addresses", "Toggle Iris" }
- local buttonWidth = 16
- for i = 1, 3, 1 do
- term.setCursorPos(20 + (buttonWidth / 2 - #options[i] / 2), 7 + ((i - 1) * 4))
- term.write(options[i])
- end
- end
- function drawButton(column1, row)
- local x = if column1 then 6 else 30 end
- local y = 4 + ((row - 1) * 3)
- paintutils.drawPixel(x, y, 5)
- paintutils.drawPixel(x + 1, y, 8)
- paintutils.drawPixel(x + 2, y, 8)
- term.setCursorPos(x + 4, y)
- end
- function getAddressNames()
- local names = {}
- for name, _ in pairs(addresses) do
- table.insert(names, name)
- end
- return names
- end
- local maxAddress = 5
- function drawSelectMenu()
- drawBg("address.nfp")
- local names = getAddressNames()
- -- Up and down
- term.setCursorPos(3,3)
- term.write('^')
- term.setCursorPos(3,18)
- term.write('v')
- -- Back button
- term.setCursorPos(42, 2)
- term.write(< Back)
- local column1 = true
- for i = 1 + (2 * showRow), #names, 1, do
- drawButton(column1, math.floor((i - (2 * showRow)) / 2))
- term.write(names[i])
- column1 = not column1
- end
- end
- drawSelectMenu()
Advertisement
Add Comment
Please, Sign In to add comment