1

我试图让全息投影仪工作,但遇到了这些错误:

bad arguments #3 (number expected, got no value)

我的脚本是:

local component = require("component")
local hologram = component.hologram

function setVoxel(x, y, z, value)
  print(x)
  print(y)
  print(z)
  print(value)
  local current = hologram.get(x, z)
  local positiveMask = bit32.lshift(1, y - 1)
  if value then
    hologram.set(x, z, bit32.bor(current, positiveMask))
  else
    local negativeMask = bit32.bnot(positiveMask)
    hologram.set(x, z, bit32.band(current, negativeMask))
  end
end

local args = {...}
print(args[1])
print(args[2])
print(args[3])
print(args[4])
setVoxel(tonumber(args[1]), tonumber(args[2]), tonumber(args[3]), args[4])

我用了:

holo-set 8 16 20 true

返回的打印命令:

8
16
20
true

但它不工作。我检查了拼写。全息图也被正确初始化。

4

1 回答 1

1

该错误意味着某些函数(错误的其余部分是什么?)期望获得三个参数只有两个。

鉴于该代码片段,我能看到的唯一可能适用的函数是hologram.get.

快速浏览一下文档(感谢 Google),实际上似乎需要三个参数

get(x:number, y:number, z:number):number
Returns the value at the specified position.
于 2014-08-07T15:15:25.167 回答