Lua скрипт не принимает аргументы

Я пытался заставить работать проектор голограммы, но столкнулся с этими ошибками:

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

но это не работает. Я проверил правописание. Также голограмма правильно инициализирована.

1 ответ

Решение

Эта ошибка означает, что некоторая функция (какова остальная часть ошибки?), Которая ожидала получить три аргумента, получила только два.

Учитывая этот фрагмент кода, единственная функция, которую я могу видеть, к которой это может относиться, hologram.get,

Что, если взглянуть на документацию (спасибо Google), на самом деле, по-видимому, требует трех аргументов.

get(x:number, y:number, z:number):number
Returns the value at the specified position.
Другие вопросы по тегам