Das Forum ist read-only und nur noch zu Archivzwecken vorhanden. Neue Benutzer werden nicht mehr freigeschalten.
Benutzt bitte unser aktuelles Forum: http://www.battle-planet.de/pbp/main/forum_neu.php
Damit kann man einer Einheit o.ä. mehrere IDs zuweisen wenn ich zum Beispiel den alten Nashornpanzer hab und einen neuen erstelle dann könnte ich den alten mit der neuen Definition in einem neuen ID Bereich benutzen ohne den alten auf allen Karten austauschen zu müssen.
Also Id = 1 und Secondary ID = 2 dann kann ASC den Panzer unter 1 und 2 finden.
Bei Objekten machts meistens mehr sinn da Einheiten normalerweise einfach editiert werden und fertig.
Na ich habe eher das Problem, dass ich die IDs der Einheiten in einen anderen ID Bereich verschiebe und Karten habe in denen die Einheiten noch im alten ID Bereich sind. Kann ich diese Karten mit Hilfe von secondaryID konvertieren? D.h. - Id = neue ID - secondaryID = alte ID - Karte mit alten ID laden - Karte neu speichern => Karte wird mit neuen IDs gespeichert?
Die Secondary ID ist eigentlich für das fortenwickeln von Unitsets. Mal ein Beispiel:
Es gibt im MK1 die Baueinheiten: - Vesuvius (ID 12) - Ant (ID 26) - MBV (ID 85)
Wenn der Unitset-Maintainer zum Schluss käme, dass sich das nicht bewährt hat und man auch mit 1 Baueinheit auskäme, dann könnte er: - eine neue Baueinheit 'OberBauer' erstellen (ID 123) - bei diesem die SecondaryIDs 12, 26, 85 eintragen - die Einheiten Vesuvius, Ant, MBV löschen.
Wird nun eine Karte oder ein Savegame geladen, die eine der gelöschten Einheiten erhält, wird stattdessen ein 'OberBauer' auf die Karte gesetzt. Speichert man die Karte ab, wird dort der SuperBauer abgespeichert und man kann nicht mehr erkenne, dass es ursprünglich unterschiedliche EinheitenTypen waren.
Damit hat man einen Mechanismus, Einheitentypen zusammenzufassen. Für ObjektTypen, Bodentypen und GebäudeTypen funktioniert das genauso.
Es gibt nun noch eine weitere Technik, um Einheiten auszutauschen: die UnitSet-Transformation bzw. MapTranslation (die beide funktionieren ähnlich).
Wieder ein Beispiel:
Gegeben ist eine Karte mit MK1-Einheiten. Darunter ein Follow (ID 83) Weil man eine andere Spielweise mal ausprobieren will, definiert jemand neue Einheiten, nennen wir sie MK1ha Dort gibt es statt des Follow die Einheit 'Kastrierter Follow' (ID 6083) Nun schreibt man in die Map-Transformation:
VehicleTranslation = [ 83 6083 ]
Lässt man diese MapTransformation über die Karte laufen, werden alle Follows gegen kastrierte Follows ausgetauscht. Den alten Follow gibts aber weiterhin und er kann auf den anderen Karten benutzt werden. Man kann natürlich auch nach der Transformation wieder alte Follows auf die Karte setzen und die alten gegen die kastrierten kämpfen lassen.
Auch das gilt für Objekte, Gebäude und Bodentypen genauso
Wie kann ich denn im Map-Editor feststellen, welche ID das Feld unter dem Cursor hat ? Viele (gerade Terrain) Felder sehen sich so ähnlich, dass man nicht weiss, welches es nun genau ist. Noch schöner wäre es, wenn ich irgend wie das Feld unterm Cursor zum aktiven Feld machen könnte, was man dann auch auf andere Felder setzen könnte.
Zitat von ValHarisDie Secondary ID ist eigentlich für das fortenwickeln von Unitsets. Mal ein Beispiel:
Es gibt im MK1 die Baueinheiten: - Vesuvius (ID 12) - Ant (ID 26) - MBV (ID 85)
Wenn der Unitset-Maintainer zum Schluss käme, dass sich das nicht bewährt hat und man auch mit 1 Baueinheit auskäme, dann könnte er: - eine neue Baueinheit 'OberBauer' erstellen (ID 123) - bei diesem die SecondaryIDs 12, 26, 85 eintragen - die Einheiten Vesuvius, Ant, MBV löschen.
Wird nun eine Karte oder ein Savegame geladen, die eine der gelöschten Einheiten erhält, wird stattdessen ein 'OberBauer' auf die Karte gesetzt. Speichert man die Karte ab, wird dort der SuperBauer abgespeichert und man kann nicht mehr erkenne, dass es ursprünglich unterschiedliche EinheitenTypen waren.
Damit hat man einen Mechanismus, Einheitentypen zusammenzufassen. Für ObjektTypen, Bodentypen und GebäudeTypen funktioniert das genauso.
Es gibt nun noch eine weitere Technik, um Einheiten auszutauschen: die UnitSet-Transformation bzw. MapTranslation (die beide funktionieren ähnlich).
Wieder ein Beispiel:
Gegeben ist eine Karte mit MK1-Einheiten. Darunter ein Follow (ID 83) Weil man eine andere Spielweise mal ausprobieren will, definiert jemand neue Einheiten, nennen wir sie MK1ha Dort gibt es statt des Follow die Einheit 'Kastrierter Follow' (ID 6083) Nun schreibt man in die Map-Transformation:
VehicleTranslation = [ 83 6083 ]
Lässt man diese MapTransformation über die Karte laufen, werden alle Follows gegen kastrierte Follows ausgetauscht. Den alten Follow gibts aber weiterhin und er kann auf den anderen Karten benutzt werden. Man kann natürlich auch nach der Transformation wieder alte Follows auf die Karte setzen und die alten gegen die kastrierten kämpfen lassen.
Auch das gilt für Objekte, Gebäude und Bodentypen genauso
Naja, mir scheint der zweite Weg, der etwas bessere zu sein, obwohl sie beide Nachteile haben: - Die secondaryID muesste in die neuen Einheiten rein, wo sie aber eigentlich nichts zu suchen hat, da der alte ID-Bereich evakuiert werden soll. Fossilien in Form von secondaryID sind da nicht so toll. - Die Maptransformation hat den Vorteil das sie in einer separaten Datei steht, also nach Bedarf benutzt werden kann. Der Nachteil ist, dass das alte Set geladen sein muss. Sonst oeffnet der Mapeditor die Karte erst gar nicht, was beabsichtigt ist, wie mir mbickel versichert hat.