Page 5 of 8

Posted: Thu, 24. Apr 08, 13:01
by Jens Ka
Hallo alle zusammen

Ich möchte eine distance apfragen zwischen dem Player Schiff und einem Feind Schiff! Ich kriege das ihrgend wie nicht hin.
Das ganse soll in ein condition .
Hir mal der Code:

Code: Select all

<cues>
                <cue name="escort_fluechtling">
                  <condition>
                    <check_all>
                      <object_sector object="create_fluechtling.Fluechtling" exact="0">
                        <sector x="0" y="2"/>
                      </object_sector>
                      <check_distance value="create_fluechtling.Fluechtling" min="8km"/>
                    </check_all>
                  </condition>
                  <action>
                    <do_all exact="2">
                      <create_ship group="this.FL_Escorte" class="m4" capturable="0" highlight="0" racelogic="1" race="pirate" typename="{random.type@SS_SH_M4_P|SS_SH_M4_P_1|SS_SH_M4_P_2|SS_SH_M4_P_3}">
                        <position object="Fluechtling" min="1km"/>
                        <equipment loadout="maximum">
                        </equipment>
                        <pilot race="pirate"/>
                      </create_ship>
                      <set_group_command group="this.FL_Escorte" command="attack" commandobject="{player.ship}"/>
                      <complete_cue cue="escort_fluechtling"/>
                    </do_all>
                  </action>
                  <cues>
MfG

Jens Ka

Posted: Thu, 24. Apr 08, 13:06
by Ketraar
Auf anhieb würde ich sagen

Code: Select all

<check_distance value="create_fluechtling.Fluechtling" min="8km"/>
Sollte eher

Code: Select all

<check_distance value="{ship@create_fluechtling.Fluechtling}" min="8km"/>
oder

Code: Select all

<check_distance value="{object@create_fluechtling.Fluechtling}" min="8km"/>
MFG

Ketraar

Posted: Thu, 24. Apr 08, 15:53
by Jens Ka
@Ketraar

Das löst leider nicht mein Problem. Die Schiffe werden sofort erstelt und nicht wie von mir gewolt wenn der Player 8km an das ziel ran ist!



Jens Ka

Posted: Thu, 24. Apr 08, 16:04
by Ketraar
Versuch es mal so

Code: Select all

<condition>
        <check_all>
          <object_sector object="create_fluechtling.Fluechtling" exact="0">
          <sector x="0" y="2"/>
          </object_sector>
          <object_position object="{player.ship}" comment="Die angabe {player.ship} ist nicht unbedingt nötig, aber es erklärt sich so besser">
            <position object="create_fluechtling.Fluechtling" min="8km"/>
          </object_position>
        </check_all>
      </condition>
MFG

Ketraar

Posted: Thu, 24. Apr 08, 17:58
by Jens Ka
@Ketraar

Nein das geht auch nicht. werden sofort erstelt die Schiffe!

Habe das mal versucht!

Code: Select all

<condition>
                    <check_all>
                      <cue_completed cue="create_fluechtling"/>
                      <object_exists object="create_fluechtling.Fluechtling"/>
                      <check_distance value="{object.distance@create_fluechtling.Fluechtling}" min="8km" max="10km"/>
                    </check_all>
                  </condition>
Auf na Station geht das aufm Schiff nicht!

Jens Ka

Posted: Tue, 6. May 08, 19:58
by Xanatos
Hab mir jetzt nach 4 Monaten mal wieder den MD angeschaut: wenn ich bei einem bestimmten Wert (z.B. Rasse) eine, bzw mehrere Aktionen ausführen will, benutze ich dann do_if, oder do_choose?
Ich vermute mal, mit do_if kann man nicht mehrere Aktionen zur Auswahl stellen, oder?
Bei do_choose hab ich do_when und do_otherwise. Kann ich die auch so verschachteln, das sich im endeffekt 5 verschiedenen Möglichkeiten habe?


Um kurz zusammen zufassen, was ich erreichen will:

Ich hab die Rasse der Station, auf der der Spieler angedockt ist.
Nun will ich Schiffe erstellen, die der Rasse entsprechen, zu der diese Station gehört.
Also habe ich 5 Möglichkeiten (A,B,P,S,T), die ich möglichst alle in einem cue unterbringen will.
(mit mehreren cues müsste es zwar auch gehen, aber das würde Datei wohl noch unübersichtlicher machen)

Weiß da jemand was dazu?

Posted: Tue, 6. May 08, 20:32
by Jens Ka
Xanatos wrote:Ich vermute mal, mit do_if kann man nicht mehrere Aktionen zur Auswahl stellen, oder?
Bei do_choose hab ich do_when und do_otherwise. Kann ich die auch so verschachteln, das sich im endeffekt 5 verschiedenen Möglichkeiten habe?
Allso vorweg ich auch noch anfänger ! Mit do_if weis ich jetzt nicht obs geht mit do_choose do_wehn do_otherwise Geht das was du vor hast !

hir mal meine mommentan verwendung! vieleicht kannst was mit anfangen!

Code: Select all

<action>
        <do_all>
          <do_choose>
            <do_when value="{player.ship.class}" exact="{lookup.class@m3}">
              <set_value name="this.Schiffstypename" exact="{lookup.type@{random.type@SS_SH_A_M3|SS_SH_B_M3|SS_SH_P_M3|SS_SH_S_M3|SS_SH_T_M3}}"/>
            </do_when>
            <do_when value="{player.ship.class}" exact="{lookup.class@m4}">
              <set_value name="this.Schiffstypename" exact="{lookup.type@{random.type@SS_SH_A_M4|SS_SH_B_M4|SS_SH_P_M4|SS_SH_S_M4|SS_SH_T_M4}}"/>
            </do_when>
            <do_otherwise>
              <set_value name="this.Schiffstypename" exact="{lookup.type@{random.type@SS_SH_A_M5|SS_SH_B_M5|SS_SH_P_M5|SS_SH_S_M5|SS_SH_T_M5}}"/>
            </do_otherwise>
          </do_choose>
MFG

Jens

Posted: Tue, 6. May 08, 21:47
by Jens Ka
:!: Mal an Alle MD interessierten :!:

:!: Die BBS Missionen gehen nicht :!:

Da ist ein kleiner Fehler drin.


MFG

Jens Ka

Posted: Tue, 6. May 08, 22:34
by Xanatos
Öhm, also bei mir gehen sie. Zumindest meine hat bei mir eigentlich funktioniert :?

Posted: Tue, 6. May 08, 23:27
by Ketraar
Also hier mal ein ein do_choose Beispiel

Code: Select all

  <cues>
    <cue name="findedensektor">
      <action>
        <do_all>
          <find_sector name="irgendeinsektor" x="0" y="0" comment="Hier haben wir ein sektor gefunden, kann aber ein objekt oder sonstwas sein"/>
          <find_sector name="zweitersektor" x="1" y="1" comment="bei objekten empfiehlt sich den prefix this. zu nutzen"/>
          <find_sector name="undnocheiner" x="1" y="0"/>
        </do_all>
      </action>
      <cues>
        <cue name="dochoosebeispiel">
          <action>
            <do_choose>
              <do_when value="{player.sector}" exact="{sector@findedensektor.irgendeinsektor}">
                <!-- hier die action einfügen -->
              </do_when>
              <do_when value="{player.sector}" exact="{sector@findedensektor.zweitersektor}">
                <!-- hier die action einfügen -->
              </do_when>
              <do_otherwise comment="Die wird gemacht, sollte keins der obigen do_when zutreffen">
                <!-- hier die action einfügen -->
              </do_otherwise>
            </do_choose>
          </action>
        </cue>
      </cues>
    </cue>
  </cues>
Das war jetzt etwas unter Zeitdruck gemacht, für ausführlichere Erklärungen hab ich heute leider keine Zeit. Vielleicht ein andermal.

MFG

Ketraar

Posted: Wed, 7. May 08, 20:28
by Xanatos
Würde das dann so funktionieren?

Code: Select all

  <cues>
    <cue name="findedierasse">
      <action>
        <do_all>
          <set_value name="this.rasse" exact="{player.dockobject.race}"/>
        </do_all>
      </action>
      <cues>
        <cue name="dochoose">
          <action>
            <do_choose>
              <do_when value="{lookup.race.name@{value@findedierasse.rasse}}" exact="{lookup.race.name@argon}">
                <!-- hier die action einfügen -->
              </do_when> 
      .......

Oder wie kann ich einen festen Wert abfragen?

Posted: Thu, 8. May 08, 19:37
by Xanatos
Kann ich in Nachrichten die TextID auch als Rechnung einfügen?

Ich möchte für jede Rasse einen spezifischen Text.
Deswegen hab ich mir gedacht, ich benütze zur Festlegung der Mission die 2. Ziffer (1X0) und für die Rasse die 3. Ziffer (10Y)

Das würde im Textfile dann so aussehen:

Code: Select all

<language id="49">
  
  <page id="8333" desc="XAN_BBS_Lockvogel">
    <!--Authors-->
    <t id="100">Argonen</t>
    <t id="101">Boronen</t>
    <t id="102">Teladi</t>
    <t id="103">Split</t>
    <t id="104">Paraniden</t>
    <t id="105">Sonstige Rassen</t>
    
    <!--BBS-Texts-->
    <t id="110">Text1 der Argonen</t>
    <t id="111">Text1 der Boronen</t>
    <t id="112">Text1 der Teladi</t>
    <t id="113">Text1 der Split</t>
    <t id="114">Text1 der Paraniden</t>
    <t id="115">Text1 der sonstigen Rassen</t>
    
    <!--Mission_Texts_Accepted-->
    <t id="120">Text2 der Argonen</t>
    <t id="121">Text2 der Boronen</t>
    <t id="122">Text2 der Teladi</t>
    <t id="123">Text2 der Split</t>
    <t id="124">Text2 der Paraniden</t>
    <t id="125">Text2 der sonstigen Rassen</t>
    
    <!--Mission_Texts_abgebrochen-->
    <t id="130"></t>
    <t id="131"></t>
    <t id="132"></t>
    <t id="133"></t>
    <t id="134"></t>
    <t id="135"></t>
    
  </page>

</language>
Und in meinem Script würde ich dann folgendes verwenden:

Code: Select all

<ask_question author="(8333,{value@XAN_BBS_LV_Mission_Offer.authorID})" text="(8333,({value@XAN_BBS_LV_Mission_Offer.textID}+10))" />
bzw +20, +30, +40 um die nächsten Texte anzuzeigen.



EDIT:
Also auf diese Weise funktionierts nicht, aber man kann vor jeder Nachricht ja einen neuen set_value Befehl mit der Rechnung einbauen.

Posted: Sat, 10. May 08, 18:05
by Xanatos
Und nochmal ich :roll:


Welche Abfrage ist eurer Meinung nach besser?

Code: Select all

<check_all>
  <check_any>
    <object_destroyed object="XAN_BBS_LV_Piraten_kommen.pirate1"/>
    <object_destroyed_by_player object="XAN_BBS_LV_Piraten_kommen.pirate1"/>
  </check_any>
  <check_any>
    <object_destroyed object="XAN_BBS_LV_Piraten_kommen.pirate2"/>
    <object_destroyed_by_player object="XAN_BBS_LV_Piraten_kommen.pirate2"/>
  </check_any>
  <check_any>
    <object_destroyed object="XAN_BBS_LV_Piraten_kommen.pirate2"/>
    <object_destroyed_by_player object="XAN_BBS_LV_Piraten_kommen.pirate2"/>
  </check_any>
<check_all>
oder

Code: Select all

<check_all>
  <object_exists object="XAN_BBS_LV_Piraten_kommen.pirate1" negate="1"/>
  <object_exists object="XAN_BBS_LV_Piraten_kommen.pirate2" negate="1"/>
  <object_exists object="XAN_BBS_LV_Piraten_kommen.pirate3" negate="1"/>
</check_all>

Posted: Sat, 10. May 08, 18:40
by XGamer
ersteres da dort Events genutzt werden ;)

greetz
XGamer

Posted: Sat, 10. May 08, 18:43
by XGamer
Jens Ka wrote:Hallo alle zusammen

Ich möchte eine distance apfragen zwischen dem Player Schiff und einem Feind Schiff! Ich kriege das ihrgend wie nicht hin.
Das ganse soll in ein condition .
Hir mal der Code:

Code: Select all

<cues>
                <cue name="escort_fluechtling">
                  <condition>
                    <check_all>
                      <object_sector object="create_fluechtling.Fluechtling" exact="0">
                        <sector x="0" y="2"/>
                      </object_sector>
                      <check_distance value="create_fluechtling.Fluechtling" min="8km"/>
                    </check_all>
                  </condition>
                  <action>
                    <do_all exact="2">
                      <create_ship group="this.FL_Escorte" class="m4" capturable="0" highlight="0" racelogic="1" race="pirate" typename="{random.type@SS_SH_M4_P|SS_SH_M4_P_1|SS_SH_M4_P_2|SS_SH_M4_P_3}">
                        <position object="Fluechtling" min="1km"/>
                        <equipment loadout="maximum">
                        </equipment>
                        <pilot race="pirate"/>
                      </create_ship>
                      <set_group_command group="this.FL_Escorte" command="attack" commandobject="{player.ship}"/>
                      <complete_cue cue="escort_fluechtling"/>
                    </do_all>
                  </action>
                  <cues>
MfG

Jens Ka
ka in wieweit das noch aktuell ist aber ich geb dir trotzdem mal ne Antwort:

wie du in einem späteren Posting erwähnt hast werden die Schiffe sofort erstellt und nicht wie du möchtest sobald der Spieler bis auf 8km an das Schiff ran ist...

Das ist auch logisch da du ja überprüfst ob der Spieler MINDESTENS 8km vom Schiff weg ist... Da das am Anfang ja aller Warscheinlichkeit nach zutrifft werden die Schiffe erstellt...

Würdest du nun anstatt min="8km" max="8km" schreiben würde das ganze so funktionieren wie du möchtest...

Posted: Sat, 10. May 08, 19:07
by Jens Ka
Hallo XGamer

Großes Danke !!
Jetzt ist mir klar warum das nicht so wolte wie ich das vor hate!
Es sind doch immer die kleinichkeiten die zum Ziel füren :)

MFG

Jens Ka

Posted: Mon, 12. May 08, 15:58
by Jens Ka
Jetzt habe ich ein Problem!
Wiel eine Angrifswelle createn aber nichts zu sehn von den Schiffen
davor ist schon ein Angrifswellen cue der keine probleme macht.
Irgendwo ist der Wurm drin in dem cue.

Code: Select all

<cue name="KPA Prueffung2">
                  <condition>
                    <check_all>
                      <all_objects_destroyed group="KPA Prueffung.FIGHTDRONEN"/>
                      <cue_completed cue="KPA Prueffung"/>
                    </check_all>
                  </condition>
                  <timing>
                    <time min="8s"/>
                  </timing>
                  <action>
                    <do_all>
                      <do_choose>
                        <!--**********create M3**********-->
                        <do_when value="{player.ship.class}" exact="{lookup.class@m3}">
                          <do_all exact="3">
                            <create_ship group="this.Piriwave" class="{player.ship.class}" typename="{value@KPA_toplevell.attackwave}"
                                         race="pirate" capturable="1" highlight="0" racelogic="1">
                              <position object="{player.ship}" min="2km" max="3km"/>
                              <sector sector="{player.sector}"/>
                              <equipment loadout="default"/>
                              <pilot race="pirate"/>
                            </create_ship>
                          </do_all>
                        </do_when>
                        <!--**********create M4**********-->
                        <do_when value="{player.ship.class}" exact="{lookup.class@m4}">
                          <do_all exact="3">
                            <create_ship group="this.Piriwave" class="{player.ship.class}" typename="{value@KPA_toplevell.attackwave}"
                                       race="pirate" capturable="1" highlight="0" racelogic="1">
                              <position object="{player.ship}" min="2km" max="3km"/>
                              <sector sector="{player.sector}"/>
                              <equipment loadout="default"/>
                              <pilot race="pirate"/>
                            </create_ship>
                          </do_all>
                        </do_when>
                        <!--**********create M5**********-->
                        <do_otherwise>
                          <do_all exact="3">
                            <create_ship group="this.Piriwave" class="{player.ship.class}" typename="{value@KPA_toplevell.attackwave}"
                                       race="pirate" capturable="1" highlight="0" racelogic="1">
                              <position object="{player.ship}" min="2km" max="3km"/>
                              <sector sector="{player.sector}"/>
                              <equipment loadout="default"/>
                              <pilot race="pirate"/>
                            </create_ship>
                          </do_all>
                        </do_otherwise>
                      </do_choose>
                      <set_group_command group="KPA Prueffung2.Piriwave" command="attack" commandobject="{player.ship}"/>
                      <complete_cue cue="KPA Prueffung2"/>
                    </do_all>
                  </action>
Den ich nicht finde :cry:

MFG

Jens Ka

Posted: Mon, 12. May 08, 18:41
by XGamer

Code: Select all

                  <timing> 
                    <time min="8s"/> 
                  </timing> 
Kein Wunder :roll:

Du kannst wenn du Pech hast 10 Ingametage und mehr auf deine Cue warten :D

du sagst ihm das er mit der Ausführung der Actions mindestens 8 sekunden warten soll.... naja 10 Ingametage sind mindestens 8 Sekunden ;)

änder das mal so ab:

Code: Select all

                  <timing> 
                    <time min="8s" max="30s"/> 
                  </timing> 
oder auch

Code: Select all

                  <timing> 
                    <time exact="8s"/> 
                  </timing> 
desweiteren bin ich unschlüssig wegen deiner <create_ship> Actions... würde mich nicht wundern wenn die Fehler ohne Ende schmeissen bzw. nicht funktionieren...

Desweiteren wozu der <do_choose>? Egal was passiert es wird immer derselbe <do_all> ausgeführt da du egal wo denselben hinkopiert hast... dann kannst du dir den <do_choose> auch schenken und einfach nur den do_all hinpacken und fertig. Das ergebnis (sofern es eins gibt) wird in beiden Fällen dasselbe sein.

Desweiteren zu welchem Zweck verwendest du <complete_cue> ???

greetz
XGamer

Posted: Mon, 12. May 08, 21:31
by Xanatos
:shock:

1. irgendwas funktioniert beim Nachschauen, bzw Auswählen der Rasse der Station nicht

2. der erstellt alle Schiffe doppelt? :?

3. und ich weiß nicht, warum das so ist...


Hier mal die Dateien:
http://www.file-upload.net/download-846 ... l.rar.html

Posted: Mon, 12. May 08, 23:16
by XGamer
1.

Code: Select all

                    <cue name="XAN_BBS_LV_abgebrochen">
                      <timing>
                        <time min="1s"/>
                      </timing>
Max vergessen... siehe oben...

2.

Code: Select all

                        <cue name="XAN_BBS_LV_Signal">
                          <timing>
                            <count min="20" max="30"/>
                            <time min="2s"/>
                            <interval exact="1s"/> <!--intervall muss noch abgestimmt werden-->
                          </timing>
siehe 1.
Desweiteren... bist du sicher das du 40x ein nervigen Piepton / Alarm sonstwas hören möchtest? oO
Update: Ok keine 40 mal aber doch mindestens 9x da du die cue nach 9sekunden abbrechen lässt... Warum du dann erst sagst mindestens 30x is mir fraglich....


3.

Code: Select all

                            <cue name="XAN_BBS_LV_zu_fruehe_Flucht">
.......
                                  <find_sector name="this.jumpsec" exact="1"/>
                                  <find_gate name="this.jumpgate" nearest="1">
                                    <sector sector="this.jumpsec"/>
                                  </find_gate>
<find_sector> entfernen.
Alle folgenden Vorkommnisse von this.jumpsec ändern in {player.sector} ich denke das ist das was du erreichen möchtest....

4.

Code: Select all

<cue name="XAN_BBS_LV_Polizei_verschwindet">
siehe 3.


mal was allgemeines:
1. Du weist das <timing> optional ist oder?
2. Warum zur Hölle <ask_question>??? Du hast keine Referenz auf deine ganzen Fragen die du stellst... Ich vermute daher das du <incoming_message> noch nicht gesehen hast? :roll:
ask_question ist um dem Spieler eine Auswahl zu geben... Nicht um ihm etwas mitzuteilen an dem er nichts ändern kann... Das Gegenstück zu <ask_question> ist <answered_question> welches den Rückgabewert überprüft... Wird nur nie von dir verwendet deshalb der Verweis auf <incoming_message>

PS: Kein Bock gehabt deine 300 Zeilen Create_Ship und <add_equipment> / <add_cargo> genau durchzugucken... hab schliesslich auch wichtigeres zu tun... Desweiteren hab ich den Textfile mal ignoriert...


nur mal recht fix durchgeschaut und recht viel gefunden... wenn ich mal viel viel Zeit und grossartig langeweile habe guck ich nochmal genauer durch... bis dahin hilft dir das ja vlt...

greetz
XGamer