Advertisement
Ewgeniy

inventory transfer

Jan 24th, 2025 (edited)
42
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.04 KB | None | 0 0
  1. local component = require("component")
  2. local robot = require("robot")
  3. local sides = require("sides")
  4. local inv = component.inventory_controller
  5.  
  6. -- Доступные стороны, которые поддерживают инвентари
  7. local valid_sides = {sides.front, sides.bottom, sides.top}  -- Обычно robot может взаимодействовать только спереди, сверху и снизу
  8.  
  9. -- Функция для перемещения всех предметов из инвентарей вокруг робота
  10. local function transferAllItems()
  11.     for _, side in pairs(valid_sides) do
  12.         local size = inv.getInventorySize(side)  -- Получаем размер инвентаря
  13.         if size then
  14.             print("Инвентарь найден на стороне:", side, "Размер:", size)
  15.             for slot = 1, size do
  16.                 local item = inv.getStackInSlot(side, slot)
  17.                 if item then  -- Если в слоте есть предметы
  18.                     print("Найден предмет в слоте", slot, "Количество:", item.size, "Имя:", item.label)
  19.                     for rslot = 1, robot.inventorySize() do
  20.                         if robot.count(rslot) == 0 then  -- Ищем пустой слот в роботе
  21.                             print("Попытка забрать предмет из слота", slot)
  22.                             if inv.suckFromSlot(side, slot) then
  23.                                 print("Предмет успешно забран из слота", slot)
  24.                             else
  25.                                 print("Не удалось забрать предмет из слота", slot)
  26.                             end
  27.                             break
  28.                         end
  29.                     end
  30.                 end
  31.             end
  32.         else
  33.             print("Инвентарь не найден на стороне:", side)
  34.         end
  35.     end
  36. end
  37.  
  38. transferAllItems()
  39.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement