Aufgabe: Feststellen ob ein Sektor bekannt ist, oder nicht, nach dem man ihn das erste mal durch ein Tor erreicht hat!
Lösung: <sector_is_known>, <object.sector@object> etc.
Ergebnis: Gute Idee, schlechte Ausführung, da ein Sektor in der Sekunde des Ereichens ja "known" ist.
Eine Evaluierung mittels einer Array-Liste wie beim scripten gibt es für MD nicht, oder doch? Also quasi bei Spielstart alle Sektoren außer dem, in dem mann sich befindet in eine "Liste/Gruppe" einfügen und dann jeweils den einzelnen Sektor aus der Gruppe/Liste entfernen, wenn der Sektor "known" ist? Wie auch immer, ich habe es nicht hinbekommen.
Lösung02: Ein unsichtbares Dummyobjekt in alle besuchten Sektoren einfügen, um es als existierenedes Objekt referenzieren zu können.
Ergebnis: auch ne gute Idee...ich kill hier gleich mein Keyboard...
Der aktuelle Code sieht so oder so ähnlich aus:
Code: Select all
<cue name="TX_MD02_cue01">
<!--condition>
<check_all>
<cue_is_complete cue="TX_MD01_cue04"/>
</check_all>
</condition-->
<action>
<create_debris name="TX_MD02_sector_dummy" typename="SS_DEBRIS_FGH" invincible="1" hidden="1" scanned="0">
<position object="{player.ship}" min="1000km"/>
</create_debris>
</action>
</cue>
<cue name="TX_MD02_cue02">
<condition>
<check_all>
<object_changed_sector/>
<object_sector negate="1" object="TX_MD02_sector_dummy">
<position object="{player.ship}"/>
<sector sector="{player.sector}"/>
</object_sector>
</check_all>
</condition>
<timing>
<time min="1s"/>
</timing>
<action>
<do_all>
<incoming_message text="Hat geklappt!"/>
<reward_player>
<money exact="1000"/>
</reward_player>
<create_debris name="TX_MD02_sector_dummy" typename="SS_DEBRIS_FGH" invincible="1" hidden="1" scanned="0">
<position object="{player.ship}" min="1000km"/>
</create_debris>
<reset_cue cue="TX_MD02_cue02"/>
</do_all>
</action>
</cue>
Warum kann ich nicht einfach Fragen: Ist das Objekt in diesem Sektor=ja, oder nein? Warum muss ich fragen Ist das Objekt im Sektor ja/nein UND in 100km Entfernung, oder ja/nein UND minimum 1 Sektor entfernt? Einfach ja, es ist hier, oder nein es ist nicht hier...einfach nur ein schnöder Boolean ohne Zusatzbedingung. Bei <object_position> war es egal ob verneint oder nicht, egal ob min oder max, egal welche Distanz, egal was auch immer. Er hat einfach entweder immer positiv die action gestartet, oder immer negativ, je nach dem was verändert wurde. Die action aber nur dann durchzuführen, wenn sich das Objekt noch nicht im Sektor befunden hat, wollte die doofe Engine einfach nicht machen. Und jetzt hab ich halt grad mal eine Stressblockade...da geht eh nix mehr...