Aber Tasks bieten sich ja auch immer noch an

Jetzt ist es mir klar geworden, trotzdem danke.
Moderators: Scripting / Modding Moderators, Moderatoren für Deutsches X-Forum
Mh, das wusste ich bisher auch nicht.<RefObj> is ignored unless you use START.
Nicht vollkommen egal. Obwohl das aufgerufene Skript beim Aufrufer weiterläuft, ist [THIS] innerhalb des Skripts das <RefObj>.aufrufe, es volkommen egal ist, was ich als $Object habe und es sowieso auf [THIS] gestartet wird?
Mir fällt jetzt ehrlich gesagt auch keine sinnvolle Verwendung ein, die man nicht auch durch explizites übergeben des Referenzobjekts lösen könnte.wofür willst du denn ein anderes Script auf einem anderen Objekt aufrufen?
Code: Select all
$time = playing time
Code: Select all
[PLAYERSHIP] -> add 1 units of Hauptquartier Bauteilsatz
Code: Select all
$ware = Hauptquartier
[PLAYERSHIP] -> add 1 units of $ware
Ich hab es ja mit 'clone' probiert aber das funzt so nicht.Wie kann ich es anstellen das die Daten erst nach einer Bestätigung übernommen werden. Kopieren oder Klonen bringt immer das gleiche.
Code: Select all
001 $pageid = 8822
002 load text: id=$pageid
003
004 $template.config = get global variable: name='ship.upgrades.config.tempships'
005 $tempship.warelist = get global variable: name='ship.upgrades.tempship.warelist'
006 $temp.ship.array = $template.config[0]
007 $template.ship = $template.config[1]
...
018 $cnt = get index of $template.ship in array $temp.ship.array offset=null + 1
019 $warelist = $tempship.warelist[$cnt]
020 $zaehler.max = size of array $warelist
021 $new.warelist = array alloc: size=0
022 *copy array $warelist index 0 ... $zaehler.max into array $new.warelist at index 0
023 $new.warelist = clone array $warelist : index 0 ... $zaehler.max
Code: Select all
020 $zaehler.max = size of array $warelist
021 $new.warelist = array alloc: size=0
022 $cnt = 0
023 while $cnt < $zaehler.max
024 |$ware = $warelist[$cnt][0]
025 |$ware.anz = $warelist[$cnt][1]
026 |$sub = create new array, arguments=$ware, $ware.anz, null, null, null
027 |append $sub to array $new.warelist
028 |inc $cnt =
029 end
Deswegen habe ich ja "sollte" geschrieben.Ich hab es ja mit 'clone' probiert aber das funzt so nicht.
"clone array" kopiert nur stupide die Elemente eines Array in ein anderes. Wenn die Elemente jeweils wieder Arrays sind, hast du weiterhin das Problem, dass Änderungen eines Sub-Arrays auch im ursprünglichen Sub-Array gemacht werden (es ist ja schließlich das gleiche Array).Danach verändere ich ein paar Daten mit '<Var/Array>[<Var/Number>][<Var/Number>] = <Value> '
Code: Select all
* Aus util.clone.array
009 $count = size of array $source
010 $end = $count - 1
011 $array = = clone array $source : index 0 ... $end
012
013 while $count
014 |dec $count =
015 |
016 |$element = $source[$count]
017 |if is datatyp[ $element ] == DATATYP_ARRAY
018 @ ||$cloneElement = [THIS] -> call script 'util.clone.array' : source=$element
019 ||$array[$count] = $cloneElement
020 |end
021 @ | = wait 1 ms
022 end
023
024 return $array