Advertisement
Adskaya_Dro4ila

обменик(new/логика обмена)

Dec 28th, 2024 (edited)
18
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.47 KB | None | 0 0
  1. local component = require("component")
  2. local event = require("event")
  3. local pim = component.pim
  4. local inventory = component.inventory_controller
  5. local fs = require("filesystem")
  6.  
  7. local function getItemInfo(slot)
  8. local item = inventory.getStackInSlot(1, slot)
  9. if item then
  10. return {
  11. itemLabel = item.label or "Unknown Item",
  12. itemName = item.name or "Unknown Name",
  13. itemDamage = item.damage or 0
  14. }
  15. else
  16. return nil
  17. end
  18. end
  19.  
  20. local function saveToFile(filename, data)
  21. local file = io.open(filename, "w")
  22. if file then
  23. file:write(data)
  24. file:close()
  25. else
  26. print("Error: Unable to open file for writing.")
  27. end
  28. end
  29.  
  30. local function scanInventory()
  31. local results = {}
  32.  
  33. for slot = 1, 27 do
  34. local itemInfo = getItemInfo(slot)
  35. if itemInfo then
  36. local resultLine = string.format(
  37. "{\n itemLabel = \"%s\",\n itemName = \"%s\",\n itemDamage = %d\n},",
  38. itemInfo.itemLabel,
  39. itemInfo.itemName,
  40. itemInfo.itemDamage
  41. )
  42. table.insert(results, resultLine)
  43. end
  44. end
  45.  
  46.  
  47. saveToFile("tet", table.concat(results, "\n"))
  48. end
  49.  
  50.  
  51. event.listen("player_on", function()
  52. print("Player detected on PIM. Scanning inventory...")
  53. scanInventory()
  54. end)
  55.  
  56. print("Waiting for player on PIM...")
  57. while true do
  58. event.pull()
  59. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement