ZareMate 0edd699e24 .
2023-07-31 12:01:29 +02:00

228 lines
4.7 KiB
Lua

--[[Local Variables]]
--
local termWidth, termHeight = term.getSize()
local selectedItem = 1
local inMainMenu = true
local inLightsMenu = false
local CableSite = "top"
local ActiveColor = rs.getBundledOutput(CableSite)
os.pullEvent = os.pullEventRaw
--[[Menu Methods]]
--
function Who()
term.clear()
term.setCursorPos(1, 1)
term.write("chuj")
sleep(3)
end
function LightSystem()
selectedItem = 1
inLightsMenu = true
while inLightsMenu do
term.clear()
term.setCursorPos(1, 1)
printMenu(lightsMenu)
event, key = os.pullEvent("key")
onKeyPressed(key, lightsMenu)
end
end
function First()
lightSystem(colors.white)
end
function Second()
lightSystem(colors.orange)
end
function Third()
lightSystem(colors.magenta)
end
function Fourth()
lightSystem(colors.yellow)
end
function Fifth()
lightSystem(colors.lime)
end
function Sixth()
lightSystem(colors.pink)
end
function Alarm()
lightSystem(colors.red)
end
function All()
lightSystem(65407)
end
function LightsBack()
inLightsMenu = false
selectedItem = 1
end
function Snake()
shell.run("worm")
end
function Calculator()
shell.run("calculator.lua")
end
function Edit()
inMainMenu = false
shell.run("edit " .. shell.getRunningProgram())
os.reboot()
end
function Console()
term.clear()
term.setCursorPos(1, 1)
inMainMenu = false
end
function Reboot()
print("Rebooting...")
sleep(1)
os.reboot()
end
function Exit()
os.shutdown()
end
--[[Menu Definitions]]
--
mainMenu = {
[1] = { text = "Who amI?", handler = Who },
[2] = { text = "Light Controls", handler = LightSystem },
[3] = { text = "Snake", handler = Snake },
[4] = { text = "Calculator", handler = Calculator },
[5] = { text = "Edit", handler = Edit },
[6] = { text = "Console", handler = Console },
[7] = { text = "Reboot", handler = Reboot },
[8] = { text = "Exit", handler = Exit }
}
lightsMenu = {
[1] = { text = "First", handler = First },
[2] = { text = "Second", handler = Second },
[3] = { text = "Third", handler = Third },
[4] = { text = "Fourth", handler = Fourth },
[5] = { text = "Fifth", handler = Fifth },
[6] = { text = "Sixth", handler = Sixth },
[7] = { text = "Alarm", handler = Alarm },
[8] = { text = "All (Off)", handler = All },
[9] = { text = "Back", handler = LightsBack }
}
--[[Printing Methods]]
--
function printMenu(menu)
for i = 1, #menu do
if i == selectedItem then
print("[*]" .. menu[i].text)
else
print("[ ]" .. menu[i].text)
end
end
end
--[[Handler Method]]
--
function onKeyPressed(key, menu)
if key == keys.enter then
onItemSelected(menu)
elseif key == keys.up then
if selectedItem > 1 then
selectedItem = selectedItem - 1
else
selectedItem = #menu
end
elseif key == keys.down then
if selectedItem < #menu then
selectedItem = selectedItem + 1
else
selectedItem = 1
end
end
end
function onItemSelected(menu)
menu[selectedItem].handler(args)
end
--[[Light System]]
--
function lightSystem(SetColors)
if SetColors == 65407 then
ActiveColor = 0
rs.setBundledOutput(CableSite, 0)
elseif colors.test(ActiveColor, SetColors) then
ActiveColor = colors.subtract(ActiveColor, SetColors)
rs.setBundledOutput(CableSite, ActiveColor)
else
ActiveColor = colors.combine(ActiveColor, SetColors)
rs.setBundledOutput(CableSite, ActiveColor)
end
SaveColors = ActiveColor
local file = io.open("lights", "w")
file:write(SaveColors)
file:close()
end
--[[Restore Light System]]
--
function RestoreLightSystem()
local Restore = io.open("lights", "r")
RestoredColors = tonumber(Restore:read())
rs.setBundledOutput(CableSite, RestoredColors)
ActiveColor = rs.getBundledOutput(CableSite)
Restore:close()
end
--[[Main function]]
--
function main()
while inMainMenu do
term.clear()
term.setCursorPos(1, 1)
printMenu(mainMenu)
event, key = os.pullEvent("key")
onKeyPressed(key, mainMenu)
end
end
--[[Login system]]
--
function login()
term.clear()
term.setCursorPos(1, 1)
print("Login:")
local username = read()
term.clear()
term.setCursorPos(1, 1)
print("Password:")
local password = read("*")
if username == "ZareMate" and password == "nigga" then
main()
elseif username == "zaremate" and password == "nigga" then
main()
elseif username == "Querdus" and password == "kebab" then
main()
elseif username == "querdus" and password == "kebab" then
main()
else
print("Wrong Password!")
sleep(3)
os.reboot()
end
end
RestoreLightSystem()
login()