-4

我试图让计算机检查能量电池有多少电量,但是当我运行这个程序时它说:尝试索引?(零值)有什么建议吗?

local energyCell = peripheral.wrap("back")
local energyCellMax = energyCell.getMaxEnergyStored("top")
local productionTime = 250
local energyPerTick = 320
local energyCreated = productionTime * energyPerTick * 20
local energyThreshold = energyCellMax - energyCreated
local dropperSide = "top"

local function dropperPulse()
  redstone.setOutput(dropperSide, true)
  sleep(1)
  redstone.setOutput(dropperSide, false)
  sleep(productionTime)
end

while true do
  term.clear()
  term.setCursorPos(1,1)
  print("Current Charge Level:")
  print("    "..math.floor(100*energyCell.getEnergyStored("top")/energyCellMax).."%")
  if (energyCell.getEnergyStored("top") < energyThreshold) then
    print("Charging...")
    dropperPulse()
  end
  sleep(5)
end
4

1 回答 1

0

我可以看到您的代码允许该错误的唯一问题是您是否无法包装外围设备。确保它实际连接在计算机背面。

如果您通过有线调制解调器连接到能量单元,当您右键单击连接到能量单元的调制解调器时,您应该会收到一条消息,例如“Connected thermoexpansion_energycell”或其他任何内容,并且整个热膨胀名称应该是放在peripheral.wrap里面。

一旦你这样做了,你想把 energyCell.getEnergyStored 和 energyCell.getMaxEnergyStored “未知”而不是“顶部”

于 2014-10-31T07:16:47.937 回答