Advertisement
MagmaLP

Combine 2 Programms

Nov 11th, 2023 (edited)
779
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 12.19 KB | None | 0 0
  1. --This Computer will stay at Trading Townspawn
  2. --x:-7864 y:68 z:13718
  3. --MInecraft(1.4.7) Tekkit Lite Modepack
  4. --ServerIP: server.lycodon.com
  5.  
  6. os.loadAPI("ocs/apis/sensor")
  7. mon = peripheral.wrap("back")
  8. term.setBackgroundColor(32768)
  9. term.setCursorPos(1,1)
  10. term.clear()
  11.  
  12. function calc_color(color)
  13.     return math.pow(2, color - 1)
  14. end
  15.  
  16. function msg(gap, line, color, groundb, text)
  17.     term.setBackgroundColor(calc_color(groundb))
  18.     term.setCursorPos(gap,line)
  19.     term.setTextColor(calc_color(color))
  20.     text = term.write(text)
  21. end
  22.  
  23. function clear()
  24.     for yPos = 7,17 do
  25.         msg(1,yPos,16,16,"                                                   ")
  26.     end
  27.     msg(01,19,08,16,"                                                        ")
  28. end
  29.  
  30. function getS()
  31.     for v, k  in pairs(s) do
  32.         if k.Name == "ME Wireless Access Point" then  
  33.             target = v
  34.         end
  35.     end
  36.     sleep(0.5)
  37.     return target
  38. end
  39.  
  40. Adjustable_Emitter_Amount = 0
  41.  
  42.  
  43. while true do
  44.     sen = sensor.wrap("bottom")
  45.     for targetName,targetInfo in pairs(sen.getTargets()) do     --detect targets
  46.         name = targetName
  47.         if targetInfo.Name == "Player" then                     --detect if target is a player
  48.             if fs.exists("Users/" ..name) == false then         --create user
  49.                 file = fs.open("Users/" .. name, "w")
  50.                 file.write("Adjustabel Emitter= 0\n")
  51.                 file.write("Amaranthine Dust= 0\n")
  52.                 file.write("Azure Dust= 0\n")
  53.                 file.write("Iridescent Dust= 0\n")
  54.                 file.write("Shiny Ingot= 0\n")
  55.                 file.write("Tungsten Ore= 0")
  56.                 file.close()
  57.             end
  58.        
  59.             file = fs.open("local-name", "w")                               --name local speichern
  60.             file.write(name)
  61.             file.close()
  62.  
  63.             msg(01,01,02,16," Account: "..name)                             --überschrift
  64.             msg(01,02,08,16,"---------------------------------------------------")
  65.  
  66.             clear()
  67.             msg(06,07,01,15,"                  ")   msg(30,07,01,15,"                ")
  68.             msg(06,08,01,15,"  deposit items   ")   msg(30,08,01,15," withdraw items ")
  69.             msg(06,09,01,15,"                  ")   msg(30,09,01,15,"                ")
  70.  
  71.             msg(14,04,06,16,"$$$                   $$$")
  72.             msg(18,04,05,16,"Trading-City Bank")
  73.             msg(18,05,01,16,"~~~~~~~~~~~~~~~~~")
  74.             msg(02,13,09,16,"After 1 year offline, your account will be")
  75.             msg(02,14,09,16,"deleted, along with all your things!")
  76.             msg(02,15,09,16,"Save your valuable items here so you can")
  77.             msg(02,16,09,16,"get them back even after a player reset.")
  78.            
  79.             msg(01,18,08,16,"---------------------------------------------------")
  80.  
  81.             local event, button, X, Y = os.pullEvent("mouse_click")
  82.             if X >= 06 and X <= 23 and Y >= 07 and Y <= 09 then                                 --deposit money
  83.                 clear()
  84.                 sleep(0.5)
  85.                
  86.                 msg(02,07,01,16,"Insertable Items:")
  87.                 msg(02,08,09,16,"-> Adjustable Emitters     -> Azure Dust")
  88.                 msg(02,09,09,16,"-> Tungste Ore             -> Amaranthine Dust")
  89.                 msg(02,10,09,16,"-> Shiny Ingot             -> Iridescent Dust")
  90.  
  91.                 msg(02,13,09,16,"Insert all items on the left and then")
  92.                 msg(02,14,09,16,"confirm here with the red button.")
  93.                 msg(02,15,09,16,"Your items will remain saved until")
  94.                 msg(02,16,09,16,"you retrieve them.")
  95.                
  96.                 msg(40,13,01,15,"          ")
  97.                 msg(40,14,01,15," confirm  ")
  98.                 msg(40,15,01,15,"          ")
  99.  
  100.                 msg(47,19,16,01," back")
  101.                
  102.                 local event, button, X, Y = os.pullEvent("mouse_click")
  103.                 if X >= 40 and X <= 49 and Y >= 13 and Y <= 15 then     --confirm button
  104.                     sen = sensor.wrap("top")
  105.                     s = sen.getTargets()
  106.  
  107.                     --fs.delete("List")
  108.                     file = fs.open("Local_List", "w")
  109.                     file.close()
  110.  
  111.                     function getS()
  112.                         for v, k in pairs(s) do
  113.                             if k.Name == "ME Wireless Access Point" then  
  114.                                 target = v
  115.                             end
  116.                         end
  117.                         sleep(0.5)
  118.                         return target
  119.                     end
  120.  
  121.                     target = getS()
  122.                     if target then
  123.                         s1 = sen.getTargetDetails(target)
  124.                         print("Eingeworfene Items:")
  125.                         for _, item in pairs(s1.Items) do
  126.                             local displayName = item.Name or "Unknown Item"
  127.                             local size = item.Size or 0
  128.                             local file = fs.open("Local_List", "a")
  129.                             file.write(displayName .. "= " .. size .. "\n")
  130.                             file.close()
  131.  
  132.                             print(displayName .. " = " .. size .. "\n")
  133.                         end
  134.                     end
  135.  
  136.  
  137.                     -- Funktion zum Lesen der Datei und Extrahieren der Informationen
  138.                     function ladeItems()
  139.                         local datei = fs.open("Local_List", "r")  -- Datei im Lesemodus öffnen
  140.  
  141.                         if not datei then
  142.                             print("Fehler: Datei konnte nicht geöffnet werden.")
  143.                             return
  144.                         end
  145.  
  146.                         -- Tabelle zum Speichern der Iteminformationen
  147.                         local items = {}
  148.  
  149.                         -- Schleife durch jede Zeile der Datei
  150.                         repeat
  151.                         local zeile = datei.readLine()  -- Eine Zeile aus der Datei lesen
  152.                         if zeile then
  153.                           -- Trenne den Itemnamen und die Menge anhand des Gleichheitszeichens
  154.                             local itemName, menge = zeile:match("([^=]+)%s*=%s*(%d+)")
  155.                             if itemName and menge then
  156.                                 items[itemName] = tonumber(menge)
  157.                             else
  158.                                 print("Fehlerhafte Zeile in der Datei: " .. zeile)
  159.                             end
  160.                         end
  161.                         until not zeile
  162.  
  163.                         datei.close()  -- Datei schließen
  164.  
  165.                         return items
  166.                     end
  167.  
  168.                     -- Beispielaufruf der Funktion
  169.                     local itemTabelle = ladeItems()
  170.  
  171.                     -- Beispiel: Verwendung der abgerufenen Informationen
  172.                     if itemTabelle then
  173.                         Local_AEs_Amount = itemTabelle["Adjustable Emitter"]
  174.                         --Local_Amaranthine_Amount = itemTabelle["Amaranthine Dust"]
  175.                         --Local_Azure_Amount = itemTabelle["Azure Dust"]
  176.                         --Local_Iridescent_Amount = itemTabelle["Iridescent Dust"]
  177.                         Local_Shiny_Amount = itemTabelle["Shiny Ingot"]
  178.                         Local_Tungsten_Amount = itemTabelle["Tungsten Ore"]
  179.                     end
  180.  
  181.                     if not Local_AEs_Amount then
  182.                         Local_AEs_Amount = 0
  183.                     end
  184.                     --if not Local_Amaranthine_Amount then
  185.                     --  Local_Amaranthine_Amount = 0
  186.                     --end
  187.                     --if not Local_Azure_Amount then
  188.                     --    Local_Azure_Amount = 0
  189.                     --end
  190.                     --if not Local_Iridescent_Amount then
  191.                     --    Local_Iridescent_Amount = 0
  192.                     --end
  193.                     if not Local_Shiny_Amount then
  194.                         Local_Shiny_Amount = 0
  195.                     end
  196.                     if not Local_Tungsten_Amount then
  197.                         Local_Tungsten_Amount = 0
  198.                     end
  199.                     --------------------------------------------------------------------------
  200.  
  201.                     -- Funktion zum Lesen der Datei und Extrahieren der Informationen
  202.                     file = fs.open("local-name", "r")                               --name local speichern
  203.                     name = file.readLine()
  204.                     file.close()
  205.                     --name = "MagmaLP"
  206.                     function ladeItems()
  207.                         local datei = fs.open("Users/" .. name, "r")  -- Datei im Lesemodus öffnen
  208.  
  209.                         if not datei then
  210.                             print("Fehler: Datei konnte nicht geöffnet werden.")
  211.                             return
  212.                         end
  213.  
  214.                         -- Tabelle zum Speichern der Iteminformationen
  215.                         local items = {}
  216.  
  217.                         -- Schleife durch jede Zeile der Datei
  218.                         repeat
  219.                             local zeile = datei.readLine()  -- Eine Zeile aus der Datei lesen
  220.                             if zeile then
  221.                                 -- Trenne den Itemnamen und die Menge anhand des Gleichheitszeichens
  222.                                 local itemName, menge = zeile:match("([^=]+)%s*=%s*(%d+)")
  223.                                 if itemName and menge then
  224.                                   items[itemName] = tonumber(menge)
  225.                                 else
  226.                                     print("Fehlerhafte Zeile in der Datei: " .. zeile)
  227.                                 end
  228.                             end
  229.                         until not zeile
  230.  
  231.                         datei.close()  -- Datei schließen
  232.  
  233.                         return items
  234.                     end
  235.  
  236.                     -- Beispielaufruf der Funktion
  237.                     local itemTabelle = ladeItems()
  238.  
  239.                     -- Beispiel: Verwendung der abgerufenen Informationen
  240.                     if itemTabelle then
  241.                         AEs_Amount = itemTabelle["Adjustable Emitter"]
  242.                         --Amaranthine_Amount = itemTabelle["Amaranthine Dust"]
  243.                         --Azure_Amount = itemTabelle["Azure Dust"]
  244.                         --Iridescent_Amount = itemTabelle["Iridescent Dust"]
  245.                         Shiny_Amount = itemTabelle["Shiny Ingot"]
  246.                         Tungsten_Amount = itemTabelle["Tungsten Ore"]
  247.                     end
  248.  
  249.                     New_AEs_Amount = AEs_Amount + Local_AEs_Amount
  250.                     --New_Amaranthine_Amount = Amaranthine_Amount + Local_Amaranthine_Amount
  251.                     --New_Azure_Amount = Azure_Amount + Local_Azure_Amount
  252.                     --New_Iridescent_Amount = Iridescent_Amount + Local_Iridescent_Amount
  253.                     New_Shiny_Amount = Shiny_Amount + Local_Shiny_Amount
  254.                     New_Tungsten_Amount = Tungsten_Amount + Local_Tungsten_Amount
  255.  
  256.                     fs.delete("Local_List")
  257.                     fs.delete("Users/" .. name)
  258.                     file = fs.open("Users/" .. name, "w")
  259.                     file.close()
  260.  
  261.                     local file = fs.open("Users/" .. name, "a")
  262.                     file.write("Adjustable Emitter= " .. New_AEs_Amount .. "\n")
  263.                     --file.write("Amaranthine Dust= " .. New_Amaranthine_Amount .. "\n")
  264.                     --file.write("Azure Dust= " .. New_Azure_Amount .. "\n")
  265.                     --file.write("Iridescent Dust= " .. New_Iridescent_Amount .. "\n")
  266.                     file.write("Shiny Ingot= " .. New_Shiny_Amount .. "\n")
  267.                     file.write("Tungsten Ore= " .. New_Tungsten_Amount .. "\n")
  268.                     file.close()
  269.  
  270.                     print(" ")
  271.                     print("addierte Werte:")
  272.                     print("AEs:", New_AEs_Amount)
  273.                     --print("Amaranthine:", New_Amaranthine_Amount)
  274.                     --print("Azure:", New_Azure_Amount)
  275.                     --print("Iridescent:",New_Iridescent_Amount)
  276.                     print("Shiny:", New_Shiny_Amount)
  277.                     print("Tungsten:", New_Tungsten_Amount)
  278.                 end
  279.             end
  280.         end
  281.     end
  282.     sleep(15)
  283.     os.reboot()
  284. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement