Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[ opencomputers
- получить все данные о предмете, возвращаемые контроллером инвентаря в любом слоте робота
- тип данных: maxSize, maxCharge, label, maxDamage, size, damadge, name, charge, tier ...
- требования:
- инвентарь, контроллер инвентаря
- использование:
- положить предмет в любой слот робота для получения информации
- ]]--
- local com = require('component')
- local term = require('term')
- local event = require('event')
- if not com.isAvailable("robot") then
- print("только роботы могут использовать эту программу")
- os.exit()
- end
- if not com.isAvailable("inventory_controller") then
- print("нет контроллера инвентаря")
- os.exit()
- end
- local i_c = com.inventory_controller
- term.clear()
- print("положите предмет в инвентарь робота")
- while true do
- local n, slot = event.pull()
- if n == "inventory_changed" and slot ~= nil then
- term.clear()
- stack = i_c.getStackInInternalSlot(slot)
- if stack ~= nil then
- for k,v in pairs(stack) do
- print(k.." "..tostring(v))
- end
- else
- print("данных нет ...")
- end
- elseif n == "key_down" then
- term.clear()
- os.exit()
- end
- end
- --[[ ПРИМЕР ИСПОЛЬЗОВАНИЯ :
- --определим может ли заряжаться инструмент ( .charge )
- local r = require("robot")
- local com = require('component')
- local i_c = com.inventory_controller
- local function isElectric(slot)
- local device = i_c.getStackInInternalSlot(slot)
- if device.charge ~= nil then
- print("заряжаемый")
- else
- print("не заряжаемый")
- end
- end
- isElectric(1) -- слот номер 1
- ]]--
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement