Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Custom Button Program 0-0-1
- -- Works with: Advanced Computer & Monitor
- -- Environment Tested: Minecraft 1.6.4 Computer Craft version 1.5
- -- By RCScorpionfien @
- -- Requires Button API to work, download at pastebin.com/HRbMF1Eg
- -- Download this file >> http://www.pastebin.com/NZ9uYSgb
- -- Call API & Set Paripheral Location
- os.loadAPI("button","redset")
- m = peripheral.wrap("top")
- m.clear()
- -- Functions
- --Clears Screen & Sets Cursor Position
- function clearScreen()
- m.clear()
- m.setCursorPos(4,6)
- end
- --Return to Main Menu
- function mainMenu()
- clearScreen()
- m.write("Returning to Main Menu...")
- sleep(3)
- shell.run("home")
- end
- --Clears Current Table -- Does Not Delete
- --function clearTable()
- -- button = {}
- -- m.clear()
- --end
- --Menu Swap
- function splashScreen()
- m.clear()
- --clearTable()
- m.setCursorPos(4,6)
- m.write("Changing Menus...")
- sleep(3)
- m.clear()
- end
- --Where was the screen clicked
- function getClick()
- event,side,x,y = os.pullEvent("monitor_touch")
- button.checkxy(x,y)
- end
- --Set Button Names and Location
- --Main Menu Button Table
- function fillTable1()
- button.setTable1("Door", door1, 10,20,3,5)
- button.setTable1("Power", power1, 22,32,3,5)
- button.setTable1("Light", light1, 10,20,8,10)
- button.setTable1("Exit", exit1, 22,32,8,10)
- button.screen()
- end
- --Door Button Table
- function fillTable2()
- button.setTable2("Open", open1, 10,20,3,5)
- button.setTable2("Closed", closed1, 22,32,3,5)
- button.setTable2("Back", back1, 22,32,8,10)
- button.screen()
- end
- --Power Button Table
- function fillTable3()
- button.setTable3("On", on1, 10,20,3,5)
- button.setTable3("Off", off1, 22,32,3,5)
- button.setTable3("Back", back1, 22,32,8,10)
- button.screen()
- end
- --Light Button Table
- function fillTable4()
- button.setTable4("On", on2, 10,20,3,5)
- button.setTable4("Off", off2, 22,32,3,5)
- button.setTable4("Back", bac1, 22,32,8,10)
- button.screen()
- end
- --Exit Button Table
- function fillTable5()
- button.setTable5("Yes", yes1, 10,20,3,5)
- button.setTable5("No", back1, 22,32,8,10)
- button.setTable5("Master On", master1, 22,32,3,5)
- button.setTable5("Master Off", master2, 10,20,8,10)
- button.screen()
- end
- -- Write Button Funtions here
- --Door Menu
- function door1()
- button.flash("Door")
- m.clear()
- splashScreen()
- fillTable2()
- button.heading("Door Menu")
- end
- --Power Menu
- function power1()
- button.flash("Power")
- m.clear()
- splashScreen()
- fillTable3()
- button.heading("Power Menu")
- end
- --Light Menu
- function light1()
- button.flash("Light")
- m.clear()
- splashScreen()
- fillTable4()
- button.heading("Light Menu")
- end
- --Exit Menu
- function exit1()
- button.flash("Exit")
- m.clear()
- splashScreen()
- fillTable5()
- button.heading("Exit Menu")
- end
- --Door Open
- function open1()
- clearScreen()
- m.write("Opening Door..")
- sleep(3)
- rs.setOutput("bottom", true)
- mainMenu()
- end
- --Door Close
- function closed1()
- clearScreen()
- m.write("Closing Door..")
- sleep(3)
- rs.setOutput("bottom", false)
- mainMenu()
- end
- --Power On
- function on1()
- clearScreen()
- m.write("Powering On..")
- sleep(3)
- rs.setOutput("right", true)
- mainMenu()
- end
- --Power Off
- function off1()
- clearScreen()
- m.write("Powering Off..")
- sleep(3)
- rs.setOutput("right", false)
- mainMenu()
- end
- --Lights On
- function on2()
- clearScreen()
- m.write("Lights On..")
- sleep(3)
- rs.setOutput("back", true)
- mainMenu()
- end
- --Lights Off
- function off2()
- clearSceen()
- m.write("Lights Off..")
- sleep(3)
- rs.setOutput("back", false)
- mainMenu()
- end
- --Exit Yes
- function yes1()
- clearScreen()
- m.write("Please Wait for Restart...")
- sleep(3)
- shell.run("reboot")
- end
- --Master On
- function master1()
- clearScreen()
- m.write("Everything On...")
- sleep(3)
- rs.setOutput("back", true)
- rs.setOutput("left", true)
- rs.setOutput("right", true)
- mainMenu()
- end
- --Master Off
- function master2()
- clearScreen()
- m.write("Everything Off...")
- sleep(3)
- rs.setOutput("back", false)
- rs.setOutput("left", false)
- rs.setOutput("right", false)
- mainMenu()
- end
- --Return to Main Menu
- function back1()
- mainMenu()
- end
- -- Places Buttons on screen with Heading and Label
- fillTable1()
- button.heading("Main Menu")
- --button.label(1,5,"hey")
- -- begin event listener for user Click
- -- An alternate method should be used
- -- while true do is for demonstration purposes only
- while true do
- getClick()
- end
Advertisement
Add Comment
Please, Sign In to add comment