Banner left   Banner center   Banner right

Germanenglish Home · News · Diary · Screenshots · Documentation (Wiki) · Downloads · Guestbook · Forum

Home · Benutzer registrieren · Suchen · Statistik · FAQ · Benutzerliste

Zur Zeit online: keiner ausser dir

 X-Force - Fight For Destiny - Forum —› Quellcode / Programmierung —› [Alien-Ausrüstungszuordnung] Speicherformat beim Alien

Autor Mitteilung
verfasst am: 13.06.2006, 18:03
Admin, Spielsatz GalWar

Registrierdatum: 31.08.2005, 21:51

 Beiträge: 5595
Die Diskussion in
http://www.xforce-online.de/forum/index.php?action=vthread&forum=4&top ic=1570
dreht sich schon einige Zeit mehr um die Art der Zuweisung im Editor oder eine ähnlich hohen Ebene, in anderen Bereichen scheint man imho grob gleicher Meinung zu sein.

Deshalb mache ich hier mal einen getrennten Bereich zur Detailklärung.
Fest steht das es eine Möglichkeit geben muss, einem Alien eine feste Ausrüstung zuzuweisen. Die Auswahl dieser Ausrüstung kann mehr oder weniger zufällig sein, aber dies soll hier nicht weiter beachtet werden.
Im Bodeneinsatz ist die Ausrüstung auf jeden Fall festgelegt, jeder Zufall muss bis dahin verschwunden sein - und das ist die Speicherebene um die es mir hier geht.

Ich sehe drei verschiedene Ansatzpunkte für die Speicherung.

1.) komplette Einheitendaten
Aktuell wird im TEinsatz lediglich das Alien ohne Ausrüstung addiert, alle Werte für die Einheit und Ausrüstung entstehen erst mit dem Aufruf des Bodeneinsatzes.
Wenn man stattdessen im TEinsatz die Daten der Bodeneinsatz-Einheit inklusive der Fächer für die Hände, Rucksack etc. speichert, dann könnte man diese Einheit X vor dem TEinsatz.addeinheit(X) mit Befehlen wie Lege in rechte Hand, Lege in Gürtel, Lege in Rucksack, Panzerzuweisung etc. komplett ausrüsten.
Der Vorteil dieser Methode besteht darin, das die Daten genauso gespeichert werden wie bei späteren Zugriffen per Kartenskripten im Bodeneinsatz und das man relativ wenig an Datenänderungen vornehmen muss - die Definitionen müssen nur kopiert werden.
Allerdings ist die Zuweisung der Ausrüstung an die Einheit etwas aufwendiger, d.h. die Skripte werden umfassender und die Eingabe per Editor wird unwahrscheinlicher (da auch aufwendiger).

2.) Record eines Ausrüstungspaketes
Es wird dem Alien im TEinsatz ein zusätzlicher Datensatz Ausrüstung zugeordnet und dann mit Befehlen wie Alien.Ausrüstung.Panzerung:=ItemID diese Ausrüstung zugewiesen.
Das Datenpaket besteht dabei aus einer Reihe von Pflichtfeldern wie Panzerung, Waffe, Gürtel sowie einem Array für die Rucksackausrüstung etc.
Der Vorteil hier ist die einfache Skriptzuweisung und das Bodeneinsatzprogramm muss sich dann um die Zuordnung zur Einheit kümmern. Insbesondere dürfte hier die Zuweisung im Editor einfacher zu realisieren sein.

3.) Ausrüstungsliste
Es gibt eine frei definierte Ausrüstungsliste, bei der jedes Element lediglich aus einer Item-ID und einer Anzahl besteht (eventuell auf die Anzahl verzichten und mehrfache ID-Verwendung erlauben).
Der Vorteil hierdrin besteht darin, das man ohne Begrenzung jede Kombination von Gegenständen zuweisen kann und erst das Skript im Bodeneinsatz identifiziert, was aus der Ausrüstungsliste wofür da ist und mit den passenden Befehlen der Einheit zuordnet.
Dies lässt sich schnell umsetzen aber gerade die Ausrüstungszuordnung im Editor würde dann sehr abstrakt ablaufen - nicht jedermans sache.

Was haltet ihr jeweils von diesen Varianten oder seht Ihr noch andere Möglichkeiten?
verfasst am: 04.07.2006, 12:25
Admin, Spielsatz GalWar

Registrierdatum: 31.08.2005, 21:51

 Beiträge: 5595
Ein paar zusätzliche Überlegungen modifizieren die Gedanken oben. Eine Zuordnung beim TAlien klappt nicht, die Zuordnung (egal in welcher der drei Formen sie dann gemacht wird) muss nachträglich in einer Unitliste im TEinsatz geschehen.

D.h. die bestehenden Funktionen arbeiten genauso weiter, aber es wird ein Zugriff auf eine Einheitenliste TEinsatz.Unitlist geschaffen, wo man für jede einzelne addierte Unit anschließend die Ausrüstung ändern kann.

Der Grund hierfür (und das Problem bei einer Zuordnung zu TAlien) ist der Befehl PopulateFromUFO. Bei diesem Befehl hat man keinen Zugriff auf den Zwischenschritt des einzelnen Aliens und kann deshalb erst nachträglich die Ausrüstung verändern - und der Befehl ist imho zu nützlich um ihn zu streichen.

Und Hilfskonstruktionen um die Alien-Ausrüstung innerhalb von PopulateFromUFO zu setzen wären imho deutlich aufwendiger zu programmieren und schlechter zu scripten als ein nachträglicher Zugriff im TEinsatz, wo die Informationen sowieso irgendwie gespeichert werden müssen...



Du musst dich registrieren um auf dieses Thema zu antworten.
Login :: » Name » Passwort

Ladezeit (sec.): 0.009 · Powered by miniBB 1.6 with parts of 1.7 © 2001-2003