XRebirth - Mod Research & Development-Topic
Moderators: Scripting / Modding Moderators, Moderatoren für Deutsches X-Forum
-
- Moderator (Script&Mod)
- Posts: 14571
- Joined: Sun, 20. Nov 05, 22:45
ich hab schon ne weile vor die wichtigsten Infos hier und im EN forum mal auf Deutsch zu sammeln und nen Sticky zu machen (dieser Topic hier ist aufgrund der unsortiertheit eher ungeeignet) - leider bisher keine zeit gehabt..
für die Mod-Übersicht hab ich btw ne sehr tolle idee, muss nur vorher was austesten.. (sollte die Wartung des Stickys vereinfachen und gleichzeitig dafür sorgen, dass man nicht mehr suchen muss woher man ne Mod hatte ^^ )
für die Mod-Übersicht hab ich btw ne sehr tolle idee, muss nur vorher was austesten.. (sollte die Wartung des Stickys vereinfachen und gleichzeitig dafür sorgen, dass man nicht mehr suchen muss woher man ne Mod hatte ^^ )
if not stated otherwise everything i post is licensed under WTFPL
Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter
I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help
Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help

-
- XWiki Moderator
- Posts: 2192
- Joined: Sun, 2. Apr 06, 16:15
Klingt schonmal gutUniTrader wrote:ich hab schon ne weile vor die wichtigsten Infos hier und im EN forum mal auf Deutsch zu sammeln und nen Sticky zu machen (dieser Topic hier ist aufgrund der unsortiertheit eher ungeeignet) - leider bisher keine zeit gehabt..
für die Mod-Übersicht hab ich btw ne sehr tolle idee, muss nur vorher was austesten.. (sollte die Wartung des Stickys vereinfachen und gleichzeitig dafür sorgen, dass man nicht mehr suchen muss woher man ne Mod hatte ^^ )

Wenn du Hilfe brauchst, sag Bescheid, sofern ich kann, helfe ich gern mit

Ggf. wäre dann auch eine Unterteilung in grafisches Modding (also Modelle etc pp) und die Scripting-Thematik interessant. Würde der Übersicht auf jeden Fall helfen

-
- Posts: 2
- Joined: Fri, 26. Dec 03, 17:29
Nur mal so am rande hab mir mal die Lua Dateien im ui->core->lua Ordner angeschaut.
Es sind wirklich einfache Lua Scripte die mit LuaJit Compeliert worden sind.
Leider befinden sich darin solche sachen wie Handelsmenü, Gameover Screen, Speedanzeige usw...
Habe es zwar hinbekommen ein paar davon zu decompelieren :
hier mal die gameover.xpl
Naja viel kann man daraus leider nicht lesen (jedenfalls ich).
Und es fehlen uns ein paar infos .
Aber vielleicht hilft es jemanden.
Es sind wirklich einfache Lua Scripte die mit LuaJit Compeliert worden sind.
Leider befinden sich darin solche sachen wie Handelsmenü, Gameover Screen, Speedanzeige usw...
Habe es zwar hinbekommen ein paar davon zu decompelieren :
hier mal die gameover.xpl
Code: Select all
function randomFunction self.onInitialize ()
var_0_2 = getElement("Scene.UIContract")
private.contract = var_0_2
var_0_2 = getElement("Scene.Layer.gameover")
private.gameOverElement = var_0_2
registerForEvent("showGameOver", private.contract, onShowGameOver)
return
end
function randomFunction self.onUpdate ()
if private.autoHide ~= nil then
--jump to 0015 (if previous if statement is false) --0015 JMP-JMP
var_1_1 = getElapsedTime()
if private.autoHide <= var_1_1 then
--jump to 0015 (if previous if statement is false) --0015 JMP-JMP
LockPresentation()
HidePresentation()
end
end
return
end
function randomFunction local randomFunction3 (INPUT_VAR_0_,INPUT_VAR_1_)
var_2_3 = INPUT_VAR_1_
showGameOver(var_2_3)
return
end
function randomFunction(INPUT_VAR_0_)
var_3_1 = 0 --var_3_1 NUMBER-NUMBER
if var_3_1 < INPUT_VAR_0_ then
--jump to 0009 (if previous if statement is false) --0009 JMP-JMP
var_3_2 = getElapsedTime()
var_3_2 = var_3_2 + INPUT_VAR_0_ --var_3_2 NUMBER-NUMBER
private.autoHide = var_3_2
end
goToSlide(private.gameOverElement, "active")
return
end
function someFunc4()
var_4_0 = {} --to find out the contents of this table look inside the lua file
var_4_1 = nil
var_4_2 = nil
local randomFunction0 = function() end -- starts at gameover.lua:18
self.onInitialize = randomFunction0
local randomFunction1 = function() end -- starts at gameover.lua:26
self.onUpdate = randomFunction1
local randomFunction2 = function() end -- starts at gameover.lua:36
local randomFunction3 = function() end -- starts at gameover.lua:43
return
end
Und es fehlen uns ein paar infos .
Code: Select all
var_4_0 = {} --to find out the contents of this table look inside the lua file
-
- XWiki Moderator
- Posts: 2192
- Joined: Sun, 2. Apr 06, 16:15
Um mal kurz eine Anfängerfrage in dem Bereich zu stellen: Kann man damit ggf. ein ganz neues HUD bauen?
bzw. ganz neue Menüs erstellen und damit (im späteren Verlauf der Entwicklung) den ganzen Kram wieder auf X3-Niveau bringen?
Ich weiß zumindest das natürlich viel mehr dazu gehört, aber wäre das machbar?
Denn das wäre "die ultimative" Mod um die Bedienbarkeit endlich wieder auf eine gesunde Basis zu stellen.
bzw. ganz neue Menüs erstellen und damit (im späteren Verlauf der Entwicklung) den ganzen Kram wieder auf X3-Niveau bringen?
Ich weiß zumindest das natürlich viel mehr dazu gehört, aber wäre das machbar?
Denn das wäre "die ultimative" Mod um die Bedienbarkeit endlich wieder auf eine gesunde Basis zu stellen.
-
- Posts: 2
- Joined: Fri, 26. Dec 03, 17:29
Bin nicht gerade ein Profi was das angeht, aber wenn wir es schaffen würden alle LUA Scripte zu decompelieren könnten wir theoretisch fast alles machen was die Engine her gibt.Lc4Hunter wrote:Um mal kurz eine Anfängerfrage in dem Bereich zu stellen: Kann man damit ggf. ein ganz neues HUD bauen?
bzw. ganz neue Menüs erstellen und damit (im späteren Verlauf der Entwicklung) den ganzen Kram wieder auf X3-Niveau bringen?
Ich weiß zumindest das natürlich viel mehr dazu gehört, aber wäre das machbar?
Denn das wäre "die ultimative" Mod um die Bedienbarkeit endlich wieder auf eine gesunde Basis zu stellen.
Denke mall dazu gehört dann auch ein eigenes HUD da es nicht in der Engine festgelegt ist (von das was ich bis jetzt gesehen habe).
Aber bitte korrigiert mich wenn ich falsch liege.
-
- XWiki Moderator
- Posts: 2192
- Joined: Sun, 2. Apr 06, 16:15
Also das HUD als solches ist meines Wissens nach nicht in der Engine hinterlegt.
Es gibt ja schon Mods die Teile des ach so tollen Cockpits weg machen und die Anzeigen auf eine Art HUD projezieren welche dann halt angezeigt werden.
Mitunter auch an anderen, neuen, Positionen, von daher ist das wohl das geringste Problem
Aber diese idiotische Menüführung muss weg... sonst wird das alles nie was wenn man nicht erst nach 100 Untermenüs dort landen will wo man hinkommt.
X3 war dahingehend nicht perfekt, aber weit näher an der Perfektion dran als das jetzige System.
Es gibt ja schon Mods die Teile des ach so tollen Cockpits weg machen und die Anzeigen auf eine Art HUD projezieren welche dann halt angezeigt werden.
Mitunter auch an anderen, neuen, Positionen, von daher ist das wohl das geringste Problem

Aber diese idiotische Menüführung muss weg... sonst wird das alles nie was wenn man nicht erst nach 100 Untermenüs dort landen will wo man hinkommt.
X3 war dahingehend nicht perfekt, aber weit näher an der Perfektion dran als das jetzige System.
-
- Posts: 89
- Joined: Thu, 6. Sep 07, 10:55
-
- Posts: 146
- Joined: Wed, 6. Nov 02, 20:31
Frage zu:
add_to_player_squad
Weiß jemand, welche Events und/oder Skripts/Skriptschnipsel dieser Aufruf erzeugt/anspricht?
gefunden in md/Conversations.xml:
<do_elseif value="event.param == 'g_addtosquad'">
<!-- See also cue OnAddToSquad -->
<add_to_player_squad object="event.object.ship" />
<add_npc_line line="1010" comment="Joining your squad" />
</do_elseif>
add_to_player_squad
Weiß jemand, welche Events und/oder Skripts/Skriptschnipsel dieser Aufruf erzeugt/anspricht?
gefunden in md/Conversations.xml:
<do_elseif value="event.param == 'g_addtosquad'">
<!-- See also cue OnAddToSquad -->
<add_to_player_squad object="event.object.ship" />
<add_npc_line line="1010" comment="Joining your squad" />
</do_elseif>
-
- Moderator (Script&Mod)
- Posts: 14571
- Joined: Sun, 20. Nov 05, 22:45
A)was hast du vor?
B)sollte es diese Events auslösen:
-> event_object_commander_set
und param == player.primaryship sowie object == ship
-> event_player_subordinate_added
und param == Ship
-> (evtl. auch noch event_object_subordinate_added
und object == player.primaryship sowie param == ship )
steht alles in der common.xsd

B)sollte es diese Events auslösen:
-> event_object_commander_set
und param == player.primaryship sowie object == ship
-> event_player_subordinate_added
und param == Ship
-> (evtl. auch noch event_object_subordinate_added
und object == player.primaryship sowie param == ship )
steht alles in der common.xsd


if not stated otherwise everything i post is licensed under WTFPL
Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter
I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help
Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help

-
- Posts: 146
- Joined: Wed, 6. Nov 02, 20:31
Danke. Aber ich habe befürchtet, dass diese Events nicht erkennbar auf player.default o. ä. lenken.
event_player_subordinate_added finde ich nur in Verwendung, um eine Bestätigung an die Skunk zu senden.
event_object_commander_set und event_player_subordinate_added kann ich nirgends finden (außer in der common.xsd)
Naja. Wäre auch zu einfach gewesen.
event_player_subordinate_added finde ich nur in Verwendung, um eine Bestätigung an die Skunk zu senden.
event_object_commander_set und event_player_subordinate_added kann ich nirgends finden (außer in der common.xsd)
Naja. Wäre auch zu einfach gewesen.
-
- Moderator (Script&Mod)
- Posts: 14571
- Joined: Sun, 20. Nov 05, 22:45
wie gesagt: was willst du erreichen? es ist gut möglch, dass du denselben effekt hast ohne eines der bestehenden Scripte zu ändern bzw. das ganze völlig anders umsetzen als wie du denkst.
if not stated otherwise everything i post is licensed under WTFPL
Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter
I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help
Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help

-
- Posts: 146
- Joined: Wed, 6. Nov 02, 20:31
add_to_player_squad führt zu player.default.
Ich hatte einen Fehler beim Testen, nach dessen Beseitigung der Zusammenhang klarer wurde. Irgendwo muss add_to_player_squad ein start_script oder run_script für player.default ausführen und ship.commander = player.primaryship setzen.
Wenn ich aber testweise beide Dinge zu Fuß erledige, klappt es nicht. Vielleicht finde ich den Dreh aber noch raus.
Der Begriff "commander" ist übrigens von Egosoft verwirrend implementiert worden.
Zum einen ist er ein entitytype eines NPC (Kapitän) und
zum anderen ein Schiff, dass einem anderen Schiff überstellt ist.
Wenn man also von Schiffs-Commandern redet (z. B. ship.commander = player.primaryship), muss man ständig aufpassen, welche der beiden Verwendungen man meint.
Die Verwirrung wird komplett, wenn man erkennt, dass der NPC-Commander (Kapitän) eigentlich nichts anderes ist, als der NPC-Pilot (Pilot) von L- und XL-Schiffen. Man muss also den ship.pilot (nicht den ship.commander) wählen, wenn man den Kapitän eines L- und XL-Schiffes ansprechen will. Wer bitte denkt sich denn so was aus?
Ich hatte einen Fehler beim Testen, nach dessen Beseitigung der Zusammenhang klarer wurde. Irgendwo muss add_to_player_squad ein start_script oder run_script für player.default ausführen und ship.commander = player.primaryship setzen.
Wenn ich aber testweise beide Dinge zu Fuß erledige, klappt es nicht. Vielleicht finde ich den Dreh aber noch raus.
Der Begriff "commander" ist übrigens von Egosoft verwirrend implementiert worden.
Zum einen ist er ein entitytype eines NPC (Kapitän) und
zum anderen ein Schiff, dass einem anderen Schiff überstellt ist.
Wenn man also von Schiffs-Commandern redet (z. B. ship.commander = player.primaryship), muss man ständig aufpassen, welche der beiden Verwendungen man meint.
Die Verwirrung wird komplett, wenn man erkennt, dass der NPC-Commander (Kapitän) eigentlich nichts anderes ist, als der NPC-Pilot (Pilot) von L- und XL-Schiffen. Man muss also den ship.pilot (nicht den ship.commander) wählen, wenn man den Kapitän eines L- und XL-Schiffes ansprechen will. Wer bitte denkt sich denn so was aus?
-
- Moderator (Script&Mod)
- Posts: 14571
- Joined: Sun, 20. Nov 05, 22:45
1. Debuglog aktivieren und Lesen ist meist sehr aufschlussreich
(parameter -logfile debuglog.txt anhängen
)
2. zeig mal deinen Code - ich hab da so ne ahnung..


2. zeig mal deinen Code - ich hab da so ne ahnung..
if not stated otherwise everything i post is licensed under WTFPL
Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter
I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help
Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help

-
- Posts: 7
- Joined: Wed, 20. Nov 13, 14:16
Handelsfenster lua
@Ultramichy hast du zufällig auch ein paar Conversations Fenster wie zb das Handelsfenster decompiled?
Wäre insterressant vielleicht kann man da ansatzweise ne API rauslesen.
Wäre insterressant vielleicht kann man da ansatzweise ne API rauslesen.
-
- Posts: 146
- Joined: Wed, 6. Nov 02, 20:31
add_to_player_squad und move.follow:
Ein Schiff in der Staffel führt standardmäßig move.follow aus. Es folgt mir also ständig.
Besser für Handelsschiffe wäre move.patrol oder move.idle, statt move.follow, finde ich.
Ich wollte das also ändern.
Fakten:
add_to_player_squad ist die einzige Möglichkeit, ein Schiff in meine Staffel und somit ins Handelsmenü zu bringen.
add_to_player_squad ruft player.default auf.
player.default führt move.follow aus.
abort_scripts kann player.default (inkl. move.follow) beenden, ohne das Shiff aus der Staffel zu entfernen.
start_script kann player.default wieder starten.
Lösung:
player.default erhält einen Parameter $wait, dessen Wert bestimmt, ob move.follow oder move.patrol gestartet wird.
Die Menüpunkte werden in Untermenü "andere Befehle" (o. ä.) erstellt und behandelt.
md/Orders.xml
Und damit das Orders-Submenü auch bei aktivem Patrol-Kommando angeboten wird, muss das Hauptmenü angepasst werden.
md/NPC_Staff.xml
Funktioniert soweit ganz gut.
Eigentlich muss ich noch herauskriegen, wodurch md/Conversations.xml angesprochen wird, denn da gibt es auch entsprechende Menü-Punkte.
Ein Schiff in der Staffel führt standardmäßig move.follow aus. Es folgt mir also ständig.
Besser für Handelsschiffe wäre move.patrol oder move.idle, statt move.follow, finde ich.
Ich wollte das also ändern.
Fakten:
add_to_player_squad ist die einzige Möglichkeit, ein Schiff in meine Staffel und somit ins Handelsmenü zu bringen.
add_to_player_squad ruft player.default auf.
player.default führt move.follow aus.
abort_scripts kann player.default (inkl. move.follow) beenden, ohne das Shiff aus der Staffel zu entfernen.
start_script kann player.default wieder starten.
Lösung:
player.default erhält einen Parameter $wait, dessen Wert bestimmt, ob move.follow oder move.patrol gestartet wird.
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<diff xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<!--
The default command for ships in squad is command.follow. The following adds changes this default command to command.patrol, so
the pilot will not go out of his actual zone. He patrol the zone without searching for enemies.
Optional the variable $wait kann set to 0 when call the script. That will activate command.follow
-->
<add sel="/aiscript/params">
<param name="wait" default="1" />
</add>
<replace sel="/aiscript/attention/actions/do_if[@value='this.ship.commander']">
<!-- move.patrol or move.follow player. End if is not in squad -->
<do_if value="this.ship.commander" exact="player.primaryship">
<do_if value="$wait == 1">
<show_notification caption="'new command'" timeout="5s" details="'Wait there ! ... confirmed, sir'" queued="true"/>
<set_command command="command.patrol" />
<run_script name="'move.patrol'">
<param name="range" value="'zone'" />
<param name="engageenemies" value="false" />
</run_script>
</do_if>
<do_else>
<show_notification caption="'new command'" timeout="5s" details="'Follow the Skunk ! ... confirmed, sir'" queued="true"/>
<run_script name="'move.follow'">
<param name="target" value="player.primaryship" />
</run_script>
</do_else>
</do_if>
</replace>
</diff>
md/Orders.xml
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<!--
The orders submenu will be extended by this changes. The option "wait"/"follow" is placed on top left of the submenu.
-->
<diff xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<add sel="/mdscript/cues/cue/actions/do_if/add_player_choice_return[@text='{1002,20}']" pos="before">
<do_if value="event.object.command.value != command.patrol">
<add_player_choice_sub text="{1004,31}" section="gOrders_wait" position="top_right" choiceparam="[event.object.ship]" comment="wait"/>
</do_if>
<do_else>
<add_player_choice_sub text="{1004,7}" section="gOrders_follow" position="top_right" choiceparam="[event.object.ship]" comment="follow"/>
</do_else>
</add>
<add sel="/mdscript/cues/cue/actions">
<do_elseif value="event.param == 'gOrders_wait'">
<!--remove_from_player_squad object="event.param2.{1}" />
<set_value name="event.param2.{1}.commander" exact="player.primaryship" /-->
<abort_scripts entity="event.object" />
<start_script name="'player.default'" object="event.object">
<param name="wait" value="1" />
</start_script>
<show_notification caption="'new command'" timeout="5s" details="'Wait there ! ... '" queued="true"/>
</do_elseif>
<do_elseif value="event.param == 'gOrders_follow'">
<!--remove_from_player_squad object="event.param2.{1}" />
<set_value name="event.param2.{1}.commander" exact="player.primaryship" /-->
<abort_scripts entity="event.object" />
<start_script name="'player.default'" object="event.object">
<param name="wait" value="0" />
</start_script>
<show_notification caption="'new command'" timeout="5s" details="'Follow the Skunk ! ... '" queued="true"/>
</do_elseif>
</add>
</diff>
md/NPC_Staff.xml
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<diff xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<!--
The Main Menu offers on position "left" the orders submenu. Is the pilots command.patrol activ, the orders submenu is not available.
This following replacements activate the orders submenu for pilots on patrol too.
-->
<replace sel="/mdscript/cues/cue/cues/cue[@name='DefaultComm']/actions/do_else/do_if[@value='$actor.type == entitytype.pilot or $actor.type == entitytype.commander']/do_if/do_elseif[@value='$actor.ship.commander == player.primaryship']/do_if/@value">(event.object.command.value == command.follow) or (event.object.command.value == command.support) or (event.object.command.value == command.patrol)</replace>
<replace sel="/mdscript/cues/cue/cues/cue[@name='DefaultComm']/actions/do_else/do_if[@value='$actor.type == entitytype.pilot or $actor.type == entitytype.commander']/do_if/do_elseif[@value='$actor.ship.commander == player.primaryship']/do_if/add_player_choice_sub/@selectable">(not @event.object.$shiptrader_docking) and (not @event.object.$ship_parking) and (not event.object.ship.dockslot) and (not event.object.ship.docklink) and ((event.object.command.value == command.follow) or (event.object.command.value == command.patrol))</replace>
</diff>
Eigentlich muss ich noch herauskriegen, wodurch md/Conversations.xml angesprochen wird, denn da gibt es auch entsprechende Menü-Punkte.
-
- Moderator (Script&Mod)
- Posts: 14571
- Joined: Sun, 20. Nov 05, 22:45
und warum nimmst du nicht statt <add_to_player_squad> einfach <set_object_commander commander="player.primaryship" /> ? erspart dir die ganze handhabung des rattenschwanzes
(besser: du musst dich dann selber drum kümmern, dass alles nötige auf dem betreffenden Schiff gestartet wird und so)
EDIT: gelöscht.. ich sollte kurz nach dem qaufwachen keine so langen posts lesen -.-''

EDIT: gelöscht.. ich sollte kurz nach dem qaufwachen keine so langen posts lesen -.-''
if not stated otherwise everything i post is licensed under WTFPL
Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter
I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help
Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help

-
- XWiki Moderator
- Posts: 2192
- Joined: Sun, 2. Apr 06, 16:15
Ich weiß das passt jetzt nicht 100%ig hier rein aber ich wollte auch nicht unbedingt ein neues Thema erstellen:
Wie wäre es mal eine Übersicht zu machen die wir oben anpinnen können zwecks "Mod-Übersicht"?
Nicht jeder schaut permanent ins englische Forum rein (so wie UniTrader und ich
).
Gerade der Sektorhändler scheint mir doch eine saubere Sache zu sein die durchaus Erwähnung finden sollte
Wie wäre es mal eine Übersicht zu machen die wir oben anpinnen können zwecks "Mod-Übersicht"?
Nicht jeder schaut permanent ins englische Forum rein (so wie UniTrader und ich

Gerade der Sektorhändler scheint mir doch eine saubere Sache zu sein die durchaus Erwähnung finden sollte

-
- Moderator (Deutsch)
- Posts: 25130
- Joined: Sun, 2. Apr 06, 16:38
Wir (die deutschen S&M Moderatoren) sind schon am Diskutieren deswegen. Zeit ist aber gerade recht knapp bemessen, wodurch sich das alles etwas hinzieht.
Nun verfügbar! X3: Farnham's Legacy - Ein neues Kapitel für einen alten Favoriten
Die komplette X-Roman-Reihe jetzt als Kindle E-Books! (Farnhams Legende, Nopileos, X3: Yoshiko, X3: Hüter der Tore, X3: Wächter der Erde)
Neuauflage der fünf X-Romane als Taschenbuch
The official X-novels Farnham's Legend, Nopileos, X3: Yoshiko as Kindle e-books!
Die komplette X-Roman-Reihe jetzt als Kindle E-Books! (Farnhams Legende, Nopileos, X3: Yoshiko, X3: Hüter der Tore, X3: Wächter der Erde)
Neuauflage der fünf X-Romane als Taschenbuch
The official X-novels Farnham's Legend, Nopileos, X3: Yoshiko as Kindle e-books!
-
- XWiki Moderator
- Posts: 2192
- Joined: Sun, 2. Apr 06, 16:15