JustDoesGames

CCUPS/main

Feb 16th, 2019
304
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 23.83 KB | None | 0 0
  1. -- CCUPS (ComputerCraft Unbreakable / User Password System) <= NOW AN OS! --
  2. --           Created by Just Does Games              --
  3. shell.run("clear")
  4.  
  5. settings.set("shell.allow_disk_startup", false)
  6. settings.save(".settings")
  7. sx,sy = term.getSize()
  8. upd = true
  9.  
  10.  
  11. os.pullEvent = os.pullEventRaw
  12.  
  13. if shell.getRunningProgram() ~= "CCUPS/main.lua" then
  14.     if fs.exists("startup.lua") == true then
  15.         shell.run("clear")
  16.         print("Your Startup Program will be moved here:")
  17.         print("'CCUPS/user_startup.lua'")
  18.         print("----------------------------------------")
  19.         sleep(1.5)
  20.         print("Type 'confirm' to continue")
  21.         write("-- ")
  22.         local inp = read()
  23.         if inp ~= "confirm" and inp ~= "Confirm" and inp ~= "CONFIRM" then
  24.             shell.run("clear")
  25.             print("Files have not been touched or altered.")
  26.             return
  27.         end
  28.         if fs.exists("CCUPS/user_startup.lua") == true then
  29.             fs.delete("CCUPS/user_startup.lua")
  30.         end
  31.         fs.copy("startup.lua", "CCUPS/user_startup.lua")
  32.     end
  33.     if fs.exists("CCUPS/main.lua") == true then
  34.         fs.delete("CCUPS/main.lua")
  35.     end
  36.     shell.run("clear")
  37.     print("Loading...")
  38.     term.setTextColor(colours.black)
  39.     shell.run("pastebin get JQ19FdjH CCUPS/main.lua")
  40.     term.setTextColor(colours.white)
  41.     local file = fs.open("startup.lua", "w")
  42.     file.writeLine("--[] Easter Eggs are kool, do you like them too? []--") -- Yes I Do Too!
  43.     file.writeLine("shell.run('CCUPS/main.lua')")
  44.     file.close()
  45.     shell.run("clear")
  46.     write("new admin password: ")
  47.     local password = read("*")
  48.     local file = fs.open("CCUPS/USERS/admin/admin.lua", "w")
  49.     file.writeLine(password)
  50.     file.writeLine("admin")
  51.     file.writeLine("0")
  52.     file.close()
  53.     print("Username is 'admin' and password has been set!")
  54.     sleep(1.5)
  55.     os.reboot()
  56. end
  57.  
  58. if fs.exists("CCUPS/USERS/admin/admin.lua") == false then
  59.     local file = fs.open("CCUPS/USERS/admin/admin.lua", "w")
  60.     file.writeLine("0815")
  61.     file.writeLine("admin")
  62.     file.writeLine("0")
  63.     file.close()
  64. end
  65. if fs.exists("CCUPS/USERS/admin/MESSAGES/") == false then
  66.     fs.makeDir("CCUPS/USERS/admin/MESSAGES/")
  67. end
  68.  
  69. --[[
  70. if fs.exists("startup.lua") == true then
  71.     local file = fs.open("startup.lua","r")
  72.     if file.readLine() ~= "-- CCUPS STARTUP --" then
  73.         if fs.exists("CCUPS/com_startup.lua") then fs.delete("CCUPS/com_startup.lua") end
  74.         fs.move("startup.lua", "CCUPS/com_startup.lua")
  75.         fs.copy("CCUPS/ccups_startup.lua","startup.lua")
  76.     end
  77.     file.close()
  78. else
  79.     fs.copy("CCUPS/ccups_startup.lua","startup.lua")
  80. end
  81. ]]--
  82.  
  83. function clr() term.clear() term.setCursorPos(1,1) end
  84. function setBack(col) term.setBackgroundColor(colors[col]) end
  85. function setText(col) term.setTextColor(colors[col]) end
  86.  
  87. function check(user, password)
  88.     if fs.exists("CCUPS/USERS/"..user.."/"..user..".lua") == true then
  89.         local file = fs.open("CCUPS/USERS/"..user.."/"..user..".lua","r")
  90.         if password == file.readLine() then
  91.             access = file.readLine()
  92.             credits = file.readLine()
  93.             selector = file.readLine()
  94.             t_color = file.readLine()
  95.             if credits == nil then
  96.                 file.close()
  97.                 local file = fs.open("CCUPS/USERS/"..user.."/"..user..".lua","w")
  98.                 file.writeLine(password)
  99.                 file.writeLine(access)
  100.                 file.writeLine("0")
  101.                 file.writeLine("1")
  102.                 file.writeLine("white")
  103.                 credits = 0
  104.             end
  105.             credits = tonumber(credits)
  106.             selector = tonumber(selector)
  107.             return true
  108.         else
  109.             return false
  110.         end
  111.         file.close()
  112.     else
  113.         return false
  114.     end
  115. end
  116.  
  117. function main()
  118.     running = true
  119.     parallel.waitForAny(login,style)
  120.     main_2()
  121. end
  122.  
  123. function login()
  124.     clr()
  125.     print("Welcome to CCUPS!")
  126.     print("To Create a User, Type 'create'")
  127.     print("")
  128.     write("Username: ")
  129.     user = read()
  130.     if user == "create" then
  131.         _user_create()
  132.     end
  133.     write("Password: ")
  134.     password = read("*")
  135.     print("")
  136.     if check(user, password) == true then
  137.         print("Welcome, "..user)
  138.         sleep(1)
  139.         running = false
  140.     else
  141.         print("Username or Password is Incorrect.")
  142.         sleep(1)
  143.         os.reboot()
  144.     end
  145. end
  146.  
  147. function style()
  148.     local title = {"W","e","l","c","o","m","e"," ","t","o"," ","C","C","U","P","S","!"}
  149.     if term.isColor() == true then
  150.         clrs = {"red","orange","yellow","lime","lightBlue","purple"}
  151.     else
  152.         clrs = {"gray"}
  153.     end
  154.     while running do
  155.         local temp = 1
  156.         for i=1,#clrs do
  157.             for i=1,#title do
  158.                 local px,py = term.getCursorPos()
  159.                 term.setCursorPos(0+i,1)
  160.                 if term.isColor() == true then
  161.                     setText(clrs[temp])
  162.                 else
  163.                     setText("gray")
  164.                 end
  165.                 write(title[i])
  166.                 setText("white")
  167.                 term.setCursorPos(px,py)
  168.                 sleep(.15)
  169.             end
  170.             if term.isColor() == true then
  171.                 for i=1,#title do
  172.                     local px,py = term.getCursorPos()
  173.                     term.setCursorPos(0+i,1)
  174.                     setText("white")
  175.                     write(title[i])
  176.                     term.setCursorPos(px,py)
  177.                     sleep(.15)
  178.                 end
  179.             end
  180.             temp = temp + 1
  181.         end
  182.     end
  183. end
  184. cv = "1.0.4"
  185. tmp = 1
  186. function _update()
  187.     setText("black")
  188.     if fs.exists("CCUPS/update.lua") == true then fs.delete("CCUPS/update.lua") end
  189.     shell.run("pastebin get 4Q6FAbDp CCUPS/update.lua")
  190.     if fs.exists("CCUPS/update.lua") == true then
  191.         local file = fs.open("CCUPS/update.lua","r")
  192.         lv = file.readLine()
  193.         file.close()
  194.         if cv ~= lv then
  195.             return true
  196.         else
  197.             return false
  198.         end
  199.     else
  200.         return false
  201.     end
  202. end
  203.  
  204. function updat()
  205.     while true do
  206.         clr()
  207.         setText("white")
  208.         print("|CCUPS has an update!|")
  209.         print("---------------------+")
  210.         print("")
  211.         print("Current Version: "..cv)
  212.         print("Latest Version: "..lv)
  213.         term.setCursorPos(1,7)
  214.         if tmp == 1 then
  215.             setText("white")
  216.             print("[ Update ]")
  217.             setText("gray")
  218.             print("  Skip  ")
  219.         else
  220.             setText("gray")
  221.             print("  Update  ")
  222.             setText("white")
  223.             print("[ Skip ]")
  224.         end
  225.         a,i = os.pullEvent("key")
  226.         if i == keys.w or i == keys.up then
  227.             if tmp == 2 then tmp = 1 end
  228.         elseif i == keys.s or i == keys.down then
  229.             if tmp == 1 then tmp = 2 end
  230.         elseif i == keys.e or i == keys.enter then
  231.             if tmp == 1 then
  232.                 setText("black")
  233.                 if fs.exists("CCUPS/main_temp.lua") == true then fs.delete("CCUPS/main_temp.lua") end
  234.                 shell.run("pastebin get JQ19FdjH CCUPS/main_temp.lua")
  235.                 if fs.exists("CCUPS/main_temp.lua") == true then
  236.                     fs.delete("CCUPS/main.lua")
  237.                     fs.copy("CCUPS/main_temp.lua","CCUPS/main.lua")
  238.                     clr()
  239.                     setText("white")
  240.                     print("Update has been installed!")
  241.                     sleep(1)
  242.                     os.reboot()
  243.                 end
  244.             else
  245.                 break
  246.             end
  247.         end
  248.     end
  249. end
  250.  
  251. function main_2()
  252.     if selector == nil then selector = 1 end
  253.     if t_color == nil then t_color = "white" end
  254.     _user("save")
  255.     if access == "admin" then
  256.         if _update() == true and upd == true then -- UPDATE
  257.             updat()
  258.         end
  259.         menu = {"Users", "Messages", "Games", "Redstone", "Settings", "Shell", "Logout"}
  260.         menu_users = {"Add User", "Delete User", "User Access", "Change User Password", "Back"}
  261.         menu_redstone = {"RIGHT","LEFT","TOP","BOTTOM","FRONT","BACK","Back"}
  262.         raw_redstone = {"right","left","top","bottom","front","back"}
  263.     elseif access == "user" then
  264.         menu = {"Messages","Games","Settings","Logout"}
  265.     else
  266.         print("Access Error! Please Report to an Admin.")
  267.         sleep(5)
  268.         os.reboot()
  269.     end
  270.     menu_games = {"RNG", "Paint for Credits", "Back"}
  271.     menu_messages = {"Send", "Check (0)", "Back"}
  272.     menu_settings = {"Change Password", "Delete Account", "Change Selector", "Change Text Color", "Back"}
  273.     sels = {"[ "," ]","{ "," }","- "," -","+ "," +","! "," !","@ "," @", "# "," #","$ "," $","% "," %","^ "," ^","& "," &","* "," *","( "," )"}
  274.     c_menu = menu
  275.     running = true
  276.     sel = 1
  277.     while running do
  278.         if ref == true or ref == nil then
  279.             clr()
  280.             ref = false
  281.             term.setCursorPos(2,2)
  282.             setText("white")
  283.             print("CCUPS V"..cv)
  284.             for i=1,#c_menu do --[ MAIN STYLE OF HOME PAGE ]--
  285.                 term.setCursorPos(2,3+i)
  286.                 if sel == i then
  287.                     setText("white")
  288.                     write(sels[selector])
  289.                     setText(t_color)
  290.                     write(c_menu[i])
  291.                     setText("white")
  292.                     print(sels[selector+1])
  293.                 else
  294.                     setText("gray")
  295.                     print("  "..c_menu[i])
  296.                     setText("white")
  297.                 end
  298.             end
  299.             term.setCursorPos(1,sy-2)
  300.             print("Access "..sels[selector]..access..sels[selector+1])
  301.             print("Credits "..sels[selector]..credits..sels[selector+1])
  302.             r_sel = false
  303.         elseif r_sel == true or r_sel == nil then
  304.             r_sel = false
  305.             for i=1,#c_menu do --[ MAIN STYLE OF HOME PAGE ]--
  306.                 term.setCursorPos(2,3+i)
  307.                 if sel == i then
  308.                     setText("white")
  309.                     write(sels[selector])
  310.                     setText(t_color)
  311.                     write(c_menu[i])
  312.                     setText("white")
  313.                     print(sels[selector+1])
  314.                 else
  315.                     setText("gray")
  316.                     print("  "..c_menu[i].."  ")
  317.                     setText("white")
  318.                 end
  319.             end
  320.             term.setCursorPos(1,sy-2)
  321.             print("Access "..sels[selector]..access..sels[selector+1])
  322.             print("Credits "..sels[selector]..credits..sels[selector+1])
  323.         end
  324.         a,i = os.pullEvent("key")
  325.         if i == keys.w or i == keys.up then
  326.             if sel ~= 1 then sel = sel - 1 r_sel = true end
  327.         elseif i == keys.s or i == keys.down then
  328.             if sel ~= #c_menu then sel = sel + 1 r_sel = true end
  329.         elseif i == keys.e or i == keys.enter then
  330.             if c_menu == menu_messages then
  331.                 if sel == 1 then
  332.                     send_message()
  333.                     ref = true
  334.                     chk()
  335.                 elseif sel == 2 then
  336.                     check_messages()
  337.                     ref = true
  338.                     chk()
  339.                 elseif sel == #c_menu then
  340.                     c_menu = menu
  341.                     ref = true
  342.                     sel = 1
  343.                     chk()
  344.                 end
  345.             elseif c_menu == menu_games then
  346.                 if sel == 1 then
  347.                     GAMES_1()
  348.                     ref = true
  349.                     sel = 1
  350.                 elseif sel == 2 then
  351.                     GAMES_2()
  352.                     ref = true
  353.                     sel = 1
  354.                 elseif sel == #c_menu then
  355.                     c_menu = menu
  356.                     ref = true
  357.                     sel = 1
  358.                 end
  359.             elseif c_menu == menu_settings then
  360.                 if sel == 1 then
  361.                     cp()
  362.                     ref = true
  363.                 elseif sel == 2 then
  364.                     _user_del()
  365.                     ref = true
  366.                 elseif sel == 3 then
  367.                     selector = selector + 1
  368.                     if selector == #sels then
  369.                         selector = 1
  370.                     else
  371.                         selector = selector + 1
  372.                     end
  373.                     _user("save")
  374.                     r_sel = true
  375.                 elseif sel == 4 then
  376.                     if term.isColor() == true then
  377.                         if t_color == "white" then
  378.                             t_color = "red"
  379.                         elseif t_color == "red" then
  380.                             t_color = "orange"
  381.                         elseif t_color == "orange" then
  382.                             t_color = "yellow"
  383.                         elseif t_color == "yellow" then
  384.                             t_color = "green"
  385.                         elseif t_color == "green" then
  386.                             t_color = "lime"
  387.                         elseif t_color == "lime" then
  388.                             t_color = "lightBlue"
  389.                         elseif t_color == "lightBlue" then
  390.                             t_color = "blue"
  391.                         elseif t_color == "blue" then
  392.                             t_color = "purple"
  393.                         elseif t_color == "purple" then
  394.                             t_color = "white"
  395.                         end
  396.                         _user("save")
  397.                         term.setCursorPos(2,3+sel)
  398.                         setText("white")
  399.                         write(sels[selector])
  400.                         setText(t_color)
  401.                         write(c_menu[sel])
  402.                         setText("white")
  403.                         write(sels[selector+1])
  404.                     else
  405.                         if t_color == "white" then
  406.                             t_color = "lightGray"
  407.                         elseif t_color == "lightGray" then
  408.                             t_color = "white"
  409.                         end
  410.                         _user("save")
  411.                     end
  412.                 elseif sel == #c_menu then
  413.                     c_menu = menu
  414.                     ref = true
  415.                     sel = 1
  416.                 end
  417.             elseif access == "admin" then
  418.                 if c_menu == menu then
  419.                     if sel == 1 then
  420.                         c_menu = menu_users
  421.                         ref = true
  422.                         sel = 1
  423.                     elseif sel == 2 then
  424.                         c_menu = menu_messages
  425.                         ref = true
  426.                         sel = 1
  427.                         chk()
  428.                     elseif sel == 3 then
  429.                         c_menu = menu_games
  430.                         ref = true
  431.                         sel = 1
  432.                     elseif sel == 4 then
  433.                         c_menu = menu_redstone
  434.                         ref = true
  435.                         sel = 1
  436.                     elseif sel == 5 then
  437.                         c_menu = menu_settings
  438.                         ref = true
  439.                         sel = 1
  440.                     elseif sel == 6 then
  441.                         clr()
  442.                         print("Application Closed! Shell Loaded")
  443.                         running = false
  444.                     elseif sel == #c_menu then
  445.                         os.reboot()
  446.                     end
  447.                 elseif c_menu == menu_users then
  448.                     if sel == 1 then
  449.                         _user("add")
  450.                         ref = true
  451.                     elseif sel == 2 then
  452.                         _user("delete")
  453.                         ref = true
  454.                     elseif sel == 3 then
  455.                         _user("access")
  456.                         ref = true
  457.                     elseif sel == 4 then
  458.                         _user("password")
  459.                         ref = true
  460.                     elseif sel == #c_menu then
  461.                         c_menu = menu
  462.                         ref = true
  463.                         sel = 1
  464.                     end
  465.                 elseif c_menu == menu_redstone then
  466.                     if sel == #c_menu then
  467.                         c_menu = menu
  468.                         ref = true
  469.                         sel = 1
  470.                     else
  471.                         if redstone.getOutput(raw_redstone[sel]) == true then
  472.                             redstone.setOutput(raw_redstone[sel],false)
  473.                         else
  474.                             redstone.setOutput(raw_redstone[sel],true)
  475.                         end
  476.                         ref = true
  477.                     end
  478.                 end
  479.             elseif access == "user" then
  480.                 if c_menu == menu then
  481.                     if sel == 1 then
  482.                         c_menu = menu_messages
  483.                         ref = true
  484.                         sel = 1
  485.                         chk()
  486.                     elseif sel == 2 then
  487.                         c_menu = menu_games
  488.                         ref = true
  489.                         sel = 1
  490.                     elseif sel == 3 then
  491.                         c_menu = menu_settings
  492.                         ref = true
  493.                         sel = 1
  494.                     elseif sel == #c_menu then
  495.                         os.reboot()
  496.                     end
  497.                 end
  498.             end
  499.         end
  500.     end
  501. end
  502. function cp()
  503.     clr()
  504.     print("Current Password: "..password)
  505.     print("")
  506.     write("New Password: ")
  507.     n_password = read("*")
  508.     write("Confirm Password: ")
  509.     n_c_password = read("*")
  510.     if n_c_password == n_password then
  511.         local file = fs.open("CCUPS/USERS/"..user.."/"..user..".lua", "w")
  512.         file.writeLine(n_password)
  513.         file.writeLine(access)
  514.         file.writeLine(credits)
  515.         file.close()
  516.         print("Password has been Changed!")
  517.         sleep(1)
  518.     else
  519.         print("Passwords did not match!")
  520.         sleep(1)
  521.     end
  522. end
  523. function _user(option)
  524.     if option == "add" then
  525.         clr()
  526.         write("New User: ")
  527.         c_user = read()
  528.         print("")
  529.         if fs.exists("CCUPS/USERS/"..c_user) == false then
  530.             write("New Password: ")
  531.             c_pass = read("*")
  532.             local file = fs.open("CCUPS/USERS/"..c_user.."/"..c_user..".lua", "w")
  533.             file.writeLine(c_pass)
  534.             file.writeLine("user")
  535.             file.writeLine(credits)
  536.             file.close()
  537.             fs.makeDir("CCUPS/USERS/"..c_user.."/MESSAGES/")
  538.             print("User has been Created! Access Set to 'user' by Default.")
  539.             sleep(2)
  540.         else
  541.             print("User already exists!")
  542.             sleep(1.5)
  543.         end
  544.     elseif option == "delete" then
  545.         clr()
  546.         write("User: ")
  547.         c_user = read()
  548.         print("")
  549.         if fs.exists("CCUPS/USERS/"..c_user) == true and c_user ~= "admin" and c_user ~= "" then
  550.             write("Enter your Password: ")
  551.             c_pass = read("*")
  552.             if c_pass == password then
  553.                 fs.delete("CCUPS/USERS/"..c_user)
  554.                 print("User has been Deleted Sucessfully!")
  555.                 sleep(2)
  556.             else
  557.                 print("Incorrect Password! Canceling...")
  558.                 sleep(1)
  559.             end
  560.         else
  561.             _user_error()
  562.             sleep(1.5)
  563.         end
  564.     elseif option == "access" then
  565.         clr()
  566.         write("User: ")
  567.         c_user = read()
  568.         print("")
  569.         if fs.exists("CCUPS/USERS/"..c_user) == true and c_user ~= "" then
  570.             local file = fs.open("CCUPS/USERS/"..c_user.."/"..c_user..".lua", "r")
  571.             print("Current Password: "..file.readLine())
  572.             print("Current Access: "..file.readLine())
  573.             print("Current Credits: "..file.readLine())
  574.             file.close()
  575.             print("")
  576.             write("New Access: ")
  577.             c_access = read()
  578.             print("")
  579.             if c_access == "admin" or c_access == "user" then
  580.                 local file = fs.open("CCUPS/USERS/"..c_user.."/"..c_user..".lua", "w")
  581.                 file.writeLine(user_password)
  582.                 file.writeLine(c_access)
  583.                 file.writeLine(credits)
  584.                 file.close()
  585.                 print("Access has been changed!")
  586.                 sleep(1)
  587.             else
  588.                 print("Invalid Access Format! try 'admin' or 'user' with no caps")
  589.                 sleep(2)
  590.             end
  591.         else
  592.             _user_error()
  593.             sleep(1.5)
  594.         end
  595.     elseif option == "password" then
  596.         clr()
  597.         write("User: ")
  598.         c_user = read()
  599.         print("")
  600.         if fs.exists("CCUPS/USERS/"..c_user) == true and c_user ~= "admin" and c_user ~= "" then
  601.             local file = fs.open("CCUPS/USERS/"..c_user.."/"..c_user..".lua", "r")
  602.             print(c_user.."'s Password is Currently "..file.readLine())
  603.             local temp = file.readLine()
  604.             file.close()
  605.             print("")
  606.             write("New Password: ")
  607.             c_pass = read("*")
  608.             local file = fs.open("CCUPS/USERS/"..c_user.."/"..c_user..".lua", "w")
  609.             file.writeLine(c_pass)
  610.             file.writeLine(temp)
  611.             file.writeLine(credits)
  612.             file.close()
  613.             print("Password has been changed!")
  614.             sleep(1)
  615.         else
  616.             _user_error()
  617.             sleep(1)
  618.         end
  619.     elseif option == "save" then
  620.         local file = fs.open("CCUPS/USERS/"..user.."/"..user..".lua", "w")
  621.         file.writeLine(password)
  622.         file.writeLine(access)
  623.         file.writeLine(credits)
  624.         file.writeLine(selector)
  625.         file.writeLine(t_color)
  626.         file.close()
  627.     end
  628. end
  629.  
  630. function _user_error()
  631.     print("User unable to be found or modified.")
  632. end
  633.  
  634. function _user_create()
  635.  
  636.     clr()
  637.     print("Welcome to CCUPS!")
  638.     print("Type 'back' to go back")
  639.     print("===================================")
  640.     write("New Username: ")
  641.     user = read()
  642.     if user == 'back' or user == 'Back' or user == 'BACK' then
  643.         os.reboot()
  644.     elseif fs.exists("CCUPS/USERS/"..user) == true or user == "" then
  645.         print("User Already Exists or cannot be Used!")
  646.         sleep(1.2)
  647.         _user_create()
  648.     else
  649.         write("New Password: ")
  650.         password = read("*")
  651.         local file = fs.open("CCUPS/USERS/"..user.."/"..user..".lua", "w")
  652.         file.writeLine(password)
  653.         file.writeLine("user")
  654.         file.writeLine("0")
  655.         file.close()
  656.         print("===================================")
  657.         print("Welcome to this Computer, "..user.."!")
  658.         sleep(.6)
  659.         print("Login as normal and we can Begin!")
  660.         sleep(3)
  661.     end
  662.  
  663.     os.reboot()
  664. end
  665.  
  666. function _user_del()
  667.     clr()
  668.     print("Are You Sure?")
  669.     print("=============")
  670.     write("Account Username: ")
  671.     local inp = read()
  672.     if inp ~= user then
  673.         print("=============")
  674.         print("CANCELED!")
  675.         print("=============")
  676.         sleep(1)
  677.     else
  678.         write("Account Password: ")
  679.         local inp = read("*")
  680.         if inp == password then
  681.             fs.delete("CCUPS/USERS/"..user)
  682.             print("=============")
  683.             print(user.." HAS BEEN DELETED!")
  684.             print("=============")
  685.             sleep(1)
  686.             os.reboot()
  687.         else
  688.             print("=============")
  689.             print("CANCELED!")
  690.             print("=============")
  691.             sleep(1)
  692.         end
  693.     end
  694. end
  695.  
  696. function chk()
  697.     msg = 1
  698.     repeat
  699.         if fs.exists("CCUPS/USERS/"..user.."/MESSAGES/"..msg..".lua") == false then
  700.             fin = true
  701.         else
  702.             msg = msg + 1
  703.         end
  704.     until fin == true fin = false msg = msg - 1
  705.     menu_messages[2] = "Check ("..msg..")"
  706. end
  707.  
  708. function check_messages()
  709.     msg = 1
  710.     chk()
  711.     clr()
  712.     b_msg = msg
  713.     if msg == 1 then
  714.         print("You Have 1 New Message!")
  715.     else
  716.         print("You Have "..msg.." New Messages!")
  717.     end
  718.     sleep(.7)
  719.     if msg ~= 0 then
  720.         repeat
  721.             clr()
  722.             local file = fs.open("CCUPS/USERS/"..user.."/MESSAGES/"..msg..".lua", "r")
  723.             textutils.slowPrint("TO: "..user)
  724.             textutils.slowPrint("FROM: "..file.readLine())
  725.             print("-------------------------")
  726.             print("")
  727.             textutils.slowPrint(file.readLine())
  728.             file.close()
  729.             print("-------------------------")
  730.             print("Press [ANY KEY] to see next Message")
  731.             print("Press [f] to Delete All Messages & Exit")
  732.             print("Messages Left: "..msg-1)
  733.             sleep(.5)
  734.             a,i = os.pullEvent()
  735.             if i == keys.f then
  736.                 msg = 0
  737.                 shell.run("delete CCUPS/USERS/"..user.."/MESSAGES")
  738.                 fs.makeDir("CCUPS/USERS/"..user.."/MESSAGES")
  739.             else
  740.                 fs.delete("CCUPS/USERS/"..user.."MESSAGES/"..msg..".lua")
  741.                 msg = msg - 1
  742.             end
  743.         until msg == 0
  744.     end
  745. end
  746.  
  747. function send_message()
  748.     clr()
  749.     msg = 1
  750.     write("Receiver: ")
  751.     local Receiver = read()
  752.     print("")
  753.     if fs.exists("CCUPS/USERS/"..Receiver) == true and Receiver ~= "" then
  754.         write("Message: ")
  755.         local Message = read()
  756.         repeat
  757.             if fs.exists("CCUPS/USERS/"..Receiver.."/MESSAGES/"..msg..".lua") == false then
  758.                 fin = true
  759.             else
  760.                 msg = msg + 1
  761.             end
  762.         until fin == true fin = false
  763.         local file = fs.open("CCUPS/USERS/"..Receiver.."/MESSAGES/"..msg..".lua","w")
  764.         file.writeLine(user)
  765.         file.writeLine(Message)
  766.         file.close()
  767.         print("")
  768.         print("Message has been Sent!")
  769.         sleep(1)
  770.     else
  771.         print("Unable to find "..Receiver)
  772.         sleep(1)
  773.     end
  774. end
  775.  
  776. function checkGameData(game)
  777.     if fs.exists("CCUPS/USERS/"..user.."/GAMES/"..game.."/data.lua") == true then
  778.         return true
  779.     else
  780.         return false
  781.     end
  782. end
  783.  
  784. function GAMES_1()
  785.     local g_menu = {"Easy","Normal","Hard","Quit"}
  786.     local selected = 1
  787.     local run = true
  788.     ref = true
  789.  
  790.     while run do
  791.         if ref == true or ref == nil then ref = false clr()
  792.         for i=1,#g_menu do
  793.             if selected == i then
  794.                 print("{ "..g_menu[i].." }")
  795.             else
  796.                 print("  "..g_menu[i])
  797.             end
  798.         end
  799.         term.setCursorPos(1,sy-1)
  800.         print("Credits: "..credits)
  801.         end
  802.         a,i = os.pullEvent("key")
  803.         if i == keys.w or i == keys.up then
  804.             if selected ~= 1 then selected = selected - 1 ref = true end
  805.         elseif i == keys.s or i == keys.down then
  806.             if selected ~= #g_menu then selected = selected + 1 ref = true end
  807.         elseif i == keys.e or i == keys.enter then
  808.             if selected == 1 then
  809.                 GAMES_1_init(1)
  810.                 ref = true
  811.             elseif selected == 2 then
  812.                 GAMES_1_init(2)
  813.                 ref = true
  814.             elseif selected == 3 then
  815.                 GAMES_1_init(3)
  816.                 ref = true
  817.             elseif selected == #g_menu then
  818.                 run = false
  819.             end
  820.         end
  821.     end
  822. end
  823.  
  824. function GAMES_1_init(dif)
  825.     local prize = 0
  826.     if dif == 1 then
  827.         if credits > 1000 then
  828.             guess = math.random(14,16)
  829.             prize = 25
  830.         elseif credits > 800 then
  831.             guess = math.random(15,17)
  832.             prize = 20
  833.         elseif credits > 600 then
  834.             guess = math.random(16,18)
  835.             prize = 15
  836.         elseif credits > 400 then
  837.             guess = 19
  838.             prize = 10
  839.         else
  840.             guess = 20
  841.             prize = 10
  842.         end
  843.     elseif dif == 2 then
  844.         if credits > 1000 then
  845.             guess = math.random(4,6)
  846.             prize = 75
  847.         elseif credits > 800 then
  848.             guess = math.random(5,7)
  849.             prize = 70
  850.         elseif credits > 600 then
  851.             guess = math.random(6,8)
  852.             prize = 65
  853.         elseif credits > 400 then
  854.             guess = 9
  855.             prize = 50
  856.         else
  857.             guess = 10
  858.             prize = 25
  859.         end
  860.     else
  861.         if credits > 1000 then
  862.             guess = math.random(1,3)
  863.             prize = 100
  864.         elseif credits > 800 then
  865.             guess = math.random(2,4)
  866.             prize = 90
  867.         elseif credits > 600 then
  868.             guess = math.random(3,5)
  869.             prize = 80
  870.         elseif credits > 400 then
  871.             guess = 4
  872.             prize = 70
  873.         else
  874.             guess = 5
  875.             prize = 60
  876.         end
  877.     end
  878.     local numb = math.random(1,100)
  879.     local win = false
  880.     local last_dir = "*"
  881.     repeat
  882.         clr()
  883.         print("Guesses: "..guess)
  884.         print("Last Guess was "..last_dir.." to 100")
  885.         write("Guess: ")
  886.         local n_guess = tonumber(read())
  887.         if type(n_guess) == "number" then
  888.             if n_guess == numb then
  889.                 win = true
  890.                 last_dir = "="
  891.             else
  892.                 if n_guess < numb then
  893.                     last_dir = "<"
  894.                 else
  895.                     last_dir = ">"
  896.                 end
  897.                 guess = guess - 1
  898.             end
  899.         else
  900.             last_dir = "*"
  901.         end
  902.     until guess == 0 or win == true
  903.     if win == true then
  904.         clr()
  905.         print("You Have Won!")
  906.         print("The Number was "..numb)
  907.         local b_credits = credits + prize + guess
  908.         print(b_credits.." Has been added to your account.")
  909.         credits = credits + prize + guess
  910.         _user("save")
  911.         sleep(3)
  912.     else
  913.         clr()
  914.         print("You have Lost.")
  915.         print("The Number was "..numb)
  916.         sleep(2)
  917.     end
  918. end
  919.  
  920. function GAMES_2()
  921.     local run = true
  922.     curclol = "white"
  923.     cr = 0
  924.     local cr_timer = 0
  925.     clr()
  926.     GAMES_2_drawMenus()
  927.     while run do
  928.         a,b,x,y = os.pullEvent()
  929.         if x ~= nil and y ~= nil then
  930.             if x == sx and y == 1 then
  931.                 setBack("black")
  932.                 run = false
  933.             elseif y == sy and x <= #clrs_1 then
  934.                 setBack(clrs_1[x])
  935.                 curclol = clrs_1[x]
  936.             elseif y ~= 1 and y ~= sy then
  937.                 term.setCursorPos(x,y)
  938.                 write(" ")
  939.                 cr_timer = cr_timer + 1
  940.                 if cr_timer == 220 then
  941.                     cr = cr + 1
  942.                     cr_timer = 0
  943.                     GAMES_2_updateText()
  944.                 end
  945.             end
  946.         end
  947.     end
  948.     if cr ~= 0 then
  949.         credits = credits + cr
  950.         _user("save")
  951.     end
  952. end
  953.  
  954. function GAMES_2_drawMenus()
  955.     clrs_1 = {"red", "orange", "brown","yellow", "green", "lime", "lightBlue", "blue", "cyan", "purple", "black", "gray","white"}
  956.     term.setCursorPos(1,1)
  957.     setBack("gray")
  958.     setText("white")
  959.     for i=1, sx do
  960.         if i == sx then
  961.             setBack("red")
  962.         end
  963.         write(" ")
  964.     end
  965.     setBack("gray")
  966.     term.setCursorPos(1,1)
  967.     write("Credits Earned: $"..cr)
  968.     term.setCursorPos(1,sy)
  969.     for i=1, sx do
  970.         write(" ")
  971.     end
  972.     term.setCursorPos(1,sy)
  973.     for i=1, #clrs_1 do
  974.         setBack(clrs_1[i])
  975.         write(" ")
  976.     end
  977. end
  978.  
  979. function GAMES_2_updateText()
  980.     term.setCursorPos(18,1)
  981.     setBack("gray")
  982.     write(cr)
  983.     setBack(curclol)
  984. end
  985.  
  986.  
  987.  
  988.  
  989. main()
Advertisement
Add Comment
Please, Sign In to add comment