Grundregel: Du kannst nur einem Array ein Array übergeben. Dein Code mit _grp muss scheitern, wie auch dein Beispiel davor, weil _grp vom Typ Gruppe ist und damit nix mit einem Array zu tun hat (auch wenn du eine Gruppe in ein Array schreiben kannst).
Also eine Lösung wäre jetzt, wieder ganz formal ohne jeden Hintergrund deines Skriptes, dazu habe ich keine Zeit zum Einarbeiten sorry:
In der Tat ist das Beispiel etwas komplexer, ich sehe deine Probleme. Ich hatte bei meinem ersten Beispiel auch nur einen dynamischen Zähler generiert, der hatte natürlich noch nicht die erzeugte Gruppe gespeichert.
Nehme die Code-Teile von Vienna:
Code:
... // Parameter von Vienna
_grpArray = []; //leeres Array für die Gruppen
for "_i" from 1 to _grpanz do
{
call compile format ["_grp%1",_i] = createGroup west; // hier wird der Datentyp von _grp festgeleg, gleichzeitig lassen wir aber den Bezeichner dynamisch mitlaufen.
... // der ganze andere Code
// Jetzt zum Thema Gruppe speichern:
_grpArray set (count _grpArray, call compile format ["_grp%1",_i]);
}
Ich hoffe das stimmt so, habe keine Möglichkeit, das eben im Spiel zu testen. Das Problem mit format ist: es liefert einen String. Ich kann aber nicht die Gruppen-ID oder Referenz in einen String speichern, nur in eine Variable, daher der Code "call compile", um den String quasi erst auszuführen, was ja _grp1, _grp2 usw. liefert. Anschließend speichern wir die aktuell erzeugte ID in das Array _grpArray, dass außerhalb definiert sein muss, sonst wäre es nur im for-Schleifenblock bekannt. Ich bin mir nur nicht sicher, ob die _grp1, _grp2 usw. im Array erhalten bleiben, da diese eigentlich nur innerhalb der for-Schleife gültig sind, aber da sie ja in ein Array geschrieben werden, müsste es klappen.
Ich hatte auch die Idee, das ganze ohne format zu machen, da es eigentlich reichen müsste, direkt
_grpArray set (count _grpArray, _grp) zu schreiben. Allerdings wird die Variable _grp ja bei jedem Durchlauf neu ersetzt, daher weiß ich nicht, ob es damit Probleme gäbe. Aber so wäre prinzipiell der Lösungsansatz