Ich habe Ein Objekt Flotte, daß eine ds_list mit einzelnen Schiffen enthält. Wird die Flotte aufgeteilt, erstellt dieses (fehlerhafte?) Skript eine weitere Flotte....
Die GML gibt's hier
Da kann man sehen, daß die Flotten nicht richtig aufgeteilt werden
(zu Testen einfach Scouts produzieren und mit Keypad+ das Tempo auf max stellen)
Alles anzeigen
Die GML gibt's hier
Da kann man sehen, daß die Flotten nicht richtig aufgeteilt werden
(zu Testen einfach Scouts produzieren und mit Keypad+ das Tempo auf max stellen)
GML-Quellcode
- // "split_fleet"
- //called by obj_fleet on global_left pressed event
- // argument0: Zielsystem
- left=0;
- for (i=0;i<ds_list_size(list);i+=1) if leave[i] left+=1 // ausgewählte Schiffe zählen -
- // leave[i] wird vom Objekt ckicktext_c gesetzt
- if ! ( left=0 || left=i) // nicht keins oder alle Schiffe ausgewählt , also splitten
- {
- fleet_info(id) // Klicktexte löschen
- // neue Flotte (für nicht ausgewählte Schiffe) erstellen :
- dang = instance_create(x,y,obj_fleet)
- ds_list_add(lord.flotte,dang) // lord = spieler
- dang.lord = lord
- dang.index = lord.fleet
- lord.fleet += 1
- dang.sys = sys // aktuelles System wenn im Orbit (-1 wenn nicht)
- dang.target = target // neuer Flotte altes Zielsystem zuweisen
- dang.col = lord.colo // Farbe
- dang.list = ds_list_create() // hier werden die einzelnen Schiffe reingeschrieben
- for (i=0;i<ds_list_size(list);i+=1) // list_size : Anzahl Schiffe
- if leave[i] // Schiff ausgewählt
- {
- ds_list_add(dang.list,ds_list_find_value(list,i)) // Schiff aus alter Flotte(list) zu neuer Flotte(dang.list) hinzufügen
- ds_list_delete(list,i) // aus alter Flotte entfernen
- }
- for (i=0;i<ds_list_size(list);i+=1) leave[i]=0 // Schiff-Auswahl löschen
- }
- target=argument0 // neues Zielsystem zuweisen