Advertisement
astrixswayer

ME-driver

Jul 30th, 2014
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.78 KB | None | 0 0
  1. local ME=peripheral.wrap("left")
  2. local modem=peripheral.wrap("right")
  3.  
  4. local stop = false
  5. local start = false
  6.  
  7. local infoByte = {"infoByte", 0, 0, 0, 0}
  8. local pcFreeBytes = 0
  9. local infoTypes = {"infoTypes", 0, 0, 0, 0}
  10. --                                      info-total-use-free-%
  11. local channel1 = 1001
  12. local channel2 = 1002
  13. local ID = {"idclent", 0, "marcerwan"}
  14. local traBytes = "open"
  15. local traTypes = "open"
  16. local traID = "open"
  17.  
  18. rednet.open("right")
  19. ID[2] = os.getComputerID()
  20.  
  21. term.clear()
  22.  
  23. traID=textutils.serialize(ID)
  24.  
  25. modem.transmit(channel1, channel2, traID)
  26.  
  27. os.sleep(0.5)
  28.  
  29. modem.transmit(channel1, channel2, "YOLO")
  30.  
  31. while start ~= true do
  32.    
  33.     term.setCursorPos(20, 10)
  34.    
  35.     print("En attente du signal !!!           ")
  36.    
  37.     modem.open(channel2)
  38.     event, side, frequency, replyFrequency, message, distance = os.pullEvent("modem_message")
  39.    
  40.     if message == "start" then
  41.        
  42.         start = true
  43.        
  44.     end
  45.    
  46. end
  47.  
  48. while stop == false do        
  49.        
  50.         infoByte[2] = ME.getTotalBytes()
  51.         infoByte[4] = ME.getFreeBytes()
  52.        
  53.             infoTypes[2] = ME.getTotalItemTypes()
  54.         infoTypes[3] = ME.getStoredItemTypes()
  55.            
  56.         if infoByte[2] == 0 then
  57.                
  58.                         term.setCursorPos(20, 15)
  59.                         term.setTextColor(colors.red)
  60.                
  61.                 print("pas de ME storage")
  62.                        
  63.         else
  64.        
  65.                 ME=peripheral.wrap("left")
  66.                
  67.                 infoByte[5] = infoByte[4] / infoByte[2] * 100
  68.                 infoByte[3] = infoByte[2] - infoByte[4]
  69.                                
  70.                                 infoTypes[4] = infoTypes[2] - infoTypes[3]
  71.                                 infoTypes[5] = infoTypes[4] / infoTypes[2] * 100
  72.                                
  73.                                 term.setCursorPos(5, 3)
  74.                 print("totalBytes")
  75.                 term.setCursorPos(20, 3)
  76.                 print("bytes")
  77.                 term.setCursorPos(35, 3)
  78.                 print("freeBytes")
  79.                
  80.                 term.setCursorPos(5, 5)
  81.                 print(infoByte[2].."                              ")
  82.                 term.setCursorPos(20, 5)
  83.                 print(infoByte[3].."                              ")
  84.                 term.setCursorPos(35, 5)
  85.                 print(infoByte[4].."                                    ")
  86.                                
  87.                                 term.setCursorPos(5, 7)
  88.                 print("totalTypes")
  89.                 term.setCursorPos(20, 7)
  90.                 print("types")
  91.                 term.setCursorPos(35, 7)
  92.                 print("freeTypes")
  93.                                
  94.                                 term.setCursorPos(5, 9)
  95.                 print(infoTypes[2].."                              ")
  96.                 term.setCursorPos(20, 9)
  97.                 print(infoTypes[3].."                              ")
  98.                 term.setCursorPos(35, 9)
  99.                 print(infoTypes[4].."                                   ")
  100.                
  101.                 if infoByte[5] < 10 then
  102.                                        
  103.                                         term.setTextColor(colors.red)
  104.                                         term.setCursorPos(4, 15)
  105.                     print("free bytes : "..infoByte[5].." %                            ")
  106.                                
  107.                 else
  108.                        
  109.                                         term.setCursorPos(4, 15)
  110.                                         print("free bytes : "..infoByte[5].." %                            ")
  111.                        
  112.                 end
  113.                                
  114.                                 if infoByte[5] < 10 then
  115.                                        
  116.                                         term.setTextColor(colors.red)
  117.                                         term.setCursorPos(4, 17)
  118.                                         print("free Types : "..infoTypes[5].."%                             ")
  119.                                        
  120.                                 else
  121.                                        
  122.                                         term.setCursorPos(4, 17)
  123.                                         print("free Types : "..infoTypes[5].."%                             ")
  124.                                        
  125.                                 end
  126.                            
  127.         end
  128.                
  129.         traBytes=textutils.serialize(infoByte)
  130.         traTypes=textutils.serialize(infoTypes)
  131.        
  132.         modem.transmit(channel1, channel2, traID)
  133.         modem.transmit(channel1, channel2, traBytes)
  134.         modem.transmit(channel1, channel2, traTypes)
  135.            
  136.         term.setTextColor(colors.white)
  137.        
  138. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement