Jetzt hat mich das aber auch interessiert was da los ist mit dem StringSplit().
Also kleines Testscript gebaut und schon ist alles klar.
Das Array wird
nicht ReAlloziert.
Ist es statisch zu klein, ergibt das einen Fehler.
Ist es statisch zu groß, passiert nix.
Das beste ist, das Array von Stringsplit() dynamisch allozieren zu lassen.
Hier das TestScript: Teste das Feld statisch: Feld[3], Feld[7] und dynamisch Feld[]
Code:
void OnStart()
{
string Feld[];
string Zeichenkette="0,1,2,3,4";
Print("ArraySize is ",ArraySize(Feld));
int count=StringSplit(Zeichenkette,StringGetCharacter(",",0),Feld);
Print("ArraySize is ",ArraySize(Feld));
Print(count," Elements found");
if(count<0)
{
Print("a *ERROR* oh Kurt, Array is too small!");
return;
}
for(int i=0; i<count; i++) // IndexMax = count-1
Print(Feld[i]);
}
Ich denke das beseitigt alle Unklarheiten.
Grüße Otto