So it was a bug then.
That drove me nuts for a good hour or so before I knew it couldn't be me.
And this 0-indexed / 1-indexed issue needs sorting.
I've used 0-inexed arrays for years, but I'm quite happy to use 1-indexed arrays if we have to, as long as it's clearly marked as such, and that the build is actually using what they say.
Thanks for the example using "for each element" too.
That's a much cleaner way of doing things.
EDIT: Looking again at your example, it checks the value of z, rather than the the contents of the array at z, and I thought that I might suffer the same problem with the array when trying to read the contents.
But luckily, using something like "Array(Array.CurrentX, Array.CurrentY, 3)" does read the contents of Z..........BUT.......
......it appears that the arrays are using both 0-indexing and 1-indexing. One for reading and one for writing.
For instance, if you set array(10,10,5) to 1, when you check the array for a stored 1, it will find it at array(9,9,4).
It's a display bug in Construct, although you did have me wondering.
When edited in Construct, it shows a quote each side of the letter, and when committed, it displays that odd character again.