Lua script wont accept args

1.9k Views Asked by At

I was trying to get an hologram projector working, but in run into these errors:

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

My script is:

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])

I used:

holo-set 8 16 20 true

The print commands returned:

8
16
20
true

but its not working. I have checked the spelling. Also the hologram is correctly initialized.

1

There are 1 best solutions below

0
Etan Reisner On BEST ANSWER

That error means some function (what's the rest of the error?) which expected to get three arguments only got two.

Given that code snippet the only function I can see to which that might apply is hologram.get.

Which, given a quick look at the documentation (thank you Google), does in fact appear to require three arguments.

get(x:number, y:number, z:number):number
Returns the value at the specified position.