25.07.2014, 10:17
Hola estoy haciendo un sistema de casas y tengo problemas para llenar un array con los huespedes.
VALOR HUESPEDES: Pepito_Manolo,Pepe,Juancito_Pawn,Pablito_Clavito,Jaimito,Josesito
Quiero que mi array sea: CasaInfo[ID_DE_CASA][ID_DE_HUESPED][Huesped]
EJ:
- CasaInfo[4][2][Huesped] <- En la casa ID 4 recupero el Huesped ID 2 (Juancito_Pawn)
- CasaInfo[4][5][Huesped] <- En la casa ID 4 recupero el Huesped ID 5 (Josesito)
El problema es con el array multi-dimensional....
VALOR HUESPEDES: Pepito_Manolo,Pepe,Juancito_Pawn,Pablito_Clavito,Jaimito,Josesito
Quiero que mi array sea: CasaInfo[ID_DE_CASA][ID_DE_HUESPED][Huesped]
EJ:
- CasaInfo[4][2][Huesped] <- En la casa ID 4 recupero el Huesped ID 2 (Juancito_Pawn)
- CasaInfo[4][5][Huesped] <- En la casa ID 4 recupero el Huesped ID 5 (Josesito)
pawn Код:
#define MAX_HUESPEDES 5 // Maximo de huespedes dinamico.
enum cInfo
{
Huespedes[126],
Huesped[MAX_HUESPEDES],
}
new CasaInfo[MAX_CASAS][cInfo];
public CargarCasasInfo()
{
new fila, campo;
cache_get_data(fila, campo, MySQL);
if (fila)
{
for (new idx = 0; idx < fila; idx++)
{
cache_get_field_content(idx, "Huespedes", CasaInfo[idx][Huespedes], MySQL, 255); // Trae "Pepito_Manolo, Pepe, Juancito_Pawn, Pablito_Clavito, Jaimito".
while (CasaInfo[idx][Huesped] < MAX_HUESPEDES)
{
split(CasaInfo[idx][Huespedes], CasaInfo[idx][Huesped], ',');
CasaInfo[idx][Huesped]++;
}
}
}
return 1;
}
// La funcion split separa los valores entre las comas.
stock split(const strsrc[], strdest[][], delimiter)
{
new i, li;
new aNum;
new len;
while(i <= strlen(strsrc))
{
if(strsrc[i] == delimiter || i == strlen(strsrc))
{
len = strmid(strdest[aNum], strsrc, li, i, 128);
strdest[aNum][len] = 0;
li = i+1;
aNum++;
}
i++;
}
return 1;
}
Код:
D:\Respaldo 2014\D79 2014\gamemodes\D79.pwn(1563) : error 048: array dimensions do not match Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 1 Error. Linea 1563: split(CasaInfo[idx][Huespedes], CasaInfo[idx][Huesped], ',');