Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[ Local Variables ]]--
- -- Root Directories & Extentions --
- local Root = ".Network/"
- local iRoot = ".Network/Info/"
- --[[ Functions ]]--
- -- Misc --
- function clear()
- term.clear()
- term.setCursorPos(1,1)
- end
- function Reset()
- clear()
- term.setTextColor(colors.red)
- write("E-Mail Network")
- term.setTextColor(colors.yellow)
- printTR("- Installer -")
- term.setTextColor(colors.white)
- printTM("[ Client Edition ]")
- w, h = term.getSize()
- print(string.rep("-", w)) write("\n")
- end
- function printTR( text )
- w, h = term.getSize()
- term.setCursorPos(w - #text, 1)
- write(text)
- end
- function printTM( text )
- local w, h = term.getSize()
- term.setCursorPos((w - #text) / 2, 1)
- write(text)
- end
- function printC( text )
- local x, y = term.getSize()
- term.setCursorPos(( x - string.len(text)) / 2, y / 2)
- write( text )
- end
- -- Interface --
- Reset()
- term.setTextColor(colors.yellow)
- print("Setting Up Directories...")
- os.sleep(1)
- fs.makeDir(Root)
- fs.makeDir(iRoot)
- print("Getting Needed Files...")
- Network = --[[ Local Variables ]]--
- -- Root Directories & Extentions --
- local Root = ".Network/"
- local iRoot = ".Network/Info/"
- -- Misc --
- local DoNetwork = false
- local DoNewMsg = false
- Blacklisted = " key == 14 key == 83 or if key == 144 or if key == 145 or if key == 147 or if key == 181or if key == 13 or if key == 43 or if key == 51 or if key == 52 or if key == 53 or if key == 83 or if key == 144 or if key == 145 or if key == 147 or if key == 181"
- if fs.exists(iRoot .. "ServerID.txt") then
- sr = fs.open(iRoot .. "ServerID.txt", "r")
- ServerID = sr.readLine() sr.close()
- Server = tonumber(ServerID)
- IsServer = true
- end
- -- Menu Variables --
- UseMainMenu = false
- UseLoginMenu = false
- UseOptionsMenu = false
- UseMessagesMenu = false
- if fs.exists(iRoot .. "LoggedIn.txt") then
- LoggedIn = true
- ur = fs.open(iRoot .. "LoggedIn.txt", "r")
- UserLI = ur.readLine()
- ur.close()
- else
- LoggedIn = false
- end
- --[[ Functions ]]--
- -- Misc --
- function clear()
- term.clear()
- term.setCursorPos(1,1)
- end
- function ResetL()
- clear()
- term.setTextColor(colors.red)
- write("E-Mail Network")
- term.setTextColor(colors.white)
- w, h = term.getSize()
- print(string.rep("-", w)) write("\n")
- end
- function Reset()
- clear()
- term.setTextColor(colors.red)
- write("E-Mail Network")
- term.setTextColor(colors.yellow)
- printTR(UserLI)
- term.setTextColor(colors.white)
- w, h = term.getSize()
- print(string.rep("-", w)) write("\n")
- end
- function ResetM( text )
- clear()
- term.setTextColor(colors.red)
- write("E-Mail Network")
- term.setTextColor(colors.yellow)
- printTR(UserLI)
- term.setTextColor(colors.white)
- printTM("[ " .. Msg .. " ]")
- x, y = term.getCursorPos()
- term.setTextColor(colors.orange)
- printBM(" ( Press DEL To Delete | Press BACKSPACE To Exit ) ")
- term.setTextColor(colors.white)
- term.setCursorPos(x, y)
- w, h = term.getSize()
- print(string.rep("-", w)) write("\n")
- end
- function ResetS( text )
- clear()
- term.setTextColor(colors.red)
- write("E-Mail Network")
- term.setTextColor(colors.yellow)
- printTR(UserLI)
- x, y = term.getCursorPos()
- term.setTextColor(colors.orange)
- printBM("( Press DELETE To Cancel )")
- term.setTextColor(colors.white)
- term.setCursorPos(x, y)
- w, h = term.getSize()
- print(string.rep("-", w)) write("\n")
- end
- function printTR( text )
- w, h = term.getSize()
- term.setCursorPos(w - #text, 1)
- write(text)
- end
- function printTM( text )
- local w, h = term.getSize()
- term.setCursorPos((w - #text) / 2, 1)
- write(text)
- end
- function printBM( text )
- local w, h = term.getSize()
- term.setCursorPos((w - #text) / 2, h)
- write(text)
- end
- function printC( text )
- local x, y = term.getSize()
- term.setCursorPos(( x - string.len(text)) / 2, y / 2)
- write( text )
- end
- function Exit()
- clear()
- UseMainMenu = false
- UseLoginMenu = false
- UseMessagesMenu = false
- DoNetwork = false
- end
- -- Menu Function --
- function PrintMenu( menu )
- for i = 1, #menu do
- if i == SelectedItem then
- if menu[i].MessageName then
- term.setTextColor(colors.yellow)
- print(menu[i].MessageName)
- term.setTextColor(colors.white)
- elseif menu[i].Option then
- if menu[i].Option == "Reload Inbox" then
- term.setTextColor(colors.yellow)
- print("\n" .. menu[i].Option)
- term.setTextColor(colors.white)
- else
- term.setTextColor(colors.yellow)
- print(menu[i].Option)
- term.setTextColor(colors.white)
- end
- end
- else
- if menu[i].MessageName then
- term.setTextColor(colors.gray)
- print(menu[i].MessageName)
- term.setTextColor(colors.white)
- elseif menu[i].Option then
- if menu[i].Option == "Reload Inbox" then
- term.setTextColor(colors.gray)
- print("\n" .. menu[i].Option)
- term.setTextColor(colors.white)
- else
- term.setTextColor(colors.gray)
- print(menu[i].Option)
- term.setTextColor(colors.white)
- end
- end
- end
- end
- end
- function KeyHandler( key, menu )
- if key == 28 then
- UseOption(menu)
- elseif key == 200 then
- if SelectedItem > 1 then
- SelectedItem = SelectedItem - 1
- else
- SelectedItem = #menu
- end
- elseif key == 208 then
- if SelectedItem < #menu then
- SelectedItem = SelectedItem + 1
- else
- SelectedItem = 1
- end
- end
- end
- function UseOption( menu )
- if menu[SelectedItem].MessageName then
- Msg = menu[SelectedItem].MessageName
- RUser = Messages[SelectedItem].RUser
- ResetM(Msg)
- term.setTextColor(colors.yellow)
- write("From: ") term.setTextColor(colors.white) write(menu[SelectedItem].Sender) term.setTextColor(colors.yellow) write("\nMessage:") term.setTextColor(colors.white) write("\n\n" .. menu[SelectedItem].Message)
- repeat
- event, key = os.pullEvent("key")
- os.sleep(0.1)
- until key == 14 or key == 211
- if key == 211 then
- rednet.send(Server, "DeleteMessage")
- os.sleep(0.1)
- rednet.send(Server, Msg)
- os.sleep(0.1)
- rednet.send(Server, RUser)
- os.sleep(0.1)
- Inbox()
- elseif key == 14 then
- Inbox()
- end
- elseif menu[SelectedItem].Function then
- menu[SelectedItem].Function()
- elseif menu[SelectedItem].Option == "Back" then
- Back()
- elseif menu[SelectedItem].Option == "Reload Inbox" then
- Inbox()
- elseif menu[SelectedItem].File then
- Exit()
- shell.run(menu[SelectedItem].File)
- else
- clear()
- term.setTextColor(colors.red)
- printC("There Was An Error!")
- term.setTextColor(colors.white)
- os.sleep(2)
- clear()
- printC("Restarting Computer")
- os.sleep(2)
- os.reboot()
- end
- end
- -- Handler Function --
- function Back()
- term.setCursorBlink(false)
- os.reboot()
- end
- function FormInbox()
- if Messages then
- table.remove(Messages)
- end
- Reset()
- print("Loading Inbox...")
- rednet.send(Server, "RetrieveMessage")
- os.sleep(0.1)
- ur = fs.open(iRoot .. "LoggedIn.txt", "r")
- Username = ur.readLine()
- ur.close()
- rednet.send(Server, Username)
- ID, MessageInfo = rednet.receive(5)
- if MessageInfo then
- Messages = textutils.unserialize(MessageInfo)
- else
- Reset()
- term.setTextColor(colors.red)
- print("Inbox Failed To Load!\nMake Sure That The E-Mail Server Is On!")
- term.setTextColor(colors.yellow)
- print("\n(-)Ok")
- term.setTextColor(colors.white)
- repeat
- event, key = os.pullEvent("key")
- os.sleep(0.1)
- until key == 28
- Back()
- end
- end
- function LogIn()
- ResetL()
- if IsServer then
- print("Log In\n")
- term.setTextColor(colors.yellow)
- write("Username: ")
- x, y = term.getCursorPos()
- write("\nPassword: ")
- term.setTextColor(colors.white)
- x2, y2 = term.getCursorPos()
- term.setCursorPos(x, y)
- Username = read()
- term.setCursorPos(x2, y2)
- Password = read("*")
- print("\nVerifying Information...")
- rednet.send(Server, "VerifyUser")
- os.sleep(0.1)
- rednet.send(Server, Username)
- os.sleep(0.1)
- rednet.send(Server, Password)
- ID, Success = rednet.receive(5)
- if Success then
- if Success == "true" then
- uw = fs.open(iRoot .. "LoggedIn.txt", "w")
- uw.writeLine(Username)
- uw.close()
- term.setTextColor(colors.lime)
- print("\nYou Have Been Logged In Successfully!")
- term.setTextColor(colors.yellow)
- print("\n(-)Ok")
- term.setTextColor(colors.white)
- repeat
- event, key = os.pullEvent("key")
- os.sleep(0.1)
- until key == 28
- LoggedIn = true
- UserLI = Username
- Back()
- else
- term.setTextColor(colors.red)
- print("\nIncorrect Username / Password!")
- term.setTextColor(colors.yellow)
- print("\n(-)Ok")
- repeat
- event, key = os.pullEvent("key")
- os.sleep(0.1)
- until key == 28
- Back()
- end
- else
- term.setTextColor(colors.red)
- print("\nThere Was An Error!\nMake Sure The E-Mail Server Is Turned On!")
- term.setTextColor(colors.yellow)
- print("\n(-)Ok")
- term.setTextColor(colors.white)
- repeat
- event, key = os.pullEvent("key")
- os.sleep(0.1)
- until key == 28
- Back()
- end
- else
- ResetL()
- print("Log In\n")
- term.setTextColor(colors.red)
- print("You Have Not Set Up The Information For Rednet! \nYou Must Set Up The Information In Options Before Logging In!")
- term.setTextColor(colors.yellow)
- print("\n(-)Ok")
- term.setTextColor(colors.white)
- repeat
- event, key = os.pullEvent("key")
- os.sleep(0.1)
- until key == 28
- Back()
- end
- end
- function Reboot()
- ResetL()
- textutils.slowPrint("Rebooting Computer...")
- os.sleep(1)
- os.reboot()
- end
- function Shutdown()
- ResetL()
- textutils.slowPrint("Shutting Down Computer...")
- os.sleep(1)
- os.shutdown()
- end
- function SendMessage()
- ResetS()
- print("Compose Message\n")
- term.setTextColor(colors.yellow)
- write("To (Enter Username): ")
- x, y = term.getCursorPos()
- write("\nSubject: ")
- x2, y2 = term.getCursorPos()
- write("\nMessage: ")
- term.setTextColor(colors.white)
- x3, y3 = term.getCursorPos()
- term.setCursorPos(x, y)
- Username = ""
- UsernameLength = 20
- while true do
- printTM(" [ " .. #Username .. "/" .. UsernameLength .. " ] ")
- term.setCursorPos(x, y)
- term.setCursorBlink(true)
- write(Username)
- local event, key = os.pullEvent()
- if event == "char" then
- if key == "," or key == "." or key == "/" or key == "\\" or key == ":" or key == "*" or key == "?" or key == "\"" or key == "<" or key == ">" or key == "|" then
- Username = Username .. ""
- elseif key == " " then
- Username = Username .. "_"
- else
- if #Username < UsernameLength then
- Username = Username .. key
- else
- Username = Username .. ""
- end
- end
- elseif event == "key" then
- if key == 14 then
- Username = Username:sub(1, #Username - 1)
- w, h = term.getCursorPos()
- term.setCursorPos(w - 1, h)
- write(" ")
- term.setCursorPos(w, h)
- elseif key == 211 then
- Back()
- elseif key == 28 then
- break
- end
- end
- end
- term.setCursorPos(x2, y2)
- MessageName = ""
- MessageNameLength = 14
- while true do
- printTM(" [ " .. #MessageName .. "/" .. MessageNameLength .. " ] ")
- term.setCursorPos(x2, y2)
- term.setCursorBlink(true)
- write(MessageName)
- local event, key = os.pullEvent()
- if event == "char" then
- if key == "," or key == "." or key == "/" or key == "\\" or key == ":" or key == "*" or key == "?" or key == "\"" or key == "<" or key == ">" or key == "|" then
- MessageName = MessageName .. ""
- elseif key == " " then
- MessageName = MessageName .. "_"
- else
- if #MessageName < MessageNameLength then
- MessageName = MessageName .. key
- else
- MessageName = MessageName .. ""
- end
- end
- elseif event == "key" then
- if key == 14 then
- MessageName = MessageName:sub(1, #MessageName - 1)
- w, h = term.getCursorPos()
- term.setCursorPos(w - 1, h)
- write(" ")
- term.setCursorPos(w, h)
- elseif key == 211 then
- Back()
- elseif key == 28 then
- break
- end
- end
- end
- Message = ""
- MessageLength = 400
- while true do
- printTM(" [ " .. #Message .. "/" .. MessageLength .. " ] ")
- term.setCursorPos(x3, y3)
- term.setCursorBlink(true)
- write(Message)
- local event, key = os.pullEvent()
- if event == "char" then
- if #Message < MessageLength then
- Message = Message .. key
- else
- Message = Message .. ""
- end
- elseif event == "key" then
- if key == 14 then
- Message = Message:sub(1, #Message - 1)
- w, h = term.getCursorPos()
- term.setCursorPos(w - 1, h)
- write(" ")
- term.setCursorPos(w, h)
- elseif key == 211 then
- Back()
- elseif key == 28 then
- break
- end
- end
- end
- term.setCursorBlink(false)
- Reset()
- textutils.slowWrite("Sending ") term.setTextColor(colors.yellow) textutils.slowWrite(Username) term.setTextColor(colors.white) textutils.slowWrite("'s Message...")
- cr = fs.open(iRoot .. "LoggedIn.txt", "r")
- Sender = cr.readLine()
- cr.close()
- rednet.send(Server, "SendMessage")
- os.sleep(0.1)
- rednet.send(Server, Username)
- os.sleep(0.1)
- rednet.send(Server, Sender)
- os.sleep(0.1)
- rednet.send(Server, MessageName)
- os.sleep(0.1)
- rednet.send(Server, Message)
- ID, Success = rednet.receive(5)
- if Success then
- if Success == "true" then
- Reset()
- term.setTextColor(colors.lime)
- print("Message Has Been Sent!")
- term.setTextColor(colors.yellow)
- print("\n(-)Ok")
- term.setTextColor(colors.white)
- repeat
- event, key = os.pullEvent("key")
- os.sleep(0.1)
- until key == 28
- Back()
- elseif Success == "false" then
- Reset()
- term.setTextColor(colors.red)
- print("Message Failed To Send!")
- print("Make Sure The User Exists And That You Typed A Subject And A Message!")
- term.setTextColor(colors.yellow)
- print("\n(-)Ok")
- term.setTextColor(colors.white)
- repeat
- event, key = os.pullEvent("key")
- os.sleep(0.1)
- until key == 28
- Back()
- end
- else
- term.setTextColor(colors.red)
- print("\nThere Was An Error!\nMake Sure The E-Mail Server Is Turned On!")
- term.setTextColor(colors.yellow)
- print("\n(-)Ok")
- term.setTextColor(colors.white)
- repeat
- event, key = os.pullEvent("key")
- os.sleep(0.1)
- until key == 28
- Back()
- end
- end
- function Inbox()
- FormInbox()
- SelectedItem = 1
- UseMessagesMenu = true UseMainMenu = false
- while UseMessagesMenu do
- Reset()
- print("Your Inbox\n")
- PrintMenu(Messages)
- event, key = os.pullEvent("key")
- KeyHandler(key, Messages)
- end
- end
- function LogOut()
- ResetL()
- textutils.slowPrint("Logging Out...")
- os.sleep(1)
- fs.delete(iRoot .. "LoggedIn.txt")
- os.reboot()
- end
- function SetID()
- ResetL()
- print("Set E-Mail Server's Computer ID\n")
- term.setTextColor(colors.yellow)
- write("Computer ID: ")
- term.setTextColor(colors.white)
- ComputerID = read()
- cw = fs.open(iRoot .. "ServerID.txt", "w")
- cw.write(ComputerID)
- cw.close()
- Server = ComputerID
- term.setTextColor(colors.lime)
- print("\nE-Mail Server ID Has Been Set!")
- term.setTextColor(colors.yellow)
- print("\n(-)Ok")
- term.setTextColor(colors.white)
- repeat
- event, key = os.pullEvent("key")
- os.sleep(0.1)
- until key == 28
- os.reboot()
- end
- function NewUser()
- ResetL()
- print("New User Account\n")
- term.setTextColor(colors.yellow)
- write("Enter A Username: ")
- term.setTextColor(colors.white)
- x, y = term.getCursorPos()
- Username = ""
- while true do
- printTM(" [ " .. #Username .. "/20 ] ")
- term.setCursorPos(x, y)
- term.setCursorBlink(true)
- write(Username)
- local event, key = os.pullEvent()
- if event == "char" then
- if key == "," or key == "." or key == "/" or key == "\\" or key == ":" or key == "*" or key == "?" or key == "\"" or key == "<" or key == ">" or key == "|" then
- Username = Username .. ""
- elseif key == " " then
- Username = Username .. "_"
- else
- if #Username < 20 then
- Username = Username .. key
- else
- Username = Username .. ""
- end
- end
- elseif event == "key" then
- if key == 14 then
- Username = Username:sub(1, #Username - 1)
- w, h = term.getCursorPos()
- term.setCursorPos(w - 1, h)
- write(" ")
- term.setCursorPos(w, h)
- elseif key == 211 then
- Back()
- elseif key == 28 then
- break
- end
- end
- end
- repeat
- term.setTextColor(colors.yellow)
- write("\n\nEnter A Password: ")
- term.setTextColor(colors.white)
- Password = read("*")
- term.setTextColor(colors.yellow)
- write("Confirm Password: ")
- term.setTextColor(colors.white)
- ConfirmPassword = read("*")
- if Password == ConfirmPassword then
- break
- else
- term.setTextColor(colors.red)
- write("\nPasswords Do Not Match!")
- term.setTextColor(colors.white)
- end
- until Password == ConfirmPassword
- rednet.send(Server, "CreateUser")
- os.sleep(0.1)
- rednet.send(Server, Username)
- os.sleep(0.1)
- rednet.send(Server, Password)
- ID, Status = rednet.receive(5)
- if Status then
- term.setTextColor(colors.lime)
- print("\nUser Account Created Successfully!")
- term.setTextColor(colors.yellow)
- print("\n(-)Ok")
- term.setTextColor(colors.white)
- repeat
- event, key = os.pullEvent("key")
- os.sleep(0.1)
- until key == 28
- Back()
- else
- term.setTextColor(colors.red)
- print("\nThere Was An Error!\nThe Username Must Already Exist Or The E-Mail Server Is Not On!")
- term.setTextColor(colors.yellow)
- print("\n(-)Ok")
- term.setTextColor(colors.white)
- repeat
- event, key = os.pullEvent("key")
- os.sleep(0.1)
- until key == 28
- Back()
- end
- end
- function DeleteUser()
- ResetL()
- print("Delete A User Account\n")
- term.setTextColor(colors.yellow)
- write("Enter The Username: ")
- term.setTextColor(colors.white)
- Username = read()
- term.setTextColor(colors.yellow)
- write("Enter The Password: ")
- term.setTextColor(colors.white)
- Password = read("*")
- rednet.send(Server, "DeleteUser")
- os.sleep(0.1)
- rednet.send(Server, Username)
- os.sleep(0.1)
- rednet.send(Server, Password)
- ID, Success = rednet.receive(5)
- if Success then
- if Success == "true" then
- term.setTextColor(colors.lime)
- print("\nUser Account Was Remove Successfully!")
- term.setTextColor(colors.yellow)
- print("\n(-)Ok")
- term.setTextColor(colors.white)
- repeat
- event, key = os.pullEvent("key")
- os.sleep(0.1)
- until key == 28
- Back()
- elseif Success == "false" then
- term.setTextColor(colors.red)
- print("\nUser Account Couldn't Be Deleted!\nMake Sure The Username And Password Are Correct!")
- term.setTextColor(colors.yellow)
- print("\n(-)Ok")
- term.setTextColor(colors.white)
- repeat
- event, key = os.pullEvent("key")
- os.sleep(0.1)
- until key == 28
- Back()
- end
- else
- term.setTextColor(colors.red)
- print("\nThere Was An Error!\nMake Sure The E-Mail Server Is Turned On!")
- term.setTextColor(colors.yellow)
- print("\n(-)Ok")
- term.setTextColor(colors.white)
- repeat
- event, key = os.pullEvent("key")
- os.sleep(0.1)
- until key == 28
- Back()
- end
- end
- function Options()
- SelectedItem = 1
- UseOptionsMenu = true UseMainMenu = false UseLoginMenu = false
- while UseOptionsMenu do
- ResetL()
- print("Options\n")
- PrintMenu(OptionsMenu)
- event, key = os.pullEvent("key")
- KeyHandler(key, OptionsMenu)
- end
- end
- function Network()
- SelectedItem = 1
- if LoggedIn then
- UseMainMenu = true UseLoginMenu = false UseMessagesMenu = false UseOptionsMenu = false
- while UseMainMenu do
- Reset()
- print("Main Menu\n")
- PrintMenu(MainMenu)
- event, key = os.pullEvent("key")
- KeyHandler(key, MainMenu)
- end
- else
- UseLoginMenu = true UseMainMenu = false
- while UseLoginMenu do
- ResetL()
- print("Welcome!\n")
- PrintMenu(LoginMenu)
- event, key = os.pullEvent("key")
- KeyHandler(key, LoginMenu)
- end
- end
- end
- --[[ Tables ]]--
- -- Menus --
- LoginMenu = {
- [1] = { Option = "Log In\n", Function = LogIn },
- [2] = { Option = "Options", Function = Options },
- [3] = { Option = "Reboot", Function = Reboot },
- [4] = { Option = "Shutdown", Function = Shutdown }
- }
- MainMenu = {
- [1] = { Option = "Send A Message", Function = SendMessage },
- [2] = { Option = "Inbox", Function = Inbox },
- [3] = { Option = "Logout", Function = LogOut }
- }
- OptionsMenu = {
- [1] = { Option = "Set E-Mail Server ID", Function = SetID },
- [2] = { Option = "Create New User", Function = NewUser },
- [3] = { Option = "Delete A User\n", Function = DeleteUser },
- [4] = { Option = "Back" }
- }
- --[[ Start The Program ]]--
- os.pullEvet = os.pullEventRaw
- if peripheral.isPresent("right") and peripheral.getType("right") == "modem" then
- rednet.open("right")
- DoNetwork = true
- elseif peripheral.isPresent("left") and peripheral.getType("left") == "modem" then
- rednet.open("left")
- DoNetwork = true
- elseif peripheral.isPresent("top") and peripheral.getType("top") == "modem" then
- rednet.open("top")
- DoNetwork = true
- elseif peripheral.isPresent("bottom") and peripheral.getType("bottom") == "modem" then
- rednet.open("bottom")
- DoNetwork = true
- elseif peripheral.isPresent("front") and peripheral.getType("front") == "modem" then
- rednet.open("front")
- DoNetwork = true
- elseif peripheral.isPresent("back") and peripheral.getType("back") == "modem" then
- rednet.open("back")
- DoNetwork = true
- else
- ResetL()
- term.setTextColor(colors.red)
- print("You must place a modem on the computer before you can use E-Mail!")
- term.setTextColor(colors.white)
- end
- while DoNetwork do
- Network()
- end
- Startup = -- Local Variables --
- Root = ".Network/"
- -- Interface --
- shell.run(Root .. "Network.lua")
- f = fs.open("startup", "w")
- f.write(Startup.readAll())
- f.close()
- f = fs.open(Root .. "Network.lua", "w")
- f.write(Network.readAll())
- f.close()
- term.setTextColor(colors.lime)
- print("\nDone!")
- os.sleep(1)
- Reset()
- print("E-Mail Server Downloaded Successfully!\nEdition: Client")
- term.setTextColor(colors.yellow)
- print("\n(-)Ok")
- term.setTextColor(colors.white)
- repeat
- event, key = os.pullEvent("key")
- os.sleep(0.1)
- until key == 28
- os.reboot()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement