Fabrik nachträglich in eine Werft einbinden

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
vrendayan
Posts: 21
Joined: Fri, 16. Dec 05, 12:53
x4

Fabrik nachträglich in eine Werft einbinden

Post by vrendayan » Fri, 12. Aug 11, 04:28

Tjoa, Thema steht ja schon in der Überschrift, aber dazu ein paar erklärende Worte.

Das Xtra-Pack von Cadius fügt am Anfang von jedem Spiel per Director-File ein Haufen Schiffe und Fabriken ein. Die meisten terranischen Schiffe können da nun auch Fusionskanonen benutzen, aber es gibt keine Fabrik zu kaufen.
So, jetzt habe ich spaßeshalber mal die Fabrik für die Fusionskanonen in die Director eingefügt, ein neues Spiel gestartet und es funktioniert. Man kann sie kaufen, sie hat sogar eingefügte Produkte und Ressourcen, wäre also betriebsfertig.
Nun möchte ich aber nicht unbedingt ein neues Spiel anfangen, um an die Fabrik ranzukommen. Wie also kriege ich jetzt die Fabrik in die Schiffswerft?

Mein Grundgedanke wäre etwas ähnliches wie meinetwegen die originale Director-Datei, allerdings halt entsprechend verändert. Und damit fängt das Problem an sich schon an, da ich kaum vorweisbare Script- und MD-Kenntnisse besitze. Kleine Änderungen sind zwar möglich, aber bei sowas muss ich bisher die weiße Flagge schwenken.

Könnte mir da jemand helfen, evtl auch sagen, was ich in eine Datei reinschreiben muss? Und wie ich die Datei an sich dann unterbringe?

mcdance
Posts: 400
Joined: Sun, 18. Jan 09, 14:16
x4

Post by mcdance » Fri, 12. Aug 11, 05:39

Moin,

ist recht simpel, du kopierst dir den Cadius Factory Pack, oder den Ship Pack aus dem Direktor und arbeitest den um, soll heissen, in den director gehen, datei kopieren, in den scripts ordner gehen, einfügen, vlt noch umbenennen, spiel starten, se öffnen, die Fabs einfügen wo jetzt in dem code die ? sind, ausführen und fertig.

Code: Select all

= wait 1000 ms
 
$station.array = get station array: of race {Argonen} class/type={Schiffswerft}
$size = size of array $station.array
while $size > 0 
  dec $size =
  $shipyard = $station.array[$size]
  $shipyard->station trade and production tasks: on=[FALSE]
   
  $station = {?} 
  $shipyard->add product to factory or dock: $station
  $amount = $shipyard->add 1 units of $station
   
  $station = {?} 
  $shipyard->add product to factory or dock: $station
  $amount = $shipyard->add 1 units of $station
   
  $station = {?} 
  $shipyard->add product to factory or dock: $station
  $amount = $shipyard->add 1 units of $station
   
  $station = {?} 
  $shipyard->add product to factory or dock: $station
  $amount = $shipyard->add 1 units of $station
   
  $station = {?} 
  $shipyard->add product to factory or dock: $station
  $amount = $shipyard->add 1 units of $station
   
  $shipyard->station trade and production tasks: on=[TRUE]
   
end
 
 
return null
wobei die ? gegen die stationen ausgetauscht werden müssen

grüße
Vorstandsvorsitzender der MMFC

Nuklear Power Plant

vrendayan
Posts: 21
Joined: Fri, 16. Dec 05, 12:53
x4

Post by vrendayan » Fri, 12. Aug 11, 05:58

Da es sich nur um die Fusionstrahlenkanonenfabrik handelt, (SS_FAC_FUSIONBEAM und nein, das ist kein Fehler, diese Fabrik hat keine Rassenzuordnung), wäre das also auch nur einmal

Code: Select all

$station = {SS_FAC_FUSIONBEAM} 
  $shipyard->add product to factory or dock: $station 
  $amount = $shipyard->add 1 units of $station 
soweit richtig?

Wenn ja, dann hab ich das schon mal verstanden, aber jetzt kommts nächste: wie muss ich das genau umbauen? Würde es helfen, wenn ich jetzt meinetwegen von der Datei Anfang und Ende hier reinposte?

Wie gesagt, ich hab von sowas eigentlich keine Ahnung und da muss man mich Schritt für Schritt durchführen...

mcdance
Posts: 400
Joined: Sun, 18. Jan 09, 14:16
x4

Post by mcdance » Fri, 12. Aug 11, 06:31

vrendayan wrote:Da es sich nur um die Fusionstrahlenkanonenfabrik handelt, (SS_FAC_FUSIONBEAM und nein, das ist kein Fehler, diese Fabrik hat keine Rassenzuordnung), wäre das also auch nur einmal

Code: Select all

$station = {SS_FAC_FUSIONBEAM} 
  $shipyard->add product to factory or dock: $station 
  $amount = $shipyard->add 1 units of $station 
soweit richtig?

Wenn ja, dann hab ich das schon mal verstanden, aber jetzt kommts nächste: wie muss ich das genau umbauen? Würde es helfen, wenn ich jetzt meinetwegen von der Datei Anfang und Ende hier reinposte?

Wie gesagt, ich hab von sowas eigentlich keine Ahnung und da muss man mich Schritt für Schritt durchführen...
würde dann so aussehen wenn es nur diese eine station ist

Code: Select all

= wait 1000 ms
 
$station.array = get station array: of race {Argonen} class/type={Schiffswerft}
$size = size of array $station.array
while $size > 0
  dec $size =
  $shipyard = $station.array[$size]
  $shipyard->station trade and production tasks: on=[FALSE]
   
  $station = {SS_FAC_FUSIONBEAM}
  $shipyard->add product to factory or dock: $station
  $amount = $shipyard->add 1 units of $station
   
  
   
  $shipyard->station trade and production tasks: on=[TRUE]
   
end
 
 
return null
und hier

Code: Select all

$station.array = get station array: of race {Argonen} class/type={Schiffswerft}
musst du natürlich angeben in welchen schiffswerften, also, welcher rasse

grüße
Vorstandsvorsitzender der MMFC

Nuklear Power Plant

vrendayan
Posts: 21
Joined: Fri, 16. Dec 05, 12:53
x4

Post by vrendayan » Fri, 12. Aug 11, 07:26

Ok danke, aber das umbauen ist noch ein Rätsel. Ich hab nämlich keine Ahnung, wie die Datei letztendlich aussehen soll noch obs ein MD- oder normales Script ist...

mcdance
Posts: 400
Joined: Sun, 18. Jan 09, 14:16
x4

Post by mcdance » Fri, 12. Aug 11, 07:38

es ist ein normales script, es ist und bleibt das script aus dem director, nur du passt es deinen bedürfnissen an, schiffe, stationen, kannst du alles einfügen. und da du es im script ordner rein setzt bleibt das original unberührt.
Vorstandsvorsitzender der MMFC

Nuklear Power Plant

chris674
Posts: 98
Joined: Tue, 18. Sep 07, 12:35
x3

Post by chris674 » Fri, 12. Aug 11, 19:30

hi...

@mcdance:

hatte mir vor einigen tagen zwei mods geladen...leider waren diese nicht kompatible zueinander und mussten zusammengefügt werden...nach dem zusammenfügen fehlen die schiffe einer mod noch in den schiffwerften...dort steht nur "undefined"...daher meine fragen:

1. kann ich dieses scriot auch nutzen um schiffe einer werft zu zuordnen?....aus "station" muss ich dann sicherlich "ship" machen oder muss ich noch mehr beachteten?
2. kann ich das script direkt ingame mit dem script-editor schreiben oder extern mit dem director?
3. was muss ich machen um die "undefined" schiffe aus der schiffswerft zu löschen?

danke im voraus

vrendayan
Posts: 21
Joined: Fri, 16. Dec 05, 12:53
x4

Post by vrendayan » Fri, 12. Aug 11, 20:07

Hm, also ich hab dieses Script ausprobiert, allerdings hats nicht geholfen. Liegt möglicherweise auch an meiner nicht vorhandenen Erfahrung mit dem SE und scripten allgemein.

An was ich auch denke, ist die Director-Datei umbasteln, und zwar so, dass sie auch nachträglich noch funktioniert.
Es gibt in dieser Datei folgende Zeilen irgendwo zwischendrin:

Code: Select all

<condition>
<check_all>
<check_age value="{player.age}" min="5s" />
</check_all>
</condition>
 
Hat hier jemand MD-Erfahrung und kann mir erklären, wie ich das umfrickeln kann?

mcdance
Posts: 400
Joined: Sun, 18. Jan 09, 14:16
x4

Post by mcdance » Fri, 12. Aug 11, 20:19

hi chris674,

zu 1. ja

zu 2. ja kannst du ingame schreiben

zu 3. ich denke mal da hilft dir nur das du die aus den tships entsorgst



ich habe deinen post bezüglich deines problems gelesen, und muss sagen, sry mein freund, auch ich bin daran gescheitert, hatte es zwar soweit hinbekommen das ich die xtra schips und die mod von lucike reinbekommen habe, war auch alles in den werften vorhanden, aber die codea waffenplatform wollte gar nicht, jedesmal beim transfer hatte ich einen mamut oder buster. da hast du dir gut was vorgenommen.

grüße

und gutes gelingen
Vorstandsvorsitzender der MMFC

Nuklear Power Plant

User avatar
eMYNOCK
Moderator (DevNet)
Moderator (DevNet)
Posts: 2060
Joined: Thu, 21. Aug 03, 10:37
x4

Post by eMYNOCK » Fri, 12. Aug 11, 20:51

vrendayan wrote:Hm, also ich hab dieses Script ausprobiert, allerdings hats nicht geholfen. Liegt möglicherweise auch an meiner nicht vorhandenen Erfahrung mit dem SE und scripten allgemein.

An was ich auch denke, ist die Director-Datei umbasteln, und zwar so, dass sie auch nachträglich noch funktioniert.
Es gibt in dieser Datei folgende Zeilen irgendwo zwischendrin:

Code: Select all

<condition>
<check_all>
<check_age value="{player.age}" min="5s" />
</check_all>
</condition>
 
Hat hier jemand MD-Erfahrung und kann mir erklären, wie ich das umfrickeln kann?
soweit ich weiss und mich erinnere (klingt komisch borinisch) wird eine MD bei jedem spielstart geladen und überprüft ob sich seit dem letzten laden was geändert hat.

daher sollte es eigentlich reichen wenn du deine station einfügst und das spiel neu lädst.

alternativ kann ich nur JensKa als guten MD Skripter empfehlen.

mcdance
Posts: 400
Joined: Sun, 18. Jan 09, 14:16
x4

Post by mcdance » Fri, 12. Aug 11, 21:41

vrendayan wrote:Hm, also ich hab dieses Script ausprobiert, allerdings hats nicht geholfen. Liegt möglicherweise auch an meiner nicht vorhandenen Erfahrung mit dem SE und scripten allgemein.

An was ich auch denke, ist die Director-Datei umbasteln, und zwar so, dass sie auch nachträglich noch funktioniert.
Es gibt in dieser Datei folgende Zeilen irgendwo zwischendrin:

Code: Select all

<condition>
<check_all>
<check_age value="{player.age}" min="5s" />
</check_all>
</condition>
 
Hat hier jemand MD-Erfahrung und kann mir erklären, wie ich das umfrickeln kann?

ups mein fehler :oops:

musst folgende datei nehmen
plugin.XTra.StockStationsArgon
zu finden im script ordner

sry
Vorstandsvorsitzender der MMFC

Nuklear Power Plant

vrendayan
Posts: 21
Joined: Fri, 16. Dec 05, 12:53
x4

Post by vrendayan » Sat, 13. Aug 11, 15:46

So... mein Problem hat sich inzwischen gelöst, dank Dillpickle aus dem TXU-Forum.

Die Lösung fand sich in einer weiteren MD-Datei:

Code: Select all

<?xml version="1.0" encoding="ISO-8859-1" ?>
<?xml-stylesheet href="director.xsl" type="text/xsl" ?>
<director name="template" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="director.xsd">

  <cues>
    <cue name="Add Station">
      <condition>
        <check_age value="{player.age}" min="10s" />
      </condition>
      <action>
        <do_all>
          <load file="WareTemplatedummy" comment="map name WITHOUT file extension"/>
          <find_station race="terran" group="trb1" multiple="1" typename="SS_FAC_TR_SHIP">
            <sector x="0" y="0"/>
            <jumps max="100"/>
          </find_station>
          <do_all exact="{group.object.count@trb1}" counter="count">
            <add_products  object="{group.object.{counter@count}@trb1}">
              <ware typename="SS_FAC_FUSIONBEAM" exact="1"/>
            </add_products>
          </do_all>
        </do_all>
      </action>
    </cue>
  </cues>
</director>
Mit dem gleichen Schema dürfte man auch Schiffe hinzufügen können.

Beispiel:

Code: Select all

<ware typename="SS_SH_USC_TP"/>
<ware typename="SS_SH_USC_TP_GAUNTLET"/>
<ware typename="SS_SH_USC_TS"/>
<ware typename="SS_SH_USC_M7_SENDAI_A"/>
Hoffe, das hilft dir bei deinem Problem @chris674.

Post Reply

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