[DISKUSSION] Allgemeine MD-Fragen

Hier ist der ideale Ort um über Scripts und Mods für X³: Terran Conflict und X³: Albion Prelude zu diskutieren.

Moderators: Moderatoren für Deutsches X-Forum, Scripting / Modding Moderators

Post Reply
User avatar
Aldebaran_Prime
Posts: 1105
Joined: Sat, 20. Feb 10, 18:47

Post by Aldebaran_Prime » Fri, 25. Aug 17, 18:51

Schaue Dir auch mal die Mission Director Dokumentation unter "set_relation" mit den Defiinitionen für "relation" an.

es gibt nicht nur operation "set" sondern auch "add" - also eventuell statt:

Code: Select all

<relation race="split" exact="+1000" operation="set" mutual="1"/> 
so:

Code: Select all

<relation race="split" exact="1000" operation="add" mutual="1"/> 
Image

User avatar
Klaus11
Posts: 810
Joined: Mon, 13. Feb 12, 18:23

Post by Klaus11 » Fri, 25. Aug 17, 19:47

Danke für den Tipp. Leider funktioniert es nicht so einfach. Mein Editor bietet auch kein „add“ an. Getestet habe ich es dennoch.

IM XMD Guide fand ich nur:

6: Mit <set_relation> setzen wir die Beziehung (relation=) zwischen dem Gegnerschiff (object=) und dem Spieler( object=) auf Feindlich (enemy), so wie es in der Nachricht aus dem übergeordneten Cue stand (Freund/Feind Kennung).

Ich habe es mit "mutual" und auch ohne versucht. Das Ansehen verändert sich nicht.
Image Dif-tor heh smusma (Lebet lang und in Frieden – vulkanischer Gruß), Cockpitsammlung, Spieler HQ aktivieren, XENON-DAE

User avatar
X2-Illuminatus
Moderator (Deutsch)
Moderator (Deutsch)
Posts: 20865
Joined: Sun, 2. Apr 06, 16:38

Post by X2-Illuminatus » Fri, 25. Aug 17, 20:02

Hast du mal einen Blick in die generischen Missionsscripts geworfen? Darin sollte sich die entsprechende Syntax für die Notoriety-Belohnungen eigentlich finden lassen.
Besteht Interesse an einem Nopileos-Hörbuch?

Farnhams Legende und Nopileos als E-Books!

"People who think they know everything are a great annoyance to those of us who do." - Isaac Asimov

"If it's not impossible, there must be a way to do it." - Sir Nicholas Winton

User avatar
Klaus11
Posts: 810
Joined: Mon, 13. Feb 12, 18:23

Post by Klaus11 » Fri, 25. Aug 17, 20:17

X2-Illuminatus wrote:Hast du mal einen Blick in die generischen Missionsscripts geworfen? Darin sollte sich die entsprechende Syntax für die Notoriety-Belohnungen eigentlich finden lassen.
In Generic.Transport habe ich diese Schreibweise entdeckt:

Code: Select all

<reward_player>
        <money exact="{value@L2M103 Offer.RewardCr}"/>
              <notoriety>
                <relation race="{value@L2M103.OfferRace}" exact="{value@L2M103.Notoriety}"/>
              </notoriety>
</reward_player>
Hilft mir aber nicht wirklich weiter. Ich verstehe diese Eintragung nicht. Hier sind wohl meine Grenzen erreicht. :cry:
Image Dif-tor heh smusma (Lebet lang und in Frieden – vulkanischer Gruß), Cockpitsammlung, Spieler HQ aktivieren, XENON-DAE

User avatar
Aldebaran_Prime
Posts: 1105
Joined: Sat, 20. Feb 10, 18:47

Post by Aldebaran_Prime » Fri, 25. Aug 17, 20:32

Klaus11 wrote:Danke für den Tipp. Leider funktioniert es nicht so einfach. Mein Editor bietet auch kein „add“ an. Getestet habe ich es dennoch.

IM XMD Guide fand ich nur:

6: Mit <set_relation> setzen wir die Beziehung (relation=) zwischen dem Gegnerschiff (object=) und dem Spieler( object=) auf Feindlich (enemy), so wie es in der Nachricht aus dem übergeordneten Cue stand (Freund/Feind Kennung).

Ich habe es mit "mutual" und auch ohne versucht. Das Ansehen verändert sich nicht.
Ich meinte nicht den XMD-Guide, sondern die director.html, die man mit dem IE11 öffnen muss.

zu was möchtest Du denn wann die relation setzen? zum Spieler oder spielerschiff? als Belohnung oder während des Plots?

Schaue mal in die TOTT.Yaki plot.xml und suche nach "relation" dort findest Du einige Beispiele, z.b:

Code: Select all

                            <do_all>
                              <set_relation object="ypm2telts">
                                <relation object="{player.ship}" relation="friend"/>
                              </set_relation>
                              <create_offer actor="ypm2teltscom" conversation="ypm2teltsconv" cue="ypm2teltsconv"/>
                            </do_all>
                          </action>

oder
                              <do_if value="{actor.exists@fujisan}" exact="1">
                                <reward_player>
                                  <money exact="100000"/>
                                  <notoriety>
                                    <relation exact="3000" race="yaki" operation="add"/>                             
                                  </notoriety>
                                </reward_player>

Image

User avatar
Klaus11
Posts: 810
Joined: Mon, 13. Feb 12, 18:23

Post by Klaus11 » Fri, 25. Aug 17, 20:48

Ich danke Euch für Eure Mühe.

Dieses Beispiel hat zur Hälfte funktioniert: :gruebel:

Code: Select all

<notoriety>
<relation race="pirate" exact="500"/>
<relation race="xenon" exact="500"/>
</notoriety>
Bei den Piraten habe ich tatsächlich 500 Punkte dazu erhalten, die Xenon bleiben unverändert. Ob der Wert zugezählt oder abgezogen wird, hängt wohl davon ab, ob er positiv oder negativ ist.

Edit:
Ich habe auch genau diese Art versucht:

Code: Select all

<relation exact="3000" race="xenon" operation="add"/>
Leider interessiert es die Xenon nicht. Es muss aber eine Möglichkeit geben. :x

Edit:
Die Xenon konnte ich nun mit einem Skript umstimmen. Nicht so elegant, aber wenigstens stimmt das Ergebnis.

Ich danke Euch noch mal für Eure Unterstützung.
Image Dif-tor heh smusma (Lebet lang und in Frieden – vulkanischer Gruß), Cockpitsammlung, Spieler HQ aktivieren, XENON-DAE

User avatar
Aldebaran_Prime
Posts: 1105
Joined: Sat, 20. Feb 10, 18:47

Post by Aldebaran_Prime » Mon, 9. Oct 17, 20:47

Ich versuche gerade die Raumfliegenfarm der Split im Rahmen es Mission-Director Scripts zum Laufen zu bringen. Die Station wird erzeugt, die Waren- und Ressourcen werden auch korrekt gesetzt. Nur prodizieren tut sie nichts.

Code: Select all

<create_station name="Raumfliegenfarm" race="split" typename="SS_FAC_S_SF_FARM" >
  <sector x="19" y="5"/>                                                         
  <position x="30km" y="-15km" z="30km" min="5km" max="10km"  />                 
  <equipment loadout="default"/>                                                 
  <products>                                                                     
    <ware typename="SS_WARE_TECH239"/>                                           
  </products>                                                                    
  <resources>                                                                    
    <ware typename="SS_WARE_ENERGY"/>                                            
    <ware typename="SS_WARE_F238"/>                                              
  </resources>                                                                   
  <secondaryresources>                                                           
  	<ware typename="SS_WARE_SILICON"/>                                           
  	<ware typename="SS_WARE_ORE"/>                                               
  	<ware typename="SS_WARE_SPACEFLYEGGS"/>                                      
  </secondaryresources> 	                                                       
</create_station>                                                                
Wo ist denn eigentlich im Spiel definiert, aus welchen Einzelteilen ein Produkt zusammengesetzt wird? Und vor allem aus welchen Verhältnis der Ressourcen wird ein Produkt zusammengesetzt?

Ich habe schon gegoogelt, aber kein Thema dazu gefunden.
Image

User avatar
Klaus11
Posts: 810
Joined: Mon, 13. Feb 12, 18:23

Post by Klaus11 » Mon, 9. Oct 17, 21:32

Schau dir mal „Die Marodeur Schiffswerft von Teladidrone“ an. Er hat das Problem in seinem Script gelöst. :)
Image Dif-tor heh smusma (Lebet lang und in Frieden – vulkanischer Gruß), Cockpitsammlung, Spieler HQ aktivieren, XENON-DAE

User avatar
Aldebaran_Prime
Posts: 1105
Joined: Sat, 20. Feb 10, 18:47

Post by Aldebaran_Prime » Mon, 9. Oct 17, 21:52

Wonach soll ich in dem Marodeur suchen?
Werden da auch Raumfliegenfarmen im Besitz der Split aufgestellt, oder kann ich mir da welche kaufen?
Wenn es um das Kaufen geht, habe ich kein Problem, nur im Besitz der Split mit obigem Mission-Director Code funktioniert irgendetwas nicht.

Dir Frage ist auch, wie werden Produkte in Fabriken zusammengesetzt? Könnte ich meine Raumfliegen auch nur mit Energie erzeugen, oder brauche ich unbedingt Rastar-Öl?

Wie viele Anteile Energie und wie viele Anteile Öl brauche ich?
Image

User avatar
Klaus11
Posts: 810
Joined: Mon, 13. Feb 12, 18:23

Post by Klaus11 » Mon, 9. Oct 17, 22:16

Ich hatte folgendes Problem, wenn ich eine Raumfliegenfarm gekauft und anschließend aufgestellt habe.
Die Raumfliegenfarm hatte das Problem, dass sie nur diesen Weizen produziert hat. Habe ich eine Raumfliegenfarm gescriptet, konnte ich auch entscheiden, dass sie nur EZ für die Produktion brauchte. Teladidrohne hat es hinbekommen, dass nun alle funktionieren.

Wonach du suchen sollst? Das kann ich nicht so leicht beschreiben. Alle, auch die schon aufgestellten RF, werden resettet. Ich müsste mir die Scripte selber noch mal ansehen, um dir da genauere Auskunft geben zu können.
Installiere doch einfach mal seine Scripte und teste dann dein Vorhaben. Vlt. funktioniert dann schon alles.
Image Dif-tor heh smusma (Lebet lang und in Frieden – vulkanischer Gruß), Cockpitsammlung, Spieler HQ aktivieren, XENON-DAE

User avatar
ubuntufreakdragon
Posts: 3973
Joined: Thu, 23. Jun 11, 14:57

Post by ubuntufreakdragon » Mon, 9. Oct 17, 22:53

du suchst das md äquivalent des se befehls <RefObj> station trade and production tasks: on=<Var/Number> wie der im md heißt weiß ich aber nicht.
My X3 Mods

XRebirth, things left to patch:
In General; On Firing NPC's; In De Vries; Out Of Zone; And the Antiwishlist

User avatar
JSDD
Posts: 836
Joined: Fri, 21. Mar 14, 21:51

Post by JSDD » Tue, 10. Oct 17, 09:13

Aldebaran_Prime wrote:Ich versuche gerade die Raumfliegenfarm der Split im Rahmen es Mission-Director Scripts zum Laufen zu bringen. Die Station wird erzeugt, die Waren- und Ressourcen werden auch korrekt gesetzt. Nur prodizieren tut sie nichts.
würd sagen, lös das problem mit dem script editor, dazu 2 möglichkeiten:
1. du brauchst / hast die station im MD erfasst: dann erstell nur die station, & rufe ein script auf, welches resources / produkte einstellt & produktion aktiviert (siehe ubuntu's post)
2. die station ist nichtweiter nötig im MD: dann erstell sie komplett in script editor

Code: Select all

  <cue name="wasweisich" version="1">
    <action>
      <do_all>
        <create_station name="this.station_fliegenfarm" typename="SS_FAC_S_SF_FARM">
          <position x="0km" y="0km" z="0km"/>
          <sector x="1" y="3" comment="argon prime oder sonstwo"/>
        </create_station>
        <run_script script="mein.stations.fix" task="1" object="this.station_fliegenfarm">
          <scriptargs>
            <scriptvalue datatype="integer" datavalue="12345"/>
            <scriptvalue datatype="typename" datavalue="{lookup.type@SS_SH_A_M3}"/>
          </scriptargs>
        </run_script>
      </do_all>
    </action>
  </cue>
Aldebaran_Prime wrote:Wo ist denn eigentlich im Spiel definiert, aus welchen Einzelteilen ein Produkt zusammengesetzt wird? Und vor allem aus welchen Verhältnis der Ressourcen wird ein Produkt zusammengesetzt?
sowas gibt es nicht. es gibt nur ne "maps/waretemplate.xml", ne art "map" mit stations-vorlagen, in welcher definiert wird, welche produkte / resourcen von stationstypen "normalerweise" (nach dem bau mit TL) genutzt werden.

sekundäres zeug interessiert nicht, ist nicht relevant für produktion

produktverhältnis:
tech-fabrik: 1 x ezellen, 1 x mineral, 1 x L2 nahrung
energie-fabrik: 1 x kristalle
L2 nahrung-fabrik: 1 x ezellen, 1 x L1 nahrung (zwischenstufen-nahrug)
L1 nahrung-fabrik: 1 x ezellen
mineral-fabrik: 1 x ezellen

abweichungen vom "üblichen" schema kann dazu führen, dass ne station nur verluste machen kann, musste genauer testen, d.h. nicht unnötig viele resourcen-typen hinzufügen


zur ware template:
üblicherweise mit strg+F gucken, ob die stations-ID (SS_FAC_S_SF_FARM) zu finden ist, wenn nicht, dann eintrag hinzufügen, wen ja, dann eintrag ändern. hinterher entweder neues spiel beginnen oder waretemplate löschen: dazu muss man (wenn ich mich korrekt erinner') ne leere waretemplate laden

in director/"irgendnefile.xml":

Code: Select all

<?xml version="1.0" encoding="ISO-8859-1" ?>
<?xml-stylesheet href="director.xsl" type="text/xsl" ?>
<director name="test" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="director.xsd">
  
<cues>
  <cue name="WareTemplae_Reset_1" version="1">
    <action>
      <do_all>
        <load_map file="WareTemplate_Reset"/>
        <incoming_message text="... waretmplate has been reset ..."/>
      </do_all>
    </action>
  </cue>
</cues>

</director>
in maps/"WareTemplate_Reset.xml":

Code: Select all

<universe>
  <o t="1" x="3" y="5" r="8" size="10000000" m="-1" p="-1">
  </o>
</universe>
"WareTemplate_Reset.xml" kann auch n anderer name sein, muss dann auch im md-script anpassen
To err is human. To really foul things up you need a computer.
Irren ist menschlich. Aber wenn man richtig Fehler machen will, braucht man einen Computer.


Mission Director Beispiele

User avatar
Aldebaran_Prime
Posts: 1105
Joined: Sat, 20. Feb 10, 18:47

Post by Aldebaran_Prime » Tue, 10. Oct 17, 20:09

JSDD wrote:....
Aldebaran_Prime wrote:Wo ist denn eigentlich im Spiel definiert, aus welchen Einzelteilen ein Produkt zusammengesetzt wird? Und vor allem aus welchen Verhältnis der Ressourcen wird ein Produkt zusammengesetzt?
sowas gibt es nicht. es gibt nur ne "maps/waretemplate.xml", ne art "map" mit stations-vorlagen, in welcher definiert wird, welche produkte / resourcen von stationstypen "normalerweise" (nach dem bau mit TL) genutzt werden.

sekundäres zeug interessiert nicht, ist nicht relevant für produktion

produktverhältnis:
tech-fabrik: 1 x ezellen, 1 x mineral, 1 x L2 nahrung
energie-fabrik: 1 x kristalle
L2 nahrung-fabrik: 1 x ezellen, 1 x L1 nahrung (zwischenstufen-nahrug)
L1 nahrung-fabrik: 1 x ezellen
mineral-fabrik: 1 x ezellen

abweichungen vom "üblichen" schema kann dazu führen, dass ne station nur verluste machen kann, musste genauer testen, d.h. nicht unnötig viele resourcen-typen hinzufügen


zur ware template:
üblicherweise mit strg+F gucken, ob die stations-ID (SS_FAC_S_SF_FARM) zu finden ist, wenn nicht, dann eintrag hinzufügen, wen ja, dann eintrag ändern. hinterher entweder neues spiel beginnen oder waretemplate löschen: dazu muss man (wenn ich mich korrekt erinner') ne leere waretemplate laden

in director/"irgendnefile.xml":

Code: Select all

<?xml version="1.0" encoding="ISO-8859-1" ?>
<?xml-stylesheet href="director.xsl" type="text/xsl" ?>
<director name="test" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="director.xsd">
  
<cues>
  <cue name="WareTemplae_Reset_1" version="1">
    <action>
      <do_all>
        <load_map file="WareTemplate_Reset"/>
        <incoming_message text="... waretmplate has been reset ..."/>
      </do_all>
    </action>
  </cue>
</cues>

</director>
in maps/"WareTemplate_Reset.xml":

Code: Select all

<universe>
  <o t="1" x="3" y="5" r="8" size="10000000" m="-1" p="-1">
  </o>
</universe>
"WareTemplate_Reset.xml" kann auch n anderer name sein, muss dann auch im md-script anpassen
Perfekt! Das ist doch mal eine ausführliche Antwort!
Danke!

Ich bin kein Fan von der Vermischung von MSCI und MD Scripten, wenn es im MD dafür schon Befehle/Möglichkeiten gibt.... und der <create_station..> Befehl sollte ja eigentlich das Gewünschte machen.
Ich vermute, mein Problem liegt darin, dass ich das von Dir oben beschriebene Verhältnis nicht korrekt eingehalten habe. Es fehlt ja das Mineral als Ressource...

Zudem hatte ich erst während des Spiels die WareTemplate.xml um die SS_FAC_S_SF_FARM ergänzt, ohne diese mit dem load_map mal neuzuladen - werde ich gleich mal ausprobieren!

Update 21:10 Uhr - hat funktioniert - es lag nur am fehlenden Erz als Ressource - so geht es:

Code: Select all

<create_station name="Raumfliegenfarm" race="split" typename="SS_FAC_S_SF_FARM" >   
  <sector x="20" y="3"/>                                                            
  <position x="30km" y="-15km" z="30km" min="5km" max="10km"  />                    
  <equipment loadout="default"/>                                                    
  <products>                                                                        
    <ware typename="SS_WARE_TECH239"/>                                              
  </products>                                                                       
  <resources>                                                                       
    <ware typename="SS_WARE_ENERGY"/>                                               
    <ware typename="SS_WARE_F238"/>                                                 
  	<ware typename="SS_WARE_ORE"/>                                                  
  </resources>                                                                      
  <secondaryresources>                                                              
  	<ware typename="SS_WARE_SILICON"/>                                              
  	<ware typename="SS_WARE_SPACEFLYEGGS"/>                                         
  </secondaryresources> 	                                                          
</create_station>                                                                   
...oder auch so mit Raumfliegeneiern als weitere primäre Ressource:

Code: Select all

<create_station name="Raumfliegenfarm" race="split" typename="SS_FAC_S_SF_FARM" >  
  <sector x="20" y="3"/>                                                           
  <position x="35km" y="-25km" z="35km" min="5km" max="20km"  />                   
  <equipment loadout="default"/>                                                   
  <products>                                                                       
    <ware typename="SS_WARE_TECH239"/>                                             
  </products>                                                                      
  <resources>                                                                      
    <ware typename="SS_WARE_ENERGY"/>                                              
    <ware typename="SS_WARE_F238"/>                                                
  	<ware typename="SS_WARE_ORE"/>                     	                           
  	<ware typename="SS_WARE_SPACEFLYEGGS"/>                                        
  </resources>                                                                     
  <secondaryresources>                                                             
  	<ware typename="SS_WARE_SILICON"/>                                             
  </secondaryresources> 	                                                         
</create_station>                                                                  
Image

User avatar
Klaus11
Posts: 810
Joined: Mon, 13. Feb 12, 18:23

herrenlose Schiffe lassen sich nicht verkaufen

Post by Klaus11 » Wed, 11. Oct 17, 20:42

Folgendes Problem ist aufgetreten, bei dem ich Rat von Euch erhoffe.

Ich habe per MD Skript herrenlose Schiffe in Sektoren verteilt. Diese können auch problemlos übernommen werden.
Das Problem ist aber, diese Schiffe kann man weder an einer Werft verkaufen, noch auf dem Spieler HQ demontieren lassen.
Kennt ihr dieses Phänomen und könnt mir einen Tipp geben, wie man das ändert?
Image Dif-tor heh smusma (Lebet lang und in Frieden – vulkanischer Gruß), Cockpitsammlung, Spieler HQ aktivieren, XENON-DAE

User avatar
Ketraar
Moderator (DevNet)
Moderator (DevNet)
Posts: 8713
Joined: Fri, 21. May 04, 17:15

Post by Ketraar » Thu, 12. Oct 17, 10:08

Im MD script setze den flag sellable="1" (was eigentlich default sein sollte) und schau obs geholfen hat.

MFG

Ketraar

Post Reply

Return to “X³: Terran Conflict / Albion Prelude - Scripts und Modding”