Проблема в том, что периодически программа выбивает ошибку "No such component", с каждым разом она все чаще и чаще.
Делали проверку через component.isAvailable("Название_компонента") в итоге не помогло, есть подозрение что виновник торжества сама библиотека component.
Возможно кто то сталкивался с данной проблемой и на неё есть решение.
Компоненты на которые вылетает данная ошибка:
- opencb
- me_interface
- reactor_chamber
Возможно и на другие компоненты проблема актуальна.
P.S. Все компоненты "системы" находятся в одном чанке
Скрытый текст
Скрытый текст
local computer = require("computer")local com = require("component")local fs = require("filesystem")local event = require("event")local me = com.me_interface
local r = com.reactor_chamber
local red = com.redstone
local g = com.gpu
-------------------local condId, condDmg ="IC2:reactorCondensatorLap",9500local EUOutput =3800local condPosMe, fuelPosMe =8,9local maxHeat =9300local toReact ="Down"-- сторона куда будет кидать из МЭ в реакторlocal fromReact ="East"-- сторона откуда будет кидать в мэ из реактораlocal sideRed =0-- с какой стороны сигнал красного камняlocal status =false-- статус реактораlocal k =0
g.setResolution(72,42)-------------------
fuel ={"IC2:reactorUraniumQuaddepleted","IC2:reactorMOXQuaddepleted"}
fuelList ={1,2,3,4,5,6,7,8,9,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,46,47,48,49,50,51,52,53,54}-- слоты с топливом
condList ={10,11,12,13,14,15,16,17,18,37,38,39,40,41,42,43,44,45}-- слоты с конденсаторамиfunction onReact()
red.setOutput(0,15)
status =true
g.fill(66,2,3,1," ")
g.set(66,2,"on")endfunction offReact()
red.setOutput(0,0)
status =false
g.fill(66,2,3,1," ")
g.set(66,2,"off")endfunction checkFuel()if com.isAvailable("reactor_chamber")and com.isAvailable("me_interface")then
red.setOutput(0,0)for i =1,#fuelList dolocal pos = fuelList
if r.getStackInSlot(pos)thenif r.getStackInSlot(pos).id ==(fuel[1]or fuel[2])thenlocal to = r.pushItem(fromReact, pos,1)local from = me.pushItem(toReact, fuelPosMe,1, pos)if(to or from)==0then os.exit()endendendend
red.setOutput(0,15)else
offReact()endendfunction checkCond()if com.isAvailable("reactor_chamber")and com.isAvailable("me_interface")then
g.fill(3,3,8,18," ")local data = r.getAllStacks(0)for i =1,#condList dolocal pos = condList
if data[pos]then
g.set(3,2+i, pos.." "..data[pos].dmg)if data[pos].dmg >= condDmg then
offReact()local to = r.pushItem(fromReact, pos,1)local from = me.pushItem(toReact, condPosMe,1, pos)if(to or from)==0then os.exit()endendendend
onReact()else
offReact()endendfunction power(event,addres, x, y, nick)if(x ==113or x ==1081)and y ==16thenif status then
offReact()else
onReact()endendendfunction window()
g.fill(1,1,72,42," ")
g.set(1,1,"Конденсаторы")
g.set(63,1,"Состояние")
g.set(66,2,"off")end
window()
event.listen("key_down", power)whiletruedoif status then
checkCond()endif com.isAvailable("reactor_chamber")thenif r.getHeat()>= maxHeat then
offReact()--elseif r.getReactorEUOutput() < EUOutput then--checkFuel()endelse
offReact()end
os.sleep(0.1)end
Проблема в том, что периодически программа выбивает ошибку "No such component", с каждым разом она все чаще и чаще.
Делали проверку через component.isAvailable("Название_компонента") в итоге не помогло, есть подозрение что виновник торжества сама библиотека component.
Возможно кто то сталкивался с данной проблемой и на неё есть решение.
Компоненты на которые вылетает данная ошибка:
- opencb
- me_interface
- reactor_chamber
Возможно и на другие компоненты проблема актуальна.
P.S. Все компоненты "системы" находятся в одном чанке
Поделиться сообщением
Ссылка на сообщение
Поделиться на других сайтах