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.