Array im Array

Hier ist der ideale Ort um über Scripts und Mods für X²: Die Bedrohung zu diskutieren.

Moderators: Scripting / Modding Moderators, Moderatoren für Deutsches X-Forum

Deleted User

Array im Array

Post by Deleted User »

Frage an die Scripter unter euch. Ist sowas Möglich (siehe Titel) oder verschwende ich nur Zeit wenn ich sowas versuche?
ticaki
Posts: 4861
Joined: Wed, 6. Nov 02, 20:31
x3

Post by ticaki »

geht deshalb-> :nö: du verschwendest keine Zeit. :D

Gruß ticaki :roll:
Last edited by ticaki on Sun, 12. Dec 04, 21:17, edited 1 time in total.
Zur Zeit nicht aktiv
Deleted User

Post by Deleted User »

Warum so klein geschrieben? Gibts da ein Trick den man wissen muss?
ticaki
Posts: 4861
Joined: Wed, 6. Nov 02, 20:31
x3

Post by ticaki »

:nö: bin nur gerade fies drauf... ich habs nochmal editiert damit es klarer wird :D

Gruß ticaki
Zur Zeit nicht aktiv
Deleted User

Post by Deleted User »

Jetz blicke ich gar nich mehr durch :gruebel:
ticaki
Posts: 4861
Joined: Wed, 6. Nov 02, 20:31
x3

Post by ticaki »

ES GEHT!

Gruß ticaki :roll:
Zur Zeit nicht aktiv
Deleted User

Post by Deleted User »

Ok, ist aber nicht so einfach wie bei anderen Programmierspachen wie C++ wo man einfach Mehrdimensionale Array so angibt: Array[Dim1][Dim2][Dimx]

Hast du mal ein Tipp für mich? Speichern ging ja noch mit dem "append" aber ich bekomme das nicht mehr ausgelesen. Habs schon mit "copy array" versucht aber das führte auch nicht zum Glück - oder ich bin zu blöd dafür :roll:

Hier mal ein Ausschnitt:

Code: Select all

008   $temp[0] = 125 MW Schild
009   $temp[1] = 10
010   append $temp to array $wts.warelist
011   $temp[0] = Alpha Photonenimpulskanone
012   $temp[1] = 4
013   append $temp to array $wts.warelist
014   
015   $wts.warelist.size =  size of array $wts.warelist
016   $logmsg = sprintf: pageid=8472 textid=101, $playername, null, null, null, null
017   if $wts.warelist.size
018    while $wts.warelist.size
019     dec $wts.warelist.size = 
020     $data =  array alloc: size=2
021     $data = $wts.warelist[$wts.warelist.size]
022     $ware = $data[0]
023     $nr = $data[1]
024     $temp = sprintf: pageid=8472 textid=102, $ware, $nr, null, null, null
025     $logmsg = $logmsg + $temp
026    end
027   else
028    $temp =  read text: page=8472 id=103
029    $logmsg = $logmsg + $temp
030   end
Zeile 8-13 ist nur zum Testen eingefügt. Normalerweise lokale Variable.
Zeile 20 war ein Test. Geht weder mit noch ohne.
ArcaJeth
Posts: 2245
Joined: Mon, 10. Nov 03, 18:22
x3tc

Post by ArcaJeth »

... also ich seh da im Moment keinen Fehler, lass dir nach Zeile 21 am besten mal data ausgeben ("write to player logbook $data") und nach Zeile 14 mal $wts.warelist ... Arrays werden richtig schön dargelegt :)
ticaki
Posts: 4861
Joined: Wed, 6. Nov 02, 20:31
x3

Post by ticaki »

*ArcaJeth mal ne Brille geb*

Dort oben die Arrays werden nicht initialisiert. Du must diesen erstmal Speicher mit array alloc:=2 zuweisen damit du sie mit daten füllen kannst.
Das muß für jedes Unterarray aufgerufen werden.

Gruß ticaki
Zur Zeit nicht aktiv
ArcaJeth
Posts: 2245
Joined: Mon, 10. Nov 03, 18:22
x3tc

Post by ArcaJeth »

Da der Code mit Zeile 8 beginnt nahm ich an, dass das in den ersten 7 Zeilen passiert ist ;)
Deleted User

Post by Deleted User »

Also bei 007 und zwischen 010 und 011

Code: Select all

$temp=  array alloc: size=2
und das solls gewesen sein?
Muss die Zeile 020 bleiben oder kann die weg?
ticaki
Posts: 4861
Joined: Wed, 6. Nov 02, 20:31
x3

Post by ticaki »

Nein, Zeile 20 kann weg.

ArcaJeth[D6a] wrote:Da der Code mit Zeile 8 beginnt nahm ich an, dass das in den ersten 7 Zeilen passiert ist ;)
Gute Ausrede aber nicht gut genug. :P

Code: Select all

008   $temp[0] = 125 MW Schild
009   $temp[1] = 10
010   append $temp to array $wts.warelist
011   $temp[0] = Alpha Photonenimpulskanone
012   $temp[1] = 4
zwischen zeile 010 und 011 muß ein array alloc sonst geht das nicht ;)

Gruß ticaki
Zur Zeit nicht aktiv
Deleted User

Post by Deleted User »

Meine Helden :D. Es funktioniert nun. Ich Danke euch beiden 8)

Return to “X²: Die Bedrohung - Scripts und Modding”