21.10.2013, 15:38 | #81 (permalink) |
Deine Variante mit format ist soweit die richtige Idee, nur kannst du schlecht die Gruppe als %1 übergeben, diese ist ja ein ganz anderes Objekt, du willst ja eine fortlaufende Zahl! Mit anderen Worten:
Du erzeugst mit dem Befehl _grp = format ["_grp%1",_i] innerhalb einer for-Schleife mit der Variablen _i genau das: _grp1, _grp2, _grp3 usw. Ohne jetzt den weiteren Code zu kennen Aber Achtung: Im Moment überschreiben wir stets die äußere Hilfsvariable _grp. Also hast du am Ende 100 mal _grp überschrieben, das muss natürlich noch z.B: in ein Array geschrieben werden, um auf alle Dinge zugreifen zu können |
|
21.10.2013, 20:06 | #82 (permalink) |
Registriert seit: 15.05.2011
Beiträge: 1.109
|
Jo, das mit dem Array hatte ich auf vor, nur irgendwie scheitere ich daran.
Ich dachte ich kann dann den Array ungefähr so erzeugen _gruppen = _grp+[format["_grp%1", (select _i)]] (das hier ist mal völlig aus dem Bauch herraus. Aber so ungefähr habe ich mir das vorgestellt. Sodass ich später mit _gruppen select 0... 5.... usw darauf zugreifen kann. Oder wie übergibt man die in einen Array? Oder kann ich in der for Schleife gleich ohne Hilfsvariable arbeiten. Also direkt format ["_grp%1",_i] = create group west ? |
21.10.2013, 22:22 | #83 (permalink) |
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 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 |
|
22.10.2013, 08:35 | #84 (permalink) |
Registriert seit: 15.05.2011
Beiträge: 1.109
|
Trotzdem dickes Danke für die Hlife. Ich werde es testen.
Das mit dem CallCompile-Befehl hatte ich gelesen, wußte aber nicht wie ich dne richtig anwenden muss. Du hast mir aber schon sehr weit geholfen. Durch den Rest "wurschtel" ich mich durch |
Stichworte |
script erstellen, scripting |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
2 Fragen zum Little Bird "MH-6J" | Sol.LrMartyn | Editing & Scripting | 6 | 30.01.2013 17:42 |
A3, new scripting technology | Xeno | Community | 37 | 03.03.2012 20:07 |
Lua Scripting Bücher und Einführung gesucht | JoeJoe87577 | Hilfe | 3 | 22.08.2011 01:22 |
Diverse Fragen.... | Mafmaf | Editing & Scripting | 52 | 21.11.2010 21:29 |
Einige Fragen | gedanke. | Editing & Scripting | 4 | 31.08.2010 19:53 |