Dein Print ist falsch, da fehlt die 4. Koordinate.
printf("Created: %d | ID: %d | pos: %f,%f,%f,%f | j: %d | content: %s", gZone[j][zCreated], gZone[j][zID], gZone[j][zPos][0], gZone[j][zPos][1], gZone[j][zPos][2], gZone[j][zPos][3], j, gZone[j][zName]);
So.
Dies habe ich bereits ausgebessert.
Jetzt printet er es richtig, halt 2x.
1x wurde die Zone sogar erstellt, jetzt iwi nicht mehr!
Quellcode:
public LoadGFZonesFromDB()
{
cache_get_data(num[0], num[1], dbhandle);
if(num[0]!=-1&&num[0]!=0)
{
static j;
for(;j<sizeof(gZone);j++)
{
if(gZone[j][zCreated])continue;
if(!strcmp(gZone[j][zName], "Ballas", true))continue;
gZone[j][zPos][0] = cache_get_field_content_float(0, "zX", dbhandle);
gZone[j][zPos][1] = cache_get_field_content_float(0, "zY", dbhandle);
gZone[j][zPos][2] = cache_get_field_content_float(0, "zZ", dbhandle);
gZone[j][zPos][3] = cache_get_field_content_float(0, "zA", dbhandle);
gZone[j][zID] = GangZoneCreate(gZone[j][zPos][0], gZone[j][zPos][1], gZone[j][zPos][2], gZone[j][zPos][3]);
format(gZone[j][zName], 45 + 5, "Ballas");
gZone[j][zCreated] = true;
printf("Created: %d | ID: %d | pos: %f,%f,%f,%f | j: %d | content: %s", gZone[j][zCreated], gZone[j][zID], gZone[j][zPos][0], gZone[j][zPos][1], gZone[j][zPos][2], gZone[j][zPos][3], j, gZone[j][zName]);
if(j == num[0])break;
}
}
return 1;
}
Print:
[16:02:03] Created: 1 | ID: 0 | pos: 1520.010009,-1592.219970,1422.010009,-1718.219970 | j: 0 | content: Ballas
[16:02:03] Created: 1 | ID: 1 | pos: 1520.010009,-1592.219970,1422.010009,-1718.219970 | j: 1 | content: Ballas
mfg ![]()