You can initialize multidimensional arrays by proving sub-arrays. Hope you dont mind, i changed the dimensions in the examples out of laziness.
pawn Код:
new crap3[3] = {0xFF, ... }; // 1D
new crap[3][5] = {{0xFF, ...}, {0xFF, ...}, {0xFF, ...}};
new crap2[3][3][5] = {{{0xFF, ...}, {0xFF, ...}, {0xFF, ...}}, {{0xFF, ...}, {0xFF, ...}, {0xFF, ...}}, {{0xFF, ...}, {0xFF, ...}, {0xFF, ...}}};
You can see that initializing arrays can get quite long when you keep adding dimensions. You can use the ellipsis on constant data (like 0xFF), but you cant use it to filling an array with a sub-arrays that also use the ellipsis operator. So the following would be an
invalid initialization.
pawn Код:
//BAD
new crap4[3][5] = {{0xFF, ...}, ...};
As long as the data is constant though, you can use the ellipsis operator. An alternative to the approach we took with initializing crap would be filling out the second dimension (the 5 elements) as apposed to filling out the 3 elements and using the ellipsis.
pawn Код:
new crap[3][5] = {{0xFF,0xFF,0xFF,0xFF,0xFF}, ...};
//as apposed to
new crap[3][5] = {{0xFF, ...}, {0xFF, ...}, {0xFF, ...}};
Edit: "Constant" might not be the best term to use in order to explain this, but its kind of difficult to explain, so deal with it haha.