Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local computer, component = computer or require"computer", component or require"component"
- if not print then print=function()end end
- function chekDatabase() for _ in component.list("database") do return false end return true end
- while chekDatabase() do print("Отсутствует база данных") computer.beep(600,0.4) computer.pullSignal(2) end
- local inv = component.proxy(component.list("inventory_controller")())
- local db = component.proxy(component.list("database")())
- local maxSlot = inv.getInventorySize(1)
- if not maxSlot then print("Сундук сверху не найден") computer.beep(1000,0.4) os.exit() end
- function itemsChest()
- local items = {}
- for j = 1, maxSlot do
- slot = inv.getStackInSlot(1,j)
- if slot then
- if not items[slot.name] then items[slot.name] = {} end
- items[slot.name][#items[slot.name]+1] = j
- end
- end
- return items
- end
- local slots = itemsChest()
- local size = inv.getInventorySize(3)-4 -- Размер реактора. ( -4 , потому что есть скрытые слоты по углам )
- for i = 1, size do
- if not inv.getStackInSlot(3,i) then
- local itemDB = db.get( i + ( math.ceil( i / (size/6) ) - 1 ) * ( 9 - (size/6) ) ) -- для случая если слоты реактора не совпадают со слотами бд
- if itemDB then
- repeat
- local item = slots[itemDB.name]
- if item and #item ~= 0 then
- inv.suckFromSlot(1,item[#item])
- item[#item] = nil
- break
- else
- print(itemDB.label.." не найден") computer.pullSignal(1)
- computer.beep(800,0.4)
- slots = itemsChest()
- end
- until false
- end
- inv.dropIntoSlot(3,i)
- end
- end
- print(" Mission Completed! \n respect +")
Add Comment
Please, Sign In to add comment