You can only set an array to another array of equal or lesser size.
You can't mix dimensions.
Code:
new var; // 0 dimensions
new var2[10]; // 1 dimension
new var3[10][10]; // 2 dimensions
// etc.
var = var2; // invalid (var=0dim, var2=1dim)
var = var3; // invalid (var=0dim, var3=2dim)
var2 = var; // invalid (var2=1dim, var=0dim)
var2 = var3; // invalid (var2=1dim, var3=2dim)
var3 = var; // invalid (var3=2dim, var=0dim)
var3 = var2; // invalid (var3=2dim, var2=1dim)
When you index an array, you remove 1 dimension.
Code:
var = var2[0]; // valid (var=0dim, var2[0]=0dim)
var = var3[0][0]; // valid (var=0dim, var3[0][0]=0dim)
var2[0] = var; // valid (var2[0]=0dim, var=0dim)
var2 = var3[0]; // valid (var2=1dim, var3[0]=1dim)
var2[0] = var3[0][0]; // valid (var2[0]=0dim, var3[0][0]=0dim)
var3[0] = var2; // valid (var3[0]=1dim, var2=1dim)
var3[0][0] = var; // valid (var3[0][0]=0dim, var=0dim)
var3[0][0] = var2[0]; // valid (var3[0][0]=0dim, var2[0]=0dim)
Examples:
Code:
new iPlayers[32]; // iPlayers is 1dim array
//get_players()...
new iPlayer = iPlayers[0]; // iPlayer is 0dim variable, iPlayers[0] gets a 0dim variable because it removes 1 dimension.
Code:
new szNames[33][32]; // array of all player name arrays = 2dim
new szName[32]; // player name array = 1dim
szName = szNames[0]; // szName=1dim, szNames[0]=1dim because it is indexes so 1 dimension is removed
__________________