Advertisement
GTurbo

Main_Base

Jun 21st, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 7.91 KB | None | 0 0
  1. -- Début du Programme ShirOS
  2.  
  3.     -- Déclaration des variables
  4.  
  5. local modemSide = "right"
  6. local modem = peripheral.wrap(modemSide)
  7. local channelMain = 0
  8. local channeSend
  9.  
  10. local monitorSide = "left"
  11. local monitor = peripheral.wrap(monitorSide)
  12.  
  13. local redstoneSide = "back"
  14. local redstoneSide2 = "bottom"
  15.  
  16. local pass
  17. local key
  18. local key2
  19. local openClose = 0
  20. local aux = 0
  21. local alert = 0
  22.  
  23. local task1 = "Oil - Vannes Fermées"
  24. local task2 = "Fuel - Vannes Fermées"
  25. local task3 = ""
  26. local task4 = ""
  27. local task5 = ""
  28. local task6 = ""
  29.  
  30.     -- Complément du ShirOS
  31.  
  32. local function monitorAff(m,task1,task2,task3,task4,task5)
  33.  
  34.     m.clear()
  35.     m.setCursorPos(1, 1)
  36.     m.setTextScale(0.5)
  37.        
  38.     m.write("Liste des Tâches actives :")
  39.     m.setCursorPos(1, 2)
  40.     m.write(" | "..task1)
  41.    
  42.     m.setCursorPos(1, 3)
  43.     m.write(" | "..task2)
  44.    
  45.     m.setCursorPos(1, 4)
  46.     m.write(" | "..task3)
  47.    
  48.     m.setCursorPos(1, 5)
  49.     m.write(" | "..task4)
  50.    
  51.     m.setCursorPos(1, 6)
  52.     m.setTextColor( colors.red )
  53.     m.write(" | "..task5)
  54.     m.setTextColor( colors.white)
  55.    
  56.     m.setCursorPos(1, 7)
  57.     m.write(" | ")
  58.    
  59.     m.setCursorPos(1, 8)
  60.     m.write(" | ")
  61.    
  62.     m.setCursorPos(1, 9)
  63.     m.write(" | "..task6)
  64.    
  65. end
  66.  
  67.     -- Code du ShirOS
  68.  
  69. term.clear()
  70. term.setCursorPos(1, 1)
  71.  
  72.     -- Page de Connexion
  73. while true do
  74.  
  75. term.clear()
  76. term.setCursorPos(1, 1)
  77.    
  78. print("/*------------------------------------------*/")
  79. print("/--          Connexion au gtOS             --/")
  80. print("/*------------------------------------------*/")
  81. print("")
  82. print("Veuillez saisir le mot de passe : ")
  83.  
  84. term.setTextColor( colors.yellow )
  85. pass = read("*")
  86. term.setTextColor( colors.white)
  87.  
  88.     if pass == "GTurbo" then
  89.  
  90.         -- Lancement du ShirOS
  91.  
  92.         monitorAff(monitor,task1,task2,task3,task4,task5,task6)
  93.  
  94.         while true do
  95.        
  96.             sleep(0.5)
  97.             term.clear()
  98.             term.setCursorPos(1, 1)
  99.  
  100.             print("/*-----------------------------------------------*/")
  101.             print("gtOS 1.1                      Bonjour Mr. GTurbo   ")
  102.             print("/*-----------------------------------------------*/")
  103.  
  104.             print("")
  105.             print("Actions :")
  106.             print("")
  107.             print("     1. Contrôle des Tanks")
  108.             print("     2. Arret d'Urgence")
  109.             print("     3. Production d'Obsidienne")
  110.             print("     4. Actualiser les Tâches")
  111.             print("     ...")
  112.             print("     9. Quitter")
  113.             print("")
  114.  
  115.             term.setTextColor( colors.yellow )
  116.             key = read()        
  117.             term.setTextColor( colors.white)
  118.  
  119.  
  120.             if key == "1" then
  121.            
  122.                 -- Contrôle des Tanks
  123.                 while true do
  124.                
  125.                     sleep(0.5)
  126.                     term.clear()
  127.                     term.setCursorPos(1, 1)
  128.  
  129.                     print("/*-----------------------------------------------*/")
  130.                     print("gtOS 1.1                      Contrôle des Tanks   ")
  131.                     print("/*-----------------------------------------------*/")
  132.  
  133.                     print("")
  134.                     print("Actions :")
  135.                     print("")
  136.                     print("     1. Ouvrir/Fermer les vannes (Oil)")
  137.                     print("     2. Ouvrir/Fermer les vannes (Fuel)")                  
  138.                     print("     3. Validation du mode Aux.")                  
  139.                     print("     ...")                  
  140.                     print("     9. Quitter")
  141.                     print("")
  142.  
  143.                     term.setTextColor( colors.yellow )
  144.                     key2 = read()        
  145.                     term.setTextColor( colors.white)
  146.  
  147.  
  148.                    
  149.                     if key2 == "1" then
  150.                    
  151.                         -- Ouvrir/Fermer les vannes (Oil)
  152.                         channelSend = 101
  153.  
  154.                         if openClose == 0 then
  155.                        
  156.                             task1 = "Oil - Vannes Ouvertes"
  157.                             modem.transmit(channelSend,channelMain,true)
  158.                             openClose = 1
  159.                            
  160.                         else
  161.                        
  162.                             task1 = "Oil - Vannes Fermées"
  163.                             modem.transmit(channelSend,channelMain,false)
  164.                             openClose = 0
  165.                            
  166.                         end
  167.  
  168.                         print("                 Choix validé")
  169.                         print("                 La liste des tâches va être mis à jour")
  170.  
  171.                         monitorAff(monitor,task1,task2,task3,task4,task5,task6)
  172.                         sleep(2)
  173.                    
  174.                     elseif key2 == "2" then
  175.                    
  176.                         -- Vannes de Fuel
  177.                         channelSend = 102
  178.  
  179.                         if openClose == 0 then
  180.                        
  181.                             task2 = "Fuel - Vannes Ouvertes"
  182.                             modem.transmit(channelSend,channelMain,true)
  183.                             openClose = 1
  184.                            
  185.                         else
  186.                        
  187.                             task2 = "Fuel - Vannes Fermées"
  188.                             modem.transmit(channelSend,channelMain,false)
  189.                             openClose = 0
  190.                            
  191.                         end
  192.  
  193.                         print("                 Choix validé")
  194.                         print("                 La liste des tâches va être mis à jour")
  195.  
  196.                         monitorAff(monitor,task1,task2,task3,task4,task5,task6)
  197.                         sleep(2)
  198.                    
  199.                     elseif key2 == "3" then
  200.                    
  201.                         -- Validation du mode Aux.
  202.                         channelSend = 103
  203.  
  204.                         if aux == 0 then
  205.                        
  206.                             task3 = "Mode Générateur Aux. activé"
  207.                             print("                 Validation Confirmée")
  208.                             modem.transmit(channelSend,channelMain,true)
  209.                             aux = 1
  210.                            
  211.                         else
  212.                        
  213.                             task3 = ""
  214.                             print("                 Désactivation")
  215.                             modem.transmit(channelSend,channelMain,false)
  216.                             aux = 0
  217.                            
  218.                         end                
  219.  
  220.                         monitorAff(monitor,task1,task2,task3,task4,task5,task6)
  221.                         sleep(2)
  222.                    
  223.                     --Quitter
  224.                     elseif key2 == "9" then
  225.                    
  226.                         break
  227.                    
  228.                     else
  229.                    
  230.                         print("     Erreur")
  231.                        
  232.                     end
  233.                    
  234.                 end
  235.            
  236.            
  237.             elseif key == "2" then
  238.            
  239.                 -- Arrêt d'urgence'
  240.                 channelSend = 104
  241.  
  242.                 if alert == 0 then  
  243.                
  244.                     print("                 Arret d'Urgence en cours")
  245.                     print("                 La liste des tâches va être mis à jour")
  246.                     task4 = "Arret d'Urgence enclenché"
  247.  
  248.                     monitorAff(monitor,task1,task2,task3,task4,task5,task6)
  249.                     sleep(2)
  250.  
  251.                     alert = 1
  252.  
  253.                     modem.transmit(channelSend,channelMain,true)
  254.  
  255.                 else
  256.                
  257.                     print("                 Redemarage en cours")
  258.                     task4 = ""
  259.  
  260.                     monitorAff(monitor,task1,task2,task3,task4,task5,task6)
  261.                     sleep(2)
  262.  
  263.                     alert = 0
  264.  
  265.                     modem.transmit(channelSend,channelMain,false)
  266.                    
  267.                 end
  268.                
  269.                
  270.             elseif key == "3" then
  271.            
  272.                 -- Lancement de la prod. d'obsi'
  273.                 while true do
  274.                
  275.                     sleep(0.5)
  276.                     term.clear()
  277.                     term.setCursorPos(1, 1)
  278.                     channelSend = 105
  279.  
  280.                     print("/*-----------------------------------------------*/")
  281.                     print("gtOS 1.1                 Production d'Obsidienne   ")
  282.                     print("/*-----------------------------------------------*/")
  283.  
  284.                     print("")
  285.                     print("Voulez-vous lancer la production : ")
  286.                     print("")
  287.                     print("     1. Lancer")                
  288.                     print("     ...")                
  289.                     print("     9. Quitter")
  290.                     print("")
  291.  
  292.                     term.setTextColor( colors.yellow )
  293.                     key2 = read()        
  294.                     term.setTextColor( colors.white)
  295.  
  296.                     -- Lancement de la production
  297.  
  298.                     if key2 == "1" then
  299.                    
  300.                         modem.transmit(channelSend,channelMain,1)
  301.                         print("                 Lancement de la production")
  302.                         print("                 Travail en cours ...")
  303.                         task6 = "Production d'Obsidienne : Production en cours"
  304.  
  305.                         monitorAff(monitor,task1,task2,task3,task4,task5,task6)
  306.                         sleep(2)
  307.                        
  308.                     else
  309.  
  310.                         break
  311.                    
  312.                     end
  313.                    
  314.                 end
  315.                
  316.             end
  317.  
  318.             -- Notif Alerte
  319.  
  320.             if rs.getInput(redstoneSide) == true then
  321.            
  322.                 task5 = "Demande de Confirmation (Générateur Aux.)"
  323.                 monitorAff(monitor,task1,task2,task3,task4,task5,task6)
  324.                
  325.             else
  326.            
  327.                 task5 = ""
  328.                 monitorAff(monitor,task1,task2,task3,task4,task5,task6)
  329.                
  330.             end
  331.  
  332.             -- Reset Task Obsi
  333.    
  334.             if rs.getInput(redstoneSide2) == true then
  335.            
  336.                 task6 = ""
  337.                 monitorAff(monitor,task1,task2,task3,task4,task5,task6)
  338.                
  339.             end
  340.  
  341.             -- Quitter
  342.  
  343.             if key == "9" then
  344.            
  345.                 channelSend = 106
  346.                 modem.transmit(channelSend,channelMain,false)
  347.                 os.reboot()
  348.                
  349.             end
  350.            
  351.         end
  352.    
  353.     else
  354.    
  355.         term.setTextColor( colors.red )
  356.         print("     Mot de passe incorrect !")
  357.         term.setTextColor( colors.white)
  358.        
  359.         sleep(2)
  360.        
  361.     end
  362.  
  363. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement