MagmaLP

Item-Bank_PC_Addieren

Nov 14th, 2023 (edited)
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. os.loadAPI("ocs/apis/sensor")
  2. sen = sensor.wrap("top")
  3. s = sen.getTargets()
  4.  
  5. file = fs.open("Local_List", "w")
  6. file.close()
  7.  
  8. function getS()
  9.     for v, k in pairs(s) do
  10.         if k.Name == "ME Wireless Access Point" then  
  11.             target = v
  12.         end
  13.     end
  14.     sleep(0.5)
  15.     return target
  16. end
  17.  
  18. target = getS()
  19. if target then
  20.     s1 = sen.getTargetDetails(target)
  21.     print("Eingeworfene Items:")
  22.     for _, item in pairs(s1.Items) do
  23.         local displayName = item.Name or "Unknown Item"
  24.         local size = item.Size or 0
  25.         local file = fs.open("Local_List", "a")
  26.         file.write(displayName .. "= " .. size .. "\n")
  27.         file.close()
  28.  
  29.         print(displayName .. " = " .. size .. "\n")
  30.     end
  31. end
  32.  
  33.  
  34. -- Funktion zum Lesen der Datei und Extrahieren der Informationen
  35. function ladeItems()
  36.   local datei = fs.open("Local_List", "r")  -- Datei im Lesemodus åB6ffnen
  37.  
  38.   if not datei then
  39.     print("Fehler: Datei konnte nicht geåB6ffnet werden.")
  40.     return
  41.   end
  42.  
  43.   -- Tabelle zum Speichern der Iteminformationen
  44.   local items = {}
  45.    
  46.   -- Schleife durch jede Zeile der Datei
  47.   repeat
  48.     local zeile = datei.readLine()  -- Eine Zeile aus der Datei lesen
  49.     if zeile then
  50.       -- Trenne den Itemnamen und die Menge anhand des Gleichheitszeichens
  51.       local itemName, menge = zeile:match("([^=]+)%s*=%s*(%d+)")
  52.       if itemName and menge then
  53.         items[itemName] = tonumber(menge)
  54.       else
  55.         print("Fehlerhafte Zeile in der Datei: " .. zeile)
  56.       end
  57.     end
  58.   until not zeile
  59.  
  60.   datei.close()  -- Datei schlieå9Fen
  61.  
  62.   return items
  63. end
  64.  
  65. -- Beispielaufruf der Funktion
  66. local itemTabelle = ladeItems()
  67.  
  68. -- Beispiel: Verwendung der abgerufenen Informationen
  69. if itemTabelle then
  70.     Local_AEs_Amount = itemTabelle["Adjustable Emitter"]
  71.     Local_Shiny_Amount = itemTabelle["Shiny Ingot"]
  72.     Local_Tungsten_Amount = itemTabelle["Tungsten Ore"]
  73. end
  74.  
  75. if not Local_AEs_Amount then
  76.     Local_AEs_Amount = 0
  77. end
  78. if not Local_Shiny_Amount then
  79.     Local_Shiny_Amount = 0
  80. end
  81. if not Local_Tungsten_Amount then
  82.     Local_Tungsten_Amount = 0
  83. end
  84. --------------------------------------------------------------------------
  85.  
  86. -- Funktion zum Lesen der Datei und Extrahieren der Informationen
  87. file = fs.open("local-name", "r")             --read user
  88. name = file.readLine()
  89. file.close()
  90.  
  91. function ladeItems()
  92.   local datei = fs.open("Users/" .. name, "r")  -- Datei im Lesemodus åB6ffnen
  93.  
  94.   if not datei then
  95.     print("Fehler: Datei konnte nicht geåB6ffnet werden.")
  96.     return
  97.   end
  98.  
  99.   -- Tabelle zum Speichern der Iteminformationen
  100.   local items = {}
  101.    
  102.   -- Schleife durch jede Zeile der Datei
  103.   repeat
  104.     local zeile = datei.readLine()  -- Eine Zeile aus der Datei lesen
  105.     if zeile then
  106.       -- Trenne den Itemnamen und die Menge anhand des Gleichheitszeichens
  107.       local itemName, menge = zeile:match("([^=]+)%s*=%s*(%d+)")
  108.       if itemName and menge then
  109.         items[itemName] = tonumber(menge)
  110.       else
  111.         print("Fehlerhafte Zeile in der Datei: " .. zeile)
  112.       end
  113.     end
  114.   until not zeile
  115.  
  116.   datei.close()  -- Datei schlieå9Fen
  117.  
  118.   return items
  119. end
  120.  
  121. -- Beispielaufruf der Funktion
  122. local itemTabelle = ladeItems()
  123.  
  124. -- Beispiel: Verwendung der abgerufenen Informationen
  125. if itemTabelle then
  126.     AEs_Amount = itemTabelle["Adjustable Emitter"]
  127.     Shiny_Amount = itemTabelle["Shiny Ingot"]
  128.     Tungsten_Amount = itemTabelle["Tungsten Ore"]
  129. end
  130.  
  131. New_AEs_Amount = AEs_Amount + Local_AEs_Amount
  132. New_Shiny_Amount = Shiny_Amount + Local_Shiny_Amount
  133. New_Tungsten_Amount = Tungsten_Amount + Local_Tungsten_Amount
  134.  
  135. fs.delete("Local_List")
  136. fs.delete("Users/" .. name)
  137. file = fs.open("Users/" .. name, "w")
  138. file.close()
  139.  
  140. local file = fs.open("Users/" .. name, "a")
  141. file.write("Adjustable Emitter= " .. New_AEs_Amount .. "\n")
  142. file.write("Shiny Ingot= " .. New_Shiny_Amount .. "\n")
  143. file.write("Tungsten Ore= " .. New_Tungsten_Amount .. "\n")
  144. file.close()
  145.  
  146. print(" ")
  147. print("addierte Werte:")
  148. print("AEs:", New_AEs_Amount)
  149. print("Shiny:", New_Shiny_Amount)
  150. print("Tungsten:", New_Tungsten_Amount)
  151.  
  152. rs.setOutput("left", true)
  153. sleep(2)
  154. rs.setOutput("left", false)
  155. sleep(1)
  156.  
  157. os.reboot()
Add Comment
Please, Sign In to add comment