Hallo
Ich bin irgendwie grad etwas am Verzweifeln. Ich möchte einen Integer und 4 Floatwerte aus einer Date auslesen und mit dieser dann eine Gangzone erstellen. Wenn och einfach so im Kopfbereich des OnGameModeInit eine vom System unabhängige Zone erstelle und sie anzeigen lasse, geht dies. Wenn ich jedoch mit meinem System eine laden möchte, kommt garnichts. Es liegt anscheinend an der if(gop... Abfrage, da ich darüber eine Gangzone gemacht habe und diese ging (keine Systemgangzone). Ich weiss nicht, der Datepfad sollte stimmen, auch der Aufbau.
Die Farbe wird aus einem Array ausgelesen, jedoch kann es daran nicht liegen, da er überhaupt nicht bis zum printf vorher kommt. Wäre um Hilfe sehr froh.
#define GangZoneDatei "Zones/Gangzones.ini"
//Gangzonen
new GFraktion,Float:GKoord1,Float:GKoord2,Float:GKoord3,Float:GKoord4;
new File:gop = fopen(GangZoneDatei,io_read);
new geingabe[256];
if(gop)
{
while(fread(gop,geingabe))
{
printf(geingabe);
sscanf(geingabe,"p<,>iffff",GFraktion,GKoord1,GKoord2,GKoord3,GKoord4);
printf(geingabe);
GangZoneInfo[ZoneAmount][gFraktion] = GFraktion;
GangZoneInfo[ZoneAmount][gFarbe] = FraktionColor[GFraktion][0];
GangZoneInfo[ZoneAmount][gKoord1] = GKoord1;
GangZoneInfo[ZoneAmount][gKoord2] = GKoord2;
GangZoneInfo[ZoneAmount][gKoord3] = GKoord3;
GangZoneInfo[ZoneAmount][gKoord4] = GKoord4;
printf("Frak: %d",GFraktion);
printf("K1: %f",GKoord1);
printf("K2: %f",GKoord2);
printf("K3: %f",GKoord3);
printf("K4: %f",GKoord4);
GangZoneInfo[ZoneAmount][gZoneID] = GangZoneCreate(GangZoneInfo[ZoneAmount][gKoord1],GangZoneInfo[ZoneAmount][gKoord2],GangZoneInfo[ZoneAmount][gKoord3],GangZoneInfo[ZoneAmount][gKoord4]);
ZoneAmount ++;
SendClientMessageToAll(COLOR_GREEN,"Gangzone geladen");
}
fclose(gop);
}
Inhalt der Datei:
10,1379.583, -1634.489, 1748.458, -1413.416
10,1820.712, -1610.802, 2345.503, -1429.206
10,1775.078, -2001.629, 2041.276, -1638.437
Nachtrag:
Die Gangzones werden per Public gepaintet, teste grad eine etwas umgebaute Version
Edit: Dateiinhalt hinzugefügt
Edit 2: Nachtrag
MfG dUDA