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