
[DISKUSSION] Allgemeine MD-Fragen
Moderators: Scripting / Modding Moderators, Moderatoren für Deutsches X-Forum
-
- Posts: 1664
- Joined: Thu, 4. Mar 04, 16:14
Die Anzahl von ausgeführten Sprüngen meines Hyperraumnotfallprotokolls aus dem ZPM-Mod (dieser Wert wird als LV auf dem ausführenden Schiff gespeichert). Es ist die einfache Überzeugung, dass es den Antrieb dabei stark belastet und dieser nach einer gewissen Zahl an Aktivierungen einer Wartung an einem AD erfordert. Der ganze Wartungskram wird mit dem MD abgewickelt und auch der Preis ist von der Anzahl der ausgeführten Sprünge abhängig, weshalb dieser Wert im MD nötig ist.
Und es funktioniert!

Passierschein A38.5 gefunden!
[ external image ]
"Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind." Albert Einstein
[ external image ]
"Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind." Albert Einstein
-
- Moderator (Script&Mod)
- Posts: 14571
- Joined: Sun, 20. Nov 05, 22:45
also im MSCI könnte ich dir weiter helfen, das hat einfach was damit zu tun, dass Piratenschiffe immer getarnt gespawnt werden.. nach einem Scan oder der verwendung des MSCI-Befehls <RefObj> set pirate cover state to [FALSE] erscheinen sie als normale PiratenMarodeur wrote:Servus nochmal.
Bin grad an den letzten Änderungen der SRST und OBS und bin auf eine Schwierigkeit gestosen.
Zum einen kommen inzwischen M1 und M2 sowie auch M7 als Gegner. Ausserdem hab ich den Piraten M6 (Marodeur/Marauder) sowie das Yaki M6M (Washi) freigeschaltet. Vor allem bei letzteren fand ichs einfach unpassend das sie lauter eigene Designs haben aber hier auf den Zentauren zurückgreifen. Und wenn der Washi schonmal da ist...
Aber nun zum Problem:
Wenn Piraten ein M1 mit Supportschiffen spawnen sind die Schiffe die auf dem Träger gedockt sind den jeweiligen Rassen zugeordnet und keine Piraten. Es starten also lauter neutrale Schiffe die auch dementsprechend benannt sind (Argon Nova, Teladi Bussard, etc.) statt das es Piratenschiffe sind. Und ich komm nicht dahinter wo genau der Fehler liegt.

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: 1664
- Joined: Thu, 4. Mar 04, 16:14
Ich denke mal, dass das die passenden Befehle sind.director.htm wrote:<set_covered> Set whether specified object's race should be covered (pirates only)
task boolean Start action as a separate task?
chance expression Percentage (or weighted if in <do_any>) chance of action being performed (action is skipped if not)
comment string Comment for documentation purposes only
object object Object name
covered boolean Object's race is covered (pirates only)?
<set_group_covered> Set whether all objects in specified group's race should be covered (pirates only)
task boolean Start action as a separate task?
chance expression Percentage (or weighted if in <do_any>) chance of action being performed (action is skipped if not)
comment string Comment for documentation purposes only
object object Object name
covered boolean Object's race is covered (pirates only)?
Passierschein A38.5 gefunden!
[ external image ]
"Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind." Albert Einstein
[ external image ]
"Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind." Albert Einstein
-
- EGOSOFT
- Posts: 12168
- Joined: Fri, 21. May 04, 17:15
Nicht machen, es gibt keine Piraten/Yaki Piloten!! Wichtig bei dem ganzen ist eben der covered=0 (als NICHT covered), sind Piloten als covered eingestellt, werden diese erst rot wenn gescannt.Jens Ka wrote:ändere mal die Race von default auf die Schiffs Rasse dann könnte es funzen. Kann aber auch sein das da noch irgend wo was ist was da einfluss hat musst probiren obs so geht.Code: Select all
<do_when value="{value@OBS.ShipRace}" list="{lookup.race@pirate}|{lookup.race@yaki}" comment="Sets a race for pirates and yaki"> <set_value name="OBS.Pilot Race" exact="{random.race@default}"/> </do_when>
hoffe das es dir weiter hilft![]()
MfG
Jens Ka
MFG
Ketraar

-
- Posts: 1349
- Joined: Wed, 6. Nov 02, 20:31
-
- Posts: 1368
- Joined: Wed, 18. Mar 09, 22:20
ich mal wieder
1. kann mir einer sagen wo ich die texte finden kann die bei den missionsbeschreibungen im Briefing stehen (also nicht die t-files, sondern die missionen (MD-Files) selbst) ?
2. Wie kann ich neue Missionen einfügen die dann an einer station angeboten werden bzw ist das überhaupt möglich?
3. Wie kann ich neue Laser machen (also neue Effekte) und diese dann einbinden? (gibts da vl ein tutorial?)
4. Wie krieg ich schwierigkeitsgrad und Belohnung von Missionen erhöht (ich will nicht das wieder so unbalanced machen das man ne riesen-belohnung kriegt, sondern einfach generell schwerer und dafür mit mehr belohnung)
Jo das wars erstmal. Danke im Vorraus.
1. kann mir einer sagen wo ich die texte finden kann die bei den missionsbeschreibungen im Briefing stehen (also nicht die t-files, sondern die missionen (MD-Files) selbst) ?
2. Wie kann ich neue Missionen einfügen die dann an einer station angeboten werden bzw ist das überhaupt möglich?
3. Wie kann ich neue Laser machen (also neue Effekte) und diese dann einbinden? (gibts da vl ein tutorial?)
4. Wie krieg ich schwierigkeitsgrad und Belohnung von Missionen erhöht (ich will nicht das wieder so unbalanced machen das man ne riesen-belohnung kriegt, sondern einfach generell schwerer und dafür mit mehr belohnung)
Jo das wars erstmal. Danke im Vorraus.
"Dies ist alles, was ich über den Krieg weiss: Einer gewinnt, einer verliert
und nichts ist nachher so
wie es vorher war."
"Stellt eure Truppen auf, oh große Generäle,
Der Preis des Sieges übersteigt den Preis der Niederlage."
und nichts ist nachher so
wie es vorher war."
"Stellt eure Truppen auf, oh große Generäle,
Der Preis des Sieges übersteigt den Preis der Niederlage."
-
- EGOSOFT
- Posts: 12168
- Joined: Fri, 21. May 04, 17:15
1. Die texte sind nun mal in den t-files, im MD code wird meist nur ne t-id benutzt. Die ID für die Briefings wird im Breifing node eingetragen. (create_briefing title="" ect..)
2. Naja so wie die anderen.
Ne das ist zu viel um es mal so kurz zu erklären, am besten du saugst dir eine bestehende Mission (gibt ja ein paar) und schaust dort nach wie das aufgebaut ist. Generell gilt, das für eine solche Mission ein Actor der die Mission anbietet gebraucht wird, dann eine Konversation (siehe conversation.xml im t ordner/cat) damit diese auch anwählbar ist. Ist das erledigt erstellst du die Offer (Anbieten der Mission) mit dem create_offer node. Was da so alles enthalten ist liegt nun an dir.
3. Mit dem MD gar nicht, am besten stellst diese Frage im Topic für [DISKUSSION] Allgemeine S&M-Fragen
4. Die generischen Missionen Werden mit eine art Baukastensystem erstellt, dieses System basiert auf einigen Librarys, dort befindet sich auch der Wert welcher die Belohnungen vergeben (unter anderem).
MFG
Ketraar
2. Naja so wie die anderen.

3. Mit dem MD gar nicht, am besten stellst diese Frage im Topic für [DISKUSSION] Allgemeine S&M-Fragen
4. Die generischen Missionen Werden mit eine art Baukastensystem erstellt, dieses System basiert auf einigen Librarys, dort befindet sich auch der Wert welcher die Belohnungen vergeben (unter anderem).
MFG
Ketraar

-
- Posts: 1368
- Joined: Wed, 18. Mar 09, 22:20
Ok, bis hierhin schonmal danke.
Vorneweg: ich bin ein absolouter neuling habe erst vorgestern angefangen. Wenn die Fragen also dumm sind, bitte nicht schlagen
1. Wie kann ich den Feind-Spawn vom Fight-Rank abhängig machen?
2. Kann ich z.b. mit <do_choose> oder sonstigem irgendwie einen zufälligen cue von bestimmten cues auswählen lassen?
3. Kann ich irgendwo etwas in ner Variable speichern? Ich will nämlich am Ende der Mission das der "counter" um 1 erhöht wird und dann die mission sich neustartet. wenn der counter 5 erreicht, startet ein neuer cue und es gibt ne belohnung.
4. und hier ist noch mein derzeitiger code, der irgendwie nicht richtig funzt :-/
Im Briefing steht nix und auch kein Hintergrundbild, und die Sektorauswahl verläuft auch nicht richtig. Des Weiteren muss ich garnicht an der Station andocken obwohl ich es oben geschrieben hab.
Vorneweg: ich bin ein absolouter neuling habe erst vorgestern angefangen. Wenn die Fragen also dumm sind, bitte nicht schlagen

1. Wie kann ich den Feind-Spawn vom Fight-Rank abhängig machen?
2. Kann ich z.b. mit <do_choose> oder sonstigem irgendwie einen zufälligen cue von bestimmten cues auswählen lassen?
3. Kann ich irgendwo etwas in ner Variable speichern? Ich will nämlich am Ende der Mission das der "counter" um 1 erhöht wird und dann die mission sich neustartet. wenn der counter 5 erreicht, startet ein neuer cue und es gibt ne belohnung.
4. und hier ist noch mein derzeitiger code, der irgendwie nicht richtig funzt :-/
Code: Select all
<director name="raumkraut93_1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="director.xsd">
<cues>
<cue name="rk93_1">
<condition>
<check_all>
<check_value value="{player.notoriety.atf}" min="{lookup.notoriety@notop7}"/>
</check_all>
</condition>
<timing>
<time exact="15s"/>
</timing>
<action>
<do_all>
<find_station category="dock" name="tr_station" race="terrangroup" typename="SS_DOCK_ATF_MILITARY_1">
<sector x="12" y="3"/>
</find_station>
<find_sector exact="1" name="tr_sector" sector="tr_sector" race="terran" known="1"/>
<create_actor name="u24_4_atfcmd" character ="{3895,19}" face="1135" voice="3819" race="terran" object="{object@tr_station}" location="crew" />
<play_text actor="u24_4_atfcmd" pageid="3819" textid="191000" priority="99"/>
<create_briefing cue="rk93_1" title="{71372,1}" text="{71372,2}" background="ship_terran_scimitar.tga">
<mission discipline="XXXT" level="difficult"/>
<objectives>
<objective step="1">
<dockat object="{object@tr_station}"/>
</objective>
<objective step="2">
<flyto>
<sector sector="sector@{tr_sector}"/>
</flyto>
</objective>
<objective step="3">
<custom action="{71372,3}"/>
</objective>
</objectives>
</create_briefing>
<set_objective cue="rk93_1" story="{71372,2}" title="{71372,1}" noabort="1">
<briefing cue="u24_3_start" step="1"/>
<mission discipline="XXXT" level="trivial"/>
<dockat object="{object@tr_station}"/>
</set_objective>
</do_all>
</action>
</cue>
<cue name="rk93_2">
<condition>
<check_all>
<cue_is_complete cue="rk93_1"/>
<object_is_docked dockobject="{object@tr_station}" object="{player.ship}"/>
</check_all>
</condition>
<timing>
<time exact="15s"/>
</timing>
<action>
<do_all>
<find_sector exact="1" name="tr_sector" race="terran" known="1"/>
<incoming_message text="{7137,1}" popup="1"/>
<set_objective cue="rk93_1" story="{71372,2}" title="{71372,1}" noabort="1">
<briefing cue="u24_3_start" step="2"/>
<mission discipline="XXXT" level="trivial"/>
<flyto>
<sector sector="{sector@tr_sector}"/>
</flyto>
</set_objective>
</do_all>
</action>
</cue>
<cue name="rk93_3">
<condition>
<check_all>
<cue_is_complete cue="rk93_2"/>
</check_all>
</condition>
<action>
<do_all>
<set_objective cue="rk93_1" story="{71372,2}" title="{71372,1}" noabort="1">
<briefing cue="u24_3_start" step="3"/>
<mission discipline="XFXX" level="hard"/>
<custom action="{71372,3}"/>
</set_objective>
</do_all>
</action>
</cue>
<cue name="rk93_createenemies">
<condition>
<check_all>
<cue_is_complete cue="rk93_3"/>
</check_all>
</condition>
<action>
<do_all>
<find_gate name="tr_gate" nearest="1">
<sector sector="{sector@tr_sector}"/>
</find_gate>
<create_special typename="SS_SH_JUMP_BEACON">
<position object="{object@tr_gate}" exact="20km" />
<sector sector="{sector@tr_sector}"/>
</create_special>
<create_ship group="rk93_xenon" covered="0" race="xenon" racelogic="1" typename="SS_SH_X_M7">
<position/>
<sector sector="{sector@tr_sector}"/>
<equipment loadout="default" />
<command command="killenemies" distance="20km"/>
</create_ship>
<create_ship group="rk93_xenon" covered="0" race="xenon" racelogic="1" typename="SS_SH_X_M3">
<position/>
<sector sector="{sector@tr_sector}"/>
<equipment loadout="default" />
<command command="killenemies" distance="20km"/>
</create_ship>
<create_ship group="rk93_xenon" covered="0" race="xenon" racelogic="1" typename="SS_SH_X_M3">
<position/>
<sector sector="{sector@tr_sector}"/>
<equipment loadout="default" />
<command command="killenemies" distance="20km"/>
</create_ship>
<create_ship group="rk93_xenon" covered="0" race="xenon" racelogic="1" typename="SS_SH_X_M6">
<position/>
<sector sector="{sector@tr_sector}"/>
<equipment loadout="default" />
<command command="killenemies" distance="20km"/>
</create_ship>
<create_ship group="rk93_xenon" covered="0" race="xenon" racelogic="1" typename="SS_SH_X_M6">
<position/>
<sector sector="{sector@tr_sector}"/>
<equipment loadout="default" />
<command command="killenemies" distance="20km"/>
</create_ship>
</do_all>
</action>
</cue>
<cue name="rk93_4">
<condition>
<check_all>
<cue_is_complete cue="rk93_createenemies"/>
<all_objects_destroyed group="rk93_xenon"/>
</check_all>
</condition>
<action>
<do_all>
<remove_objective cue="rk93_1" status="complete"/>
<remove_briefing cue="rk93_1"/>
<incoming_message text="{71371,2}" popup="1" />
<reward_player>
<notoriety>
<relation race="atf" operation="set" exact="{lookup.notoriety@notop9}"/>
</notoriety>
</reward_player>
<set_value name="ATF Notoriety" exact="{lookup.notoriety@notop9}"/>
</do_all>
</action>
</cue>
</cues>
</director>
"Dies ist alles, was ich über den Krieg weiss: Einer gewinnt, einer verliert
und nichts ist nachher so
wie es vorher war."
"Stellt eure Truppen auf, oh große Generäle,
Der Preis des Sieges übersteigt den Preis der Niederlage."
und nichts ist nachher so
wie es vorher war."
"Stellt eure Truppen auf, oh große Generäle,
Der Preis des Sieges übersteigt den Preis der Niederlage."
-
- Posts: 1962
- Joined: Tue, 8. Jan 08, 18:19
Zu 1. : Die Egosoft Missionen nutzen immer das Mission Director Opponent Balancing System - kurz: OBS.
Dies ist soweit ich weiß, eine Library, die die passenden Feinde für das Spielerschiff heraussucht.
Zu 2. : Das weiß ich nicht... Aber reicht nicht einfach ein <do_choose> im Action-node?
Zu 3. : Ja, das geht einfach mit <set_value> .
Zu 4. : Bist du sicher, dass du den Sektor tr_sector zweimal "finden" willst?
Du hast einmal
<find_sector exact="1" name="tr_sector" sector="tr_sector" race="terran" known="1"/>
und später nochmal
<find_sector exact="1" name="tr_sector" race="terran" known="1"/>
Du ordnest der Variable tr_sector also zweimal einen Sektor zu, ob das dann im Endeffekt der gleiche ist, ist natürlich nicht mit Sicherheit gegeben.
Wenn du denn Sektor aus Cue "rk93_1" einfach nur im Cue "rk93_2" wiederverwenden möchtest, musst du einfach
<flyto>
<sector sector="{sector@tr_sector}"/>
</flyto>
in
<flyto>
<sector sector="{sector@rk93_1.tr_sector}"/>
</flyto>
ändern.
Des Weiteren ist mir noch ein kleiner Fehler aufgefallen.
<sector sector="sector@{tr_sector}"/> beim erstellen des Briefings, müsste eigentlich <sector sector="{sector@tr_sector}"/> heißen.
Ich hoffe ich habe nichts allzu falsches gesagt, mit dem MD habe ich mich insgesamt noch nicht genug auseinandergesetzt.
Meine Frage:
Ich stehe etwas auf dem Schlauch. Ich möchte, dass ein Cue erst startet, wenn irgendein Sektor keine Stationen einer bestimmen Klasse mehr hat.
Die Anzahl der Stationen eines Sektors würde ich einfach über <count_stations> regeln, doch wie ich es schaffen kann, dass alle Sektoren berücksichtig werden, weiß ich momentan nicht.
Ist das irgendwie möglich?
EDIT:
Wie kann man alle Sektoren einer bestimmten Rasse und eines bestimmten Typs (Core / Border) finden? "group" scheint bei <find_sector> nicht zu funktionieren!?
MfG,
ScRaT
Dies ist soweit ich weiß, eine Library, die die passenden Feinde für das Spielerschiff heraussucht.
Zu 2. : Das weiß ich nicht... Aber reicht nicht einfach ein <do_choose> im Action-node?
Zu 3. : Ja, das geht einfach mit <set_value> .
Zu 4. : Bist du sicher, dass du den Sektor tr_sector zweimal "finden" willst?
Du hast einmal
<find_sector exact="1" name="tr_sector" sector="tr_sector" race="terran" known="1"/>
und später nochmal
<find_sector exact="1" name="tr_sector" race="terran" known="1"/>
Du ordnest der Variable tr_sector also zweimal einen Sektor zu, ob das dann im Endeffekt der gleiche ist, ist natürlich nicht mit Sicherheit gegeben.
Wenn du denn Sektor aus Cue "rk93_1" einfach nur im Cue "rk93_2" wiederverwenden möchtest, musst du einfach
<flyto>
<sector sector="{sector@tr_sector}"/>
</flyto>
in
<flyto>
<sector sector="{sector@rk93_1.tr_sector}"/>
</flyto>
ändern.
Des Weiteren ist mir noch ein kleiner Fehler aufgefallen.
<sector sector="sector@{tr_sector}"/> beim erstellen des Briefings, müsste eigentlich <sector sector="{sector@tr_sector}"/> heißen.
Ich hoffe ich habe nichts allzu falsches gesagt, mit dem MD habe ich mich insgesamt noch nicht genug auseinandergesetzt.
Meine Frage:
Ich stehe etwas auf dem Schlauch. Ich möchte, dass ein Cue erst startet, wenn irgendein Sektor keine Stationen einer bestimmen Klasse mehr hat.
Die Anzahl der Stationen eines Sektors würde ich einfach über <count_stations> regeln, doch wie ich es schaffen kann, dass alle Sektoren berücksichtig werden, weiß ich momentan nicht.
Ist das irgendwie möglich?
EDIT:
Wie kann man alle Sektoren einer bestimmten Rasse und eines bestimmten Typs (Core / Border) finden? "group" scheint bei <find_sector> nicht zu funktionieren!?
MfG,
ScRaT
-
- Posts: 2355
- Joined: Sun, 25. Apr 04, 19:09
1. Schaue dir die Datei OBS.xml im Director Ordner einmal an. Dort gibt es ganz oben folgenden Abschnitt:Raumkraut93 wrote:Ok, bis hierhin schonmal danke.
Vorneweg: ich bin ein absolouter neuling habe erst vorgestern angefangen. Wenn die Fragen also dumm sind, bitte nicht schlagen![]()
1. Wie kann ich den Feind-Spawn vom Fight-Rank abhängig machen?
2. Kann ich z.b. mit <do_choose> oder sonstigem irgendwie einen zufälligen cue von bestimmten cues auswählen lassen?
3. Kann ich irgendwo etwas in ner Variable speichern? Ich will nämlich am Ende der Mission das der "counter" um 1 erhöht wird und dann die mission sich neustartet. wenn der counter 5 erreicht, startet ein neuer cue und es gibt ne belohnung.
4. und hier ist noch mein derzeitiger code, der irgendwie nicht richtig funzt :-/
Code: Select all
<documentation>
...
<params>
....
</params>
Code: Select all
<cue ref="OBS">
<params>
Den Kopierten Krams aus der OBS.xml
</params>
</cue>
2. Jo klar.
Code: Select all
<cue name="My Mìssion Select Cue">
<action>
<do_choose>
<do_when überprüfe dein zeug hier>
<set_value name="this.CueSelect" exact="1"/>
</do_when>
<do_when überprüfe dein zeug hier>
<set_value name="this.CueSelect" exact="2"/>
</do_when>
<do_when überprüfe dein zeug hier>
<set_value name="this.CueSelect" exact="3"/>
</do_when>
<do_otherwise>
<set_value name="this.CueSelect" exact="4"/>
</do_otherwise>
</do_choose>
</action>
</cue>
<cue name="My Mission Cue 1">
<condition>
<check_value value="{value@My Mission Select Cue.CueSelect}" exact="1"/>
</condition>
<action>
...
</action>
</cue>
<cue name="My Mission Cue 1">
<condition>
<check_value value="{value@My Mission Select Cue.CueSelect}" exact="1"/>
</condition>
<action>
...
</action>
</cue>
<cue name="My Mission Cue 2">
<condition>
<check_value value="{value@My Mission Select Cue.CueSelect}" exact="2"/>
</condition>
<action>
...
</action>
</cue>
<cue name="My Mission Cue 3">
<condition>
<check_value value="{value@My Mission Select Cue.CueSelect}" exact="3"/>
</condition>
<action>
...
</action>
</cue>
<cue name="My Mission Cue 4">
<condition>
<check_value value="{value@My Mission Select Cue.CueSelect}" exact="4"/>
</condition>
<action>
...
</action>
</cue>
Einfacher währe eine Cue wo du in der Action den do_choose hast und dann halt dort überprüfst und dementsprechend nur das ausführst was du gerade möchtest.
3. siehe oben <set_value/>
4. Habe ich mir nicht angeschaut

Code: Select all
<find_sector exact="1" name="tr_sector" sector="tr_sector" race="terran" known="1"/>

Als erstes mal ist das sector="tr_sector" da fehl am platze. Und zweitens wirst du sehr warscheinlich keinen Sektor finden. Denn was du machst ist einen Sektor suchen der den Terranern gehört, dem Spieler bekannt sein muss und exakt einen Sprung weit vom aktuellen Spielersektor entfernt liegt. Sollte sich der SPieler aber gerade nicht im Terranergebiet aufhalten wirst du nichts finden!
Keine Garantie aber es könnte sein das folgende Condition dir weiterhilft:ScRaT_GER wrote:Ich stehe etwas auf dem Schlauch. Ich möchte, dass ein Cue erst startet, wenn irgendein Sektor keine Stationen einer bestimmen Klasse mehr hat.
Die Anzahl der Stationen eines Sektors würde ich einfach über <count_stations> regeln, doch wie ich es schaffen kann, dass alle Sektoren berücksichtig werden, weiß ich momentan nicht.
Ist das irgendwie möglich?
EDIT:
Wie kann man alle Sektoren einer bestimmten Rasse und eines bestimmten Typs (Core / Border) finden? "group" scheint bei <find_sector> nicht zu funktionieren!?
MfG,
ScRaT
Code: Select all
<condition>
<count_stations typename="SS_FAC_A_SWARM_COMPLEX" max="0">
<sector x="0" y="0"/>
<jumps max="200"/>
</count_stations>
</condition>
Alle Sektoren auf einmal in einer Variable ist nicht möglich afaik.
Eventuell auch ohne Garantie kannst du nen Sektor in eine Gruppe hinzufügen... also <add_object_to_group group="this.mySectorGroup" object="this.MySector"/> es kann sein das du den Sektor dazu erst mit <set_object name="this.MySector" value="{sector@this.FoundSector}"/> in eine Objektvariable speichern musst...
WIe gesagt ich habe keine Ahnung ob das so wirklich funktioniert aber ein Versuch währe es wert.
gruß
XGamer
X:BtF: 7/10 | X2: 8/10 | X3:R/TC/AP: 8/10 | X:R: 3/10 | X4: 0/10 (3 points for split ships and stations, 4.0 -> -50 points).
If you are raising pirate activity, give me meaningful ways to deal with them PERMANENTLY. Better things to do than replacing ships every 10 minutes, or babysitting ships getting harassed.
Stopped playing X4 with 4.0 due to outrageous, needless and pointless nerfs to everything. Don't change what wasn't broken in the first place.
If you are raising pirate activity, give me meaningful ways to deal with them PERMANENTLY. Better things to do than replacing ships every 10 minutes, or babysitting ships getting harassed.
Stopped playing X4 with 4.0 due to outrageous, needless and pointless nerfs to everything. Don't change what wasn't broken in the first place.
-
- EGOSOFT
- Posts: 12168
- Joined: Fri, 21. May 04, 17:15
Man kann nicht multiple sectors auf einmal suchen lassen.Wie kann man alle Sektoren einer bestimmten Rasse und eines bestimmten Typs (Core / Border) finden? "group" scheint bei <find_sector> nicht zu funktionieren!?
Das geht über find_station für jeden sektor einzeln. Dann entweder direkt den stationstyp suchen lassen (muss man dann dass für jeden Stationstyp einzeln wiederholen) oder alle stationen suchen lassen und danach filtern.Ich möchte, dass ein Cue erst startet, wenn irgendein Sektor keine Stationen einer bestimmen Klasse mehr hat.
Etwa so
Code: Select all
<director name="test" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="director.xsd">
<documentation>
<author alias="Ketraar" contact="Forums"/>
<content name="Stationschecktest" description="Stations check test"/>
<version date="today" number="1.0" status="concept"/>
</documentation>
<cues>
<cue name="Sct_toplevell">
<condition>
<check_age value="{player.age}" min="10s"/>
</condition>
<action>
<do_all>
<set_value name="Sct_toplevell.sectorXvalue" exact="0"/>
<set_value name="Sct_toplevell.sectorYvalue" exact="0"/>
<set_value name="Sct_toplevell.triggervalue" exact="0"/>
</do_all>
</action>
<cues>
<cue name="Sct_findstations" delay="1s">
<condition>
<cue_is_complete cue="Sct_toplevell"/>
</condition>
<timing>
<time exact="1s"/>
</timing>
<action>
<do_all>
<find_sector name="Sct_findstations.searchsector" x="{value@Sct_toplevell.sectorXvalue}" y="{value@Sct_toplevell.sectorYvalue}"/>
<do_choose>
<do_when value="{sector.race@Sct_findstations.searchsector}" list="{lookup.race@default}|{lookup.race@terran}">
<find_station group="Sct_findstations.foundstationsgroup" class="factory" multiple="1" max="9999">
<sector sector="Sct_findstations.searchsector"/>
</find_station>
</do_when>
<do_otherwise>
<do_choose>
<do_when value="{value@Sct_toplevell.sectorXvalue}" max="22">
<set_value name="Sct_toplevell.sectorXvalue" operation="add" exact="1"/>
<reset_cue cue="Sct_findstations"/>
</do_when>
<do_otherwise>
<do_choose>
<do_when value="{value@Sct_toplevell.sectorYvalue}" max="18">
<set_value name="Sct_toplevell.sectorXvalue" exact="0"/>
<set_value name="Sct_toplevell.sectorYvalue" operation="add" exact="1"/>
<reset_cue cue="Sct_findstations"/>
</do_when>
<do_otherwise>
<set_value name="Sct_toplevell.sectorXvalue" exact="0"/>
<set_value name="Sct_toplevell.sectorYvalue" exact="0"/>
<reset_cue cue="Sct_findstations"/>
</do_otherwise>
</do_choose>
</do_otherwise>
</do_choose>
</do_otherwise>
</do_choose>
</do_all>
</action>
<cues>
<cue name="Sct_findstations_filter" delay="1s">
<condition>
<cue_is_complete cue="Sct_findstations"/>
</condition>
<action>
<do_all>
<set_value name="Sct_findstations_filter.LVL1fabscount" exact="0"/>
<set_value name="Sct_findstations_filter.LVL2fabscount" exact="0"/>
<set_value name="Sct_findstations_filter.LVL3fabscount" exact="0"/>
<do_all exact="{group.object.count@Sct_findstations.foundstationsgroup}" counter="stationscounter">
<do_if value="{object.resources.count@{group.object.{counter@stationscounter}@Sct_findstations.foundstationsgroup}}" exact="1">
<set_value name="Sct_findstations_filter.LVL1fabscount" operation="add" exact="1"/>
</do_if>
<do_if value="{object.resources.count@{group.object.{counter@stationscounter}@Sct_findstations.foundstationsgroup}}" exact="2">
<set_value name="Sct_findstations_filter.LVL2fabscount" operation="add" exact="1"/>
</do_if>
<do_if value="{object.resources.count@{group.object.{counter@stationscounter}@Sct_findstations.foundstationsgroup}}" exact="3">
<set_value name="Sct_findstations_filter.LVL3fabscount" operation="add" exact="1"/>
</do_if>
</do_all>
</do_all>
</action>
<cues>
<cue name="Sct_findstations_evalueate">
<condition>
<check_value value="{value@Sct_toplevell.triggervalue}" exact="1"/>
</condition>
<timing>
<time exact="1s"/>
</timing>
<action>
<do_all>
<do_choose>
<do_when value="{value@Sct_findstations_filter.LVL1fabscount}" max="0">
<set_value name="Sct_toplevell.triggervalue" exact="1"/>
</do_when>
<do_when value="{value@Sct_findstations_filter.LVL2fabscount}" max="0">
<set_value name="Sct_toplevell.triggervalue" exact="1"/>
</do_when>
<do_when value="{value@Sct_findstations_filter.LVL3fabscount}" max="0">
<set_value name="Sct_toplevell.triggervalue" exact="1"/>
</do_when>
<do_otherwise>
<do_choose>
<do_when value="{value@Sct_toplevell.sectorXvalue}" max="22">
<set_value name="Sct_toplevell.sectorXvalue" operation="add" exact="1"/>
<reset_cue cue="Sct_findstations"/>
</do_when>
<do_otherwise>
<do_choose>
<do_when value="{value@Sct_toplevell.sectorYvalue}" max="18">
<set_value name="Sct_toplevell.sectorXvalue" exact="0"/>
<set_value name="Sct_toplevell.sectorYvalue" operation="add" exact="1"/>
<reset_cue cue="Sct_findstations"/>
</do_when>
<do_otherwise>
<set_value name="Sct_toplevell.sectorXvalue" exact="0"/>
<set_value name="Sct_toplevell.sectorYvalue" exact="0"/>
<reset_cue cue="Sct_findstations"/>
</do_otherwise>
</do_choose>
</do_otherwise>
</do_choose>
</do_otherwise>
</do_choose>
</do_all>
</action>
</cue>
</cues>
</cue>
</cues>
</cue>
</cues>
</cue>
</cues>
</director>
Code: Select all
<check_value value="{value@Sct_toplevell.triggervalue}" exact="1"/>
MFG
Ketraar

-
- Posts: 2355
- Joined: Sun, 25. Apr 04, 19:09
@raumkraut:
So nachdem ich mir jetzt mal die Mühe gemacht habe deinen Code durchzusehen:
Ich hoffe ich habe nichts übersehen.
greetz
XGamer
So nachdem ich mir jetzt mal die Mühe gemacht habe deinen Code durchzusehen:
- Als erstes mal werden Lokale Variablen verwendet
Also cuename.Variablenname this ist dabei die aktuelle Cue.
- Im Briefing muss es <mission discipline="XXXT" level="easy"/> (oder einer der anderen Werte aus der Liste die aufpoppt) heissen. Es gibt kein level="difficulty"
- Bei den Objectives ist auch so einiges Falsch. Du kannst dir die diversen {object@ und {sector@} sparen... Der erwartet sowieso ein Objekt bzw. einen Sektor. Das ganze sieht dann so aus:
Code: Select all
<objective step="1"> <dockat object="this.tr_station"/> </objective> <objective step="2"> <flyto> <sector sector="this.tr_sector"/> </flyto> </objective>
- Beim letzten Custom Objective fehlt dir mindestens eines der anderen Attribute. Entweder text, object oder actor damit angezeigt wird was denn da gemacht werden soll... So wie das jetzt ist steht im Briefing nur das was in der TFile an der Addresse steht nen Doppelpunkt und dann garnichts mehr.
- Als nächstes hätten wir dann dein <set_objective> beim briefing gibst du eine nicht existierende cue an, was logischerweise nicht geht.
- Noch einiges mehr was aber vom Sinn her schon oben erwähnt wurde...
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<director name="raumkraut93_1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="U:\Program Files\EGOSOFT\X3 Terran Conflict\director\director.xsd">
<cues>
<cue name="rk93_1">
<condition>
<check_all>
<check_value value="{player.notoriety.atf}" min="{lookup.notoriety@notop7}"/>
</check_all>
</condition>
<timing>
<time exact="15s"/>
</timing>
<action>
<do_all>
<find_station name="this.tr_station" race="terrangroup" typename="SS_DOCK_ATF_MILITARY_1">
<sector x="12" y="3"/>
</find_station>
<find_sector name="this.tr_sector" min="0" max="60" nearest="1" race="terran" known="1"/>
<create_actor name="this.u24_4_atfcmd" character="{3895,19}" face="1135" voice="3819" race="terran" object="this.tr_station" location="crew" />
<play_text actor="this.u24_4_atfcmd" pageid="3819" textid="191000" priority="99"/>
<create_briefing cue="rk93_1" title="{71372,1}" text="{71372,2}" background="ship_terran_scimitar.tga">
<mission discipline="XXXT" level="easy"/>
<objectives>
<objective step="1">
<dockat object="this.tr_station"/>
</objective>
<objective step="2">
<flyto>
<sector sector="this.tr_sector"/>
</flyto>
</objective>
<objective step="3">
<custom action="{71372,3}"/>
</objective>
</objectives>
</create_briefing>
<set_objective cue="rk93_1" story="{71372,2}" title="{71372,1}" noabort="1">
<briefing cue="rk93_1" step="1"/>
<mission discipline="XXXT" level="trivial"/>
<dockat object="this.tr_station"/>
</set_objective>
</do_all>
</action>
</cue>
<cue name="rk93_2">
<condition>
<check_all>
<cue_is_complete cue="rk93_1"/>
<object_is_docked dockobject="rk93_1.tr_station"/>
</check_all>
</condition>
<timing>
<time exact="15s"/>
</timing>
<action>
<do_all>
<incoming_message author="{actor.name@rk93_1.u24_4_atfcmd}" text="{7137,1}" popup="1"/>
<set_objective cue="rk93_1" story="{71372,2}" title="{71372,1}" noabort="1">
<briefing cue="rk93_1" step="2"/>
<mission discipline="XXXT" level="trivial"/>
<flyto>
<sector sector="rk93_1.tr_sector"/>
</flyto>
</set_objective>
</do_all>
</action>
</cue>
<cue name="rk93_3">
<condition>
<check_all>
<cue_is_complete cue="rk93_2"/>
</check_all>
</condition>
<action>
<do_all>
<set_objective cue="rk93_1" story="{71372,2}" title="{71372,1}" noabort="1">
<briefing cue="rk93_1" step="3"/>
<mission discipline="XFXX" level="hard"/>
<custom action="{71372,3}" comment="STUFF MISSING HERE AGAIN!!!!"/>
</set_objective>
</do_all>
</action>
</cue>
<cue name="rk93_createenemies">
<condition>
<check_all>
<cue_is_complete cue="rk93_3"/>
</check_all>
</condition>
<action>
<do_all>
<find_gate name="rk93_1.tr_gate" nearest="1">
<sector sector="rk93_1.tr_sector"/>
</find_gate>
<create_special typename="SS_SH_JUMP_BEACON">
<position object="rk93_1.tr_gate" exact="20km" />
<sector sector="rk93_1.tr_sector"/>
</create_special>
<create_ship group="rk93_1.xenon" race="xenon" typename="SS_SH_X_M7">
<sector sector="rk93_1.tr_sector"/>
<equipment loadout="default" />
<command command="killenemies"/>
</create_ship>
<create_ship group="rk93_1.xenon" race="xenon" typename="SS_SH_X_M3">
<sector sector="rk93_1.tr_sector"/>
<equipment loadout="default" />
<command command="killenemies"/>
</create_ship>
<create_ship group="rk93_1.xenon" race="xenon" typename="SS_SH_X_M3">
<sector sector="rk93_1.tr_sector"/>
<equipment loadout="default" />
<command command="killenemies"/>
</create_ship>
<create_ship group="rk93_1.xenon" race="xenon" typename="SS_SH_X_M6">
<sector sector="rk93_1.tr_sector"/>
<equipment loadout="default" />
<command command="killenemies"/>
</create_ship>
<create_ship group="rk93_1.xenon" race="xenon" typename="SS_SH_X_M6">
<sector sector="rk93_1.tr_sector"/>
<equipment loadout="default" />
<command command="killenemies"/>
</create_ship>
</do_all>
</action>
</cue>
<cue name="rk93_4">
<condition>
<check_all>
<cue_is_complete cue="rk93_createenemies"/>
<all_objects_destroyed group="rk93_1.xenon"/>
</check_all>
</condition>
<action>
<do_all>
<remove_objective cue="rk93_1" status="complete"/>
<remove_briefing cue="rk93_1"/>
<incoming_message author="{actor.name@rk93_1.u24_4_atfcmd}" text="{71371,2}" popup="1" />
<reward_player>
<notoriety>
<relation race="atf" operation="add" exact="notop2"/>
</notoriety>
</reward_player>
</do_all>
</action>
</cue>
</cues>
</director>
greetz
XGamer
X:BtF: 7/10 | X2: 8/10 | X3:R/TC/AP: 8/10 | X:R: 3/10 | X4: 0/10 (3 points for split ships and stations, 4.0 -> -50 points).
If you are raising pirate activity, give me meaningful ways to deal with them PERMANENTLY. Better things to do than replacing ships every 10 minutes, or babysitting ships getting harassed.
Stopped playing X4 with 4.0 due to outrageous, needless and pointless nerfs to everything. Don't change what wasn't broken in the first place.
If you are raising pirate activity, give me meaningful ways to deal with them PERMANENTLY. Better things to do than replacing ships every 10 minutes, or babysitting ships getting harassed.
Stopped playing X4 with 4.0 due to outrageous, needless and pointless nerfs to everything. Don't change what wasn't broken in the first place.
-
- Posts: 1368
- Joined: Wed, 18. Mar 09, 22:20
-
- Posts: 1962
- Joined: Tue, 8. Jan 08, 18:19
Danke erstmal an XGamer und Ketraar für die Hilfe und den Code!
Dabei stellt sich mir nur die Frage: Wie kann man, wenn man z.B. die Bedingung <any_object_destroyed> stellt, im Action - Node herausfinden, welches Objekt zerstört wurde?
Hier der Code:
Im Spiel bekommt man keine Nachricht(en). Funktionieren Groups mit den Rassen nicht oder ist der Code einfach nur fehlerhaft?
Wenn das schon nicht funktioniert, dann wird das mit den Sektoren wohl auch nicht funktionieren...
Es ist zu schade, dass <count_stations> nur als Bedingung funktioniert.
MfG,
ScRaT
Das wäre ein ziemliches Problem. Dann muss ich das anders lösen, vielleicht indem ich eine Gruppe von Stationen anlege und bei Zerstörung einer dieser Stationen schaue, ob der Sektor jetzt frei von Stationen dieser Klasse ist.Das wird die Performance etwas beanspruchen weil das dauernd läuft bis es zutriff.
Dabei stellt sich mir nur die Frage: Wie kann man, wenn man z.B. die Bedingung <any_object_destroyed> stellt, im Action - Node herausfinden, welches Objekt zerstört wurde?
Ich habe dies nun mit einer Gruppe versucht, in der alle (bzw. erstmal nur 4) Rassen sein sollen.Eventuell auch ohne Garantie kannst du nen Sektor in eine Gruppe hinzufügen... also <add_object_to_group group="this.mySectorGroup" object="this.MySector"/> es kann sein das du den Sektor dazu erst mit <set_object name="this.MySector" value="{sector@this.FoundSector}"/> in eine Objektvariable speichern musst...
Hier der Code:
Code: Select all
<cues>
<cue name="scrat_test_init">
<condition>
<check_age value="{player.age}" exact="1s"/>
</condition>
<action>
<do_all>
<set_object name="this.race1" value="{lookup.race@argon}"/>
<add_object_to_group group="this.races" object="this.race1"/>
<set_object name="this.race2" value="{lookup.race@boron}"/>
<add_object_to_group group="this.races" object="this.race2"/>
<set_object name="this.race3" value="{lookup.race@teladi}"/>
<add_object_to_group group="this.races" object="this.race3"/>
<set_object name="this.race4" value="{lookup.race@split}"/>
<add_object_to_group group="this.races" object="this.race4"/>
</do_all>
</action>
<cues>
<cue name="scrat_test_races">
<condition>
<cue_completed cue="scrat_test_init"/>
</condition>
<action>
<do_all exact="{group.object.count@scrat_test_init.races}" counter="mycount">
<incoming_message author="DEBUG" text="Rasse {counter@mycount}: {group.object.{counter@mycount}@scrat_test_init.races}"/>
</do_all>
</action>
</cue>
</cues>
</cue>
</cues>
Wenn das schon nicht funktioniert, dann wird das mit den Sektoren wohl auch nicht funktionieren...
Es ist zu schade, dass <count_stations> nur als Bedingung funktioniert.
MfG,
ScRaT
-
- Posts: 468
- Joined: Thu, 18. Jan 07, 15:32
Hi ScRaT_GER
versuch mal mit lockeren condition. exact 1s ist sehr heftig da lädt das Spiel ja noch
dazu kommt das es nur exatc 1s spielzeit zu trifft mach da mal min 10s.
und rein zur Sicherheit nimmst den event check aus dem 2 cue und machst sollte zwar auch so mit cue_completed gehen aber ist so ja schon nen Experiment für sich und warum sich selber schwerer machen als nötig
Ob das mit Rassen in einer Gruppe geht weis ich jetzt nicht braute sowas noch nicht.
MfG
Jens Ka
versuch mal mit lockeren condition. exact 1s ist sehr heftig da lädt das Spiel ja noch

und rein zur Sicherheit nimmst den event check aus dem 2 cue und machst
Code: Select all
<cue_is_complete cue="scrat_test_init"/>

Ob das mit Rassen in einer Gruppe geht weis ich jetzt nicht braute sowas noch nicht.
MfG
Jens Ka
MD IST NICHT MSCI!!!!
MD ist Eventdriven. Es passiert etwas - du reagierst darauf.
Bin nicht für weitere Mod Projekte zu haben.
ND VSM XTC
Allgemeine MD-Fragen
MD ist Eventdriven. Es passiert etwas - du reagierst darauf.
Bin nicht für weitere Mod Projekte zu haben.
ND VSM XTC
Allgemeine MD-Fragen
-
- Posts: 2355
- Joined: Sun, 25. Apr 04, 19:09
ich sprach von Actors und nicht von Rassen 

X:BtF: 7/10 | X2: 8/10 | X3:R/TC/AP: 8/10 | X:R: 3/10 | X4: 0/10 (3 points for split ships and stations, 4.0 -> -50 points).
If you are raising pirate activity, give me meaningful ways to deal with them PERMANENTLY. Better things to do than replacing ships every 10 minutes, or babysitting ships getting harassed.
Stopped playing X4 with 4.0 due to outrageous, needless and pointless nerfs to everything. Don't change what wasn't broken in the first place.
If you are raising pirate activity, give me meaningful ways to deal with them PERMANENTLY. Better things to do than replacing ships every 10 minutes, or babysitting ships getting harassed.
Stopped playing X4 with 4.0 due to outrageous, needless and pointless nerfs to everything. Don't change what wasn't broken in the first place.
-
- Posts: 1962
- Joined: Tue, 8. Jan 08, 18:19
Meinst du mich?

Naja, ich habe die von Jens Ka vorgeschlagenen Änderungen ausprobiert, leider ohne Erfolg.
Ich vermute, da muss ich irgendeine andere Lösung finden.
Ob es mit Sektoren funktioniert habe ich jetzt noch nicht versucht, werde ich aber noch machen.
Ich würde es halt gerne irgendwie hinbekommen, dass alle Kern- und Grenzsektoren jeder Rasse gezählt werden. Ich denke ich werde es so versuchen, wie Ketraar es in seinem Codebeispiel gemacht hat, also mittels X- und Y-Koordinaten die Sektoren "abfahren" und dann den eine Variable für jede Rasse und jeden Sektortyp. Dass ich dann nicht die einzelnen Sektoren als richtige Gruppe bekomme, muss ich dann wohl hinnehmen.
Danke für die Hilfe!
MfG,
ScRaT
Außerdem sprachst du von Sektoren, nicht von Actors.ScRaT_GER wrote:Wenn das schon nicht funktioniert, dann wird das mit den Sektoren wohl auch nicht funktionieren...

Naja, ich habe die von Jens Ka vorgeschlagenen Änderungen ausprobiert, leider ohne Erfolg.
Ich vermute, da muss ich irgendeine andere Lösung finden.
Ob es mit Sektoren funktioniert habe ich jetzt noch nicht versucht, werde ich aber noch machen.
Ich würde es halt gerne irgendwie hinbekommen, dass alle Kern- und Grenzsektoren jeder Rasse gezählt werden. Ich denke ich werde es so versuchen, wie Ketraar es in seinem Codebeispiel gemacht hat, also mittels X- und Y-Koordinaten die Sektoren "abfahren" und dann den eine Variable für jede Rasse und jeden Sektortyp. Dass ich dann nicht die einzelnen Sektoren als richtige Gruppe bekomme, muss ich dann wohl hinnehmen.
Danke für die Hilfe!
MfG,
ScRaT
-
- Posts: 2355
- Joined: Sun, 25. Apr 04, 19:09
hm naja mixed up 
aber rassen gehen ebenfalls nicht inner Gruppe - woher auch...

aber rassen gehen ebenfalls nicht inner Gruppe - woher auch...
X:BtF: 7/10 | X2: 8/10 | X3:R/TC/AP: 8/10 | X:R: 3/10 | X4: 0/10 (3 points for split ships and stations, 4.0 -> -50 points).
If you are raising pirate activity, give me meaningful ways to deal with them PERMANENTLY. Better things to do than replacing ships every 10 minutes, or babysitting ships getting harassed.
Stopped playing X4 with 4.0 due to outrageous, needless and pointless nerfs to everything. Don't change what wasn't broken in the first place.
If you are raising pirate activity, give me meaningful ways to deal with them PERMANENTLY. Better things to do than replacing ships every 10 minutes, or babysitting ships getting harassed.
Stopped playing X4 with 4.0 due to outrageous, needless and pointless nerfs to everything. Don't change what wasn't broken in the first place.
-
- Posts: 1962
- Joined: Tue, 8. Jan 08, 18:19
Ok, dann hat sich ja alles erledigt. ^^hm naja mixed up
Was kann man denn so grundlegendes über Gruppen bzw. "groups" sagen?
Ich weiß, der Vergleich/Erwähnung ist hier nicht gern gesehen, aber aus dem SE kennt man ja Arrays, die so ziemliches alles beinhalten können.
Kann man Groups mit Arrays vergleichen und welche Objekte können sie beinhalten?
Kann man auch eine Gruppe "starten", indem man
<set_object name='this.obect' group='this.mygroup' value=.../>
verwendet oder geht das nur über die entsprechenden <find_ship/station... group="this.mygroup' ...> - Befehle?
MfG,
ScRaT
-
- Posts: 2355
- Joined: Sun, 25. Apr 04, 19:09
du hättest deine Antwort wesentlich schneller gehabt wenn du es ausprobiert hättest. 
Generell können groups aus Objekten bestehen. Also im Grunde Schiffen und Stationen.

Generell können groups aus Objekten bestehen. Also im Grunde Schiffen und Stationen.
X:BtF: 7/10 | X2: 8/10 | X3:R/TC/AP: 8/10 | X:R: 3/10 | X4: 0/10 (3 points for split ships and stations, 4.0 -> -50 points).
If you are raising pirate activity, give me meaningful ways to deal with them PERMANENTLY. Better things to do than replacing ships every 10 minutes, or babysitting ships getting harassed.
Stopped playing X4 with 4.0 due to outrageous, needless and pointless nerfs to everything. Don't change what wasn't broken in the first place.
If you are raising pirate activity, give me meaningful ways to deal with them PERMANENTLY. Better things to do than replacing ships every 10 minutes, or babysitting ships getting harassed.
Stopped playing X4 with 4.0 due to outrageous, needless and pointless nerfs to everything. Don't change what wasn't broken in the first place.