Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ttable = {}
- function ttable.copy(t1)
- local t2 = {}
- for k,v in pairs(t1) do t2[k] = v end
- return t2
- end
- startupprog = "none"
- notifytext = ""
- function saveconfig()
- conff = fs.open("XoXOSC", "w")
- conff.writeLine(startupprog)
- conff.close()
- notifytext = "Saved."
- end
- menuIndex = 1
- menu = {}
- menu1 = {}
- menu2 = {}
- menu3 = {}
- menu4 = {}
- menu5 = {}
- menu1.esc = function() end
- menu1[1] = { txt = "Programs" , exec = function() menu = ttable.copy( menu2 ) ; menuIndex = 1 end }
- menu1[2] = { txt = "Games" , exec = function() menu = ttable.copy( menu3 ) ; menuIndex = 1 end}
- menu1[3] = { txt = "Options", exec = function() menu = ttable.copy( menu4 ) ; menuIndex = 1 end}
- menu2.esc = function() menu = ttable.copy( menu1 ) ; menuIndex = 1 end
- menu2[1] = { prog = "door", txt = "Door", exec = function() shell.run("door") end}
- menu2[2] = { prog = "calc", txt = "Calculator", exec = function() shell.run("calc") end}
- menu3.esc = function() menu = ttable.copy( menu1 ) ; menuIndex = 1 end
- menu3[1] = { txt = "Text Minecraft", exec = function() shell.run("adventure") end}
- menu4.esc = function() menu = ttable.copy( menu1 ) ; menuIndex = 1 end
- menu4[1] = { txt = "Startup Program", exec = function() menu = ttable.copy( menu5 ) ; menuIndex = 1 end}
- menu4[#menu4 + 1] = { txt = "Save" , exec = saveconfig }
- menu5 = ttable.copy(menu2)
- table.insert(menu5, 1, { txt = "None", prog = "none" })
- menu5.esc = function() menu = ttable.copy( menu4 ) ; menuIndex = 1 end
- for k, v in ipairs(menu5) do
- v.exec = function() startupprog = menu5[menuIndex].prog end
- end
- if fs.exists("XoXOSC") then
- conff = fs.open("XoXOSC" , "r" )
- startupprog = conff.readLine()
- conff.close()
- end
- if startupprog ~= "none" then
- shell.run(startupprog)
- end
- menu = ttable.copy( menu1 )
- term.clear()
- term.setCursorPos(1,1)
- while true do
- term.clear()
- term.setCursorPos(1,1)
- for k,v in ipairs(menu) do
- print(" ")
- if menuIndex == k then
- print( ">> " .. v.txt .. " <<")
- else
- print( " " .. v.txt)
- end
- end
- term.setCursorPos(1,17)
- print(notifytext)
- conf = fs.open("XoXOSDev", "w")
- conf.writeLine("Nope.")
- conf.close()
- local event, param1 = os.pullEvent("key")
- notifytext = ""
- if param1 == 200 then
- menuIndex = menuIndex - 1
- if menuIndex < 1 then menuIndex = #menu end
- elseif param1 == 208 then
- menuIndex = menuIndex + 1
- if menuIndex > #menu then menuIndex = 1 end
- elseif param1 == 30 then
- menu2[1].exec()
- elseif param1 == 28 or param1 == 205 then
- menu[menuIndex].exec()
- elseif param1 == 14 or param1 == 203 then
- menu.esc()
- elseif param1 == 60 then
- conf = fs.open("XoXOSDev", "w")
- conf.writeLine("Let's go")
- conf.close()
- return
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment