Код:
case LOADCRATE_THREAD:
{
for(new i; i < rows; i++)
{
new crateid, szResult[32], string[128];
cache_get_field_content(i, "id", szResult, MainPipeline); crateid = strval(szResult);
cache_get_field_content(i, "Active", szResult, MainPipeline); CrateInfo[crateid][crActive] = strval(szResult);
cache_get_field_content(i, "CrateX", szResult, MainPipeline); CrateInfo[crateid][crX] = strval(szResult);
cache_get_field_content(i, "CrateY", szResult, MainPipeline); CrateInfo[crateid][crY] = strval(szResult);
cache_get_field_content(i, "CrateZ", szResult, MainPipeline); CrateInfo[crateid][crZ] = strval(szResult);
cache_get_field_content(i, "GunQuantity", szResult, MainPipeline); CrateInfo[crateid][GunQuantity] = strval(szResult);
cache_get_field_content(i, "InVehicle", szResult, MainPipeline); CrateInfo[crateid][InVehicle] = strval(szResult);
if(CrateInfo[crateid][InVehicle] != INVALID_VEHICLE_ID)
{
CrateInfo[crateid][crActive] = 0;
CrateInfo[crateid][InVehicle] = INVALID_VEHICLE_ID;
}
if(CrateInfo[crateid][crActive])
{
CrateInfo[crateid][InVehicle] = INVALID_VEHICLE_ID;
CrateInfo[crateid][crObject] = CreateDynamicObject(964,CrateInfo[crateid][crX],CrateInfo[crateid][crY],CrateInfo[crateid][crZ],0.00000000,0.00000000,0.00000000);
format(string, sizeof(string), "Serial Number: #%d\n High Grade Materials: %d/50", i, CrateInfo[i][GunQuantity]);
CrateInfo[crateid][crLabel] = CreateDynamic3DTextLabel(string, COLOR_ORANGE, CrateInfo[crateid][crX],CrateInfo[crateid][crY],CrateInfo[crateid][crZ]+1, 20.0, _, _, 1, 0, 0, _, 20.0);
}
}
print("[LoadCrates] Loading Crates Finished");
mysql_SaveCrates();
}
}
return 1;
}
What's the size of CrateInfo enum? You are probably exceeding maximum ID that a crate can have.
Could you show us your CrateInfo initialisation? Looks like there are more rows than CrateInfo rows, or there is some string with length smaller than info you want to put in it.