Upload files to "src"
This commit is contained in:
parent
db0c18c9c5
commit
ea616b55cc
36
src/boot.lua
Normal file
36
src/boot.lua
Normal file
|
@ -0,0 +1,36 @@
|
|||
-- keycardOS "bootloader", has no access to basalt
|
||||
-- intended for checking for updates, and automatically updating basalt if it is missing
|
||||
|
||||
|
||||
local function boot()
|
||||
KEYPADOS_VERSION = "3.0"
|
||||
|
||||
monitor = peripheral.find("monitor")
|
||||
monitor.clear()
|
||||
monitor.setTextScale(0.5)
|
||||
y = 1
|
||||
|
||||
function mPrint(text)
|
||||
monitor.setCursorPos(1,y)
|
||||
monitor.write(text)
|
||||
y = y + 1
|
||||
end
|
||||
|
||||
mPrint("keypadOS v" .. KEYPADOS_VERSION)
|
||||
|
||||
if fs.exists("basalt.lua") then
|
||||
mPrint("Basalt found!")
|
||||
else
|
||||
mPrint("Download basalt...")
|
||||
basalt_code = http.get("https://raw.githubusercontent.com/Pyroxenium/Basalt/master/docs/versions/latest.lua").readAll()
|
||||
mPrint("Install basalt...")
|
||||
local file = fs.open("basalt.lua", "w")
|
||||
file.write(basalt_code)
|
||||
file.close()
|
||||
mPrint("Rebooting...")
|
||||
os.reboot()
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
boot()
|
1
src/config.lua
Normal file
1
src/config.lua
Normal file
|
@ -0,0 +1 @@
|
|||
correctPin = "42169"
|
8
src/init.lua
Normal file
8
src/init.lua
Normal file
|
@ -0,0 +1,8 @@
|
|||
local basalt = require("basalt")
|
||||
local monitor = peripheral.find("monitor")
|
||||
local drive = peripheral.find("drive")
|
||||
local main = basalt.addMonitor()
|
||||
main:setMonitor(monitor)
|
||||
btnX = 1
|
||||
btnY = 3
|
||||
pin = ""
|
30
src/main.lua
Normal file
30
src/main.lua
Normal file
|
@ -0,0 +1,30 @@
|
|||
pinLabel = main:addLabel()
|
||||
:setText("")
|
||||
:setFontSize(1)
|
||||
|
||||
enterButton = main:addButton()
|
||||
:setText(">>>>")
|
||||
:setBackground(colors.blue)
|
||||
:setPosition(6,3)
|
||||
:setSize(1.5,3.2)
|
||||
:onClick(unlockDoor)
|
||||
|
||||
for i = 1, 9 do
|
||||
local button = main:addButton()
|
||||
:setPosition(btnX,btnY)
|
||||
:setText(tostring(i))
|
||||
:setSize(2,1)
|
||||
:onClick(
|
||||
function()
|
||||
addToPin(i)
|
||||
end)
|
||||
btnX = btnX + 2
|
||||
|
||||
if btnX >= 6 then
|
||||
btnY = btnY + 1
|
||||
btnX = 1
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
basalt.autoUpdate()
|
49
src/unlock_door.lua
Normal file
49
src/unlock_door.lua
Normal file
|
@ -0,0 +1,49 @@
|
|||
function unlockDoor()
|
||||
|
||||
if drive.isDiskPresent() then
|
||||
if drive.getDiskLabel() == correctPin then
|
||||
pin = correctPin
|
||||
drive:ejectDisk()
|
||||
end
|
||||
end
|
||||
|
||||
basalt.debug("test")
|
||||
if pin == correctPin then
|
||||
enterButton:setBackground(colors.green)
|
||||
pinLabel:setText("Welcome")
|
||||
redstone.setOutput("front", true)
|
||||
|
||||
if drive.isDiskPresent() then
|
||||
if drive.getDiskLabel() == nil then
|
||||
drive.setDiskLabel(correctPin)
|
||||
pinLabel:setText("Crd set")
|
||||
drive:ejectDisk()
|
||||
end
|
||||
end
|
||||
|
||||
else
|
||||
pinLabel:setText("Wrong")
|
||||
enterButton:setBackground(colors.red)
|
||||
end
|
||||
local thread = main:addThread()
|
||||
:start(resetEverything)
|
||||
|
||||
end
|
||||
|
||||
function resetEverything()
|
||||
sleep(2)
|
||||
pin = ""
|
||||
pinLabel:setText("")
|
||||
redstone.setOutput("front", false)
|
||||
enterButton:setBackground(colors.blue)
|
||||
end
|
||||
|
||||
function addToPin(i)
|
||||
|
||||
if #pin >= 5 then
|
||||
return
|
||||
end
|
||||
|
||||
pin = pin .. tostring(i)
|
||||
pinLabel:setText(pin)
|
||||
end
|
Loading…
Reference in New Issue
Block a user