[ external image ] [ external image ]
Diese Datenbank und die zugehörigen Werkzeuge wurden explizipt dazu entwickelt, dass andere Skripter und Modder diese (nicht-kommerziell und kostenlos) in ihren Projekten verwenden können. Wenn ihr diese Datenbank oder die zugehörigen Werkzeuge für euere Projekte verwenden wollt, freue ich mich darüber informiert zu werden und bitte darum, mich in dem Zusammenhang mit Verweis auf diese Seite namentlich zu erwähnen.
Eine mit Kosten verbundene Verbreitung dieser Datenbank oder ihrer Werkzeuge ist hiervon ausdrücklich ausgenommen und benötigt erst mein explizites Einverständnis.
Beschreibung
Diese Datenbank stellt die jeweiligen Achs-Abstände, vom eigenen Objektmittelpunkt aus gesehen, welche als kollisionsvermeidende Mindestabstände zu benachbarten Objekten genutzt werden können.
Diese Abstände gelten nur bei den jeweiligen Objekten welche nach dem Bau nicht rotiert wurden, das heißt deren Alpha-Achswinkel bei 180°, die beiden anderen Winkel bei 0° liegen. Ist ein oder sind mehrere Winkel davon abweichend, müssen die Achsabstände entsprechend umgerechnet werden.
Diese Datenbank wird als eine Sprachdatei zur Verfügung gestellt, sodass auf einfache Art und Weise aus Skripten auf diese Datenbank zugegriffen werden kann. Dabei haben die einzelnen Objekteinträge folgendes Format:
<!-- Argon Chip Plant (827) -->
<t id="60210">844</t>
<t id="60211">773</t>
<t id="60212">496</t>
<t id="60213">147</t>
<t id="60214">764</t>
<t id="60215">448</t>
<t id="60216">180</t>
<t id="60217">0</t>
<t id="60218">0</t>
Der Zugriff auf den jeweiligen t-Index der Sprachdatei kann Skriptintern somit über folgende Formel erreicht werden:<!-- Argon Chip Plant (827) --> ... Name des Objektes
<!-- Argon Chip Plant (827) --> ... Objektgröße lt. Egosoft-eigenem Skriptbefehl
<t id="60210">844</t> ... Maintype des Objektes
<t id="60210">844</t> ... Subtype des Objektes
<t id="60210">844</t> ... Index und Abstand in positiver X-Achse
<t id="60211">773</t> ... Index und Abstand in negativer X-Achse
<t id="60212">496</t> ... Index und Abstand in positiver Y-Achse
<t id="60213">147</t> ... Index und Abstand in negativer Y-Achse
<t id="60214">764</t> ... Index und Abstand in positiver Z-Achse
<t id="60215">448</t> ... Index und Abstand in negativer Z-Achse
<t id="60216">180</t> ... Index und Winkel Alpha in Grad
<t id="60217">0</t> ... Index und Winkel Beta in Grad
<t id="60218">0</t> ... Index und Winkel Gamma in Grad
$text.id = Maintype * 10000 + Subtype * 10 + Achsen-Index
Den Skript-relevanten Wert für den Winkel erhält man mit der Umrechnungsformel:
$angle = Winkel * 65535 / 360
Die Werkzeuge
Die Werkzeuge dienen dazu, die Datenbank selbstständig anlegen zu können. Dies ist besonders dann von Nutzen, wenn man keine zu den eigenen, verwendeten Modifikationen passende Datenbank besitzt. Diese Werkzeuge erstellen dann automatisiert eine entsprechende Datenbank, welche dann als Sprachdatei gespeichert und fortan genutzt werden kann.
Diese Werkzeuge sind allerdings noch unsauber geschrieben, und benötigen bis zu ihrer Veröffentlichung erst eine Überarbeitung und Optimierung.
Danksagung
Die Entwicklung dieser Datenbank und der zugehörigen Werkzeuge wurde durch X2-Illuminatus' Hephaistos Corp. Stationsbauservice inspiriert. Auch war der Source Code des Factory Complex Constructor von -Dusty- eine große Hilfe bei der Lösung von Problemen mit der Kollisionsabfage bzw. -bestimmung. Mein Dank gilt daher den Beiden, ohne die es diese Datenbank nicht gegeben hätte.
Changelog
- Alpha: Erstveröffentlichung, nur Fabriken in der Datenbank.
- Alpha.2: Datenbank um Docks und Schiffe ergänzt, ebenso wird der Winkel der Objekte mit gespeichert.
- Alpha.3: Datenbankerstellung überarbeitet, Abstände können aufgerundet werden, Sicherheitsabstände für jede Achse hinzuaddiert. Datenbank enthält dzt. wieder nur Fabriken, dafür gerundet auf 5 Meter und mit 10m Sicherheitsabstand.
Download
Datenbank X³:TC-Fabriken (Alpha.3)
Datenbank X³:TC-Fabriken (Alpha.2)