Neue Fabriken ins Spiel einfügen? Vorhandene ändern?
Moderators: Moderatoren für Deutsches X-Forum, Scripting / Modding Moderators
-
- Posts: 764
- Joined: Thu, 15. Dec 05, 21:27
Neue Fabriken ins Spiel einfügen? Vorhandene ändern?
Hallo,
Ich habe zwei Modding Fragen.
Wie kann ich eigentlich neue Fabriken ins Spiel einfügen und denen dann auch entsprechend Ressourcen und Produkte zuordnen?
Wie kann ich vorhandene Fabriken ändern, also zum Beispiel der Piraten Basis mehr Schilde verpassen?
Danke schonmal
Ich habe zwei Modding Fragen.
Wie kann ich eigentlich neue Fabriken ins Spiel einfügen und denen dann auch entsprechend Ressourcen und Produkte zuordnen?
Wie kann ich vorhandene Fabriken ändern, also zum Beispiel der Piraten Basis mehr Schilde verpassen?
Danke schonmal
Re: Neue Fabriken ins Spiel einfügen? Vorhandene ändern?
neuer Eintrag in der TFactories.Lord Morpheus wrote:Wie kann ich eigentlich neue Fabriken ins Spiel einfügen
und per Script/MD ihr Waren zuweisen (entweder per globalem watcher-Script, was das Uni regelmässig nach neuen Fabs des genannten Typs absucht oder per Eintrag in die Kommandokonsole, um die Fabrik zu "aktivieren")Lord Morpheus wrote:und denen dann auch entsprechend Ressourcen und Produkte zuordnen?
Schilde in Stationen hinzufügen geht indem man sie auf der Station per Script installiert Produkte/Ressourcen/Waren kan man ebenfalls einfach per script ändern (wobei Fabriken nur ersteres beides kennen und Docks nur letzteres, welche aber wie Produkte behandelt werden wenn du welche einfügen/löschen möchtest )Lord Morpheus wrote:Wie kann ich vorhandene Fabriken ändern, also zum Beispiel der Piraten Basis mehr Schilde verpassen?
-
- Posts: 764
- Joined: Thu, 15. Dec 05, 21:27
also eine vorlage gibt es hierzu leider nicht. da musste dich leider selbst durchfummeln. aber im msci könntest du dir die "trade"-befehle mal näher anschauen
eigene Projekte: Reflexers kleine Scriptsammlung
-
- Posts: 643
- Joined: Sat, 3. Jan 09, 22:57
Code: Select all
<?xml version="1.0" encoding="utf-8" ?>
<?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="init">
<action>
<do_all>
<find_sector name="p2" x="7" y="0" exact="0"/>
</do_all>
</action>
<cues>
<cue name="station1">
<condition>
<check_all>
<check_value value="{player.sector}" exact="{sector@p2}"/>
<check_value value="{object.exists@Pxl}" exact="0"/>
</check_all>
</condition>
<action>
<do_all>
<create_station name="Pxl" typename="SS_LEICHT" race="player">
<position x="10km" y="0km" exact="1"/>
<sector x="7" y="0"/>
<!--> <set_object name="Pxl" value="object@Pxl"/> /<-->
<equipment>
<ware typename="SS_SHIELD_E" exact="1"/>
</equipment>
<resources>
<ware typename="SS_WARE_ENERGY" exact="0"/>
<ware typename="SS_WARE_F218" exact="0"/>
<ware typename="SS_WARE_SILICON" exact="0"/>
</resources>
<products>
<ware typename="SS_LASER_GATLING" exact="0"/>
<ware typename="SS_LASER_SKEETER" exact="0"/>
<ware typename="SS_LASER_LLASER" exact="0"/>
<ware typename="SS_LASER_SLASER" exact="0"/>
</products>
</create_station>
</do_all>
</action>
</cue>
</cues>
€DIT: Ich merke an, dieses grün ist Augenkrebserregend
-
- Posts: 764
- Joined: Thu, 15. Dec 05, 21:27
Danke @Einheit 101. Das ist ein MD Script richtig?
Damit kenne ich mich nun noch weniger aus, als mit dem normalen Script Editor. Ich habe ehrlich gesagt die letzten Stunden verzweifelt versucht das mit dem Kommando zur Stations Aktivierung mit dem Script Editor hin zu bekommen. Leider ohne Erfolg.
Dafür ein Beispiel wäre echt klasse.
Damit kenne ich mich nun noch weniger aus, als mit dem normalen Script Editor. Ich habe ehrlich gesagt die letzten Stunden verzweifelt versucht das mit dem Kommando zur Stations Aktivierung mit dem Script Editor hin zu bekommen. Leider ohne Erfolg.
Dafür ein Beispiel wäre echt klasse.
scriptseitig sieht das ganze folgendermaßen aus:
Die erste Zeile (den create-Befehl) musste natürlich mit Deinen Daten füllen Aber ich denke das versteht sich von selbst
Code: Select all
$NewStation = create station: type=$tmpStatType owner=$tmpSectorOwner addto=$tmpSector x=$tmpX y=$tmpY z=$tmpZ
* Schilde auffüllen:
= $NewStation->install 1 units of {1 GJ Schild}
$tmpShieldsMax = $NewStation->get maximum shield strength
$NewStation->set current shield strength to $tmpShieldsMax
* Produktion starten:
$NewStation->add default wares to station/dock
$NewStation->factory production task: on=[TRUE]
* Übergabe der Steuerung an die Rasse (natürlich nur bei KI-Stationen sinnvoll):
$NewStation->set race logic control enabled to [TRUE]
$NewStation->set StartAction enabled to [TRUE]
$NewStation->station trade and production tasks: on=[TRUE]
eigene Projekte: Reflexers kleine Scriptsammlung
-
- Posts: 764
- Joined: Thu, 15. Dec 05, 21:27
Super vielen Dank
Zwei Fragen habe ich zu dem Script aber noch.
Die maximum Shield streng liest dieses Script ja aus, wenn ich es richtig verstehe. Wo kann man denn einstellen, wie hoch die ist? Also wie viele 1GJ Schilde installiert werden können.
Im Prinzip die gleiche Frage bei Add default ware. Wo bzw. wie stelle ich ein welches die Standard Ressourcen und Produkte sind?
Zwei Fragen habe ich zu dem Script aber noch.
Die maximum Shield streng liest dieses Script ja aus, wenn ich es richtig verstehe. Wo kann man denn einstellen, wie hoch die ist? Also wie viele 1GJ Schilde installiert werden können.
Im Prinzip die gleiche Frage bei Add default ware. Wo bzw. wie stelle ich ein welches die Standard Ressourcen und Produkte sind?
Ich glaube in der TFactories oder Twares.... ich weiß es nicht genau, da ich kein modder bin. das kannste scriptseitig jedenfalls nicht einstellen.
Die Anzahl der Schilde ist theoretisch unbegrenzt. Mein Lösung mit den Schilden war für Fabriken, die noch nicht komplett fertig gemodded sind - damit überhaupt was installiert ist. Wenn Du die Stationen "richtig" aufbaust mittels TL oder sie per MD erzeugst brauchste das mit den Schilden nicht zu machen.
Eine Sache noch: die Schilde werden nur bei Stationen, die Du OOS per Script erzeugst voll geladen. Bei Stationen IS sind die leider leer und haben ihre normale (extrem langsame) reload-Zeit. Nur zur Info.
Die Anzahl der Schilde ist theoretisch unbegrenzt. Mein Lösung mit den Schilden war für Fabriken, die noch nicht komplett fertig gemodded sind - damit überhaupt was installiert ist. Wenn Du die Stationen "richtig" aufbaust mittels TL oder sie per MD erzeugst brauchste das mit den Schilden nicht zu machen.
Eine Sache noch: die Schilde werden nur bei Stationen, die Du OOS per Script erzeugst voll geladen. Bei Stationen IS sind die leider leer und haben ihre normale (extrem langsame) reload-Zeit. Nur zur Info.
eigene Projekte: Reflexers kleine Scriptsammlung
-
- Posts: 764
- Joined: Thu, 15. Dec 05, 21:27
das muss dir ein modder beantworten, wo du die primären und sekundären ressourcen, sowie die erzeugten waren definierst.
dur ch das aufbauen mittels tl werden die default-wares nämlich automatisch gesetzt, sofern sie korrekt definiert sind
leider kann ich dir da nicht wirklich weiterhelfen. aber unitrader oder ghostrider müssten das wissen.
dur ch das aufbauen mittels tl werden die default-wares nämlich automatisch gesetzt, sofern sie korrekt definiert sind
leider kann ich dir da nicht wirklich weiterhelfen. aber unitrader oder ghostrider müssten das wissen.
eigene Projekte: Reflexers kleine Scriptsammlung
-
- Posts: 3262
- Joined: Wed, 6. Nov 02, 20:31
Du kannst auch andere Waren / Produkte / Ressourcen nehmen statt StandardWaren .. dazu musst Du lediglich per Script die Default Wares entfernen und dann deine Produkte / Ressourcen definieren.
Die DefaultWares definieren sich soweit ich das noch von früher in Erinnerung habe über die Rasse.. nimmste die Argonen - sind das Cahoonas, EZ, Erz oder so ..
Eine weitere Möglichkeit wenn Du nicht scripten kannst - modde - erstelle wie gesagt einen Eintrag in der TFactories - erstelle einen Eintrag in der TWareTemplate für deine Station, definiere hier was und womit produziert werden soll und füge auch gleich deine Station einer der Schiffswerften zum Kauf ein.
Solltest Du jetzt ein neues Game starten, und nur dann !!! kannst Du deine neue Station an Werft x erwerben und sie produziert Ware y mit Ressourcen z - fertig.
Die DefaultWares definieren sich soweit ich das noch von früher in Erinnerung habe über die Rasse.. nimmste die Argonen - sind das Cahoonas, EZ, Erz oder so ..
Eine weitere Möglichkeit wenn Du nicht scripten kannst - modde - erstelle wie gesagt einen Eintrag in der TFactories - erstelle einen Eintrag in der TWareTemplate für deine Station, definiere hier was und womit produziert werden soll und füge auch gleich deine Station einer der Schiffswerften zum Kauf ein.
Solltest Du jetzt ein neues Game starten, und nur dann !!! kannst Du deine neue Station an Werft x erwerben und sie produziert Ware y mit Ressourcen z - fertig.
Föderation Vereinter Planeten -=)FVP(=-
Since 1998... join the future! X3-The Sonen
Ghostrider's X-Universum [INDEX]Lucikes Scripts & Mods
Since 1998... join the future! X3-The Sonen
Ghostrider's X-Universum [INDEX]Lucikes Scripts & Mods
-
- Posts: 643
- Joined: Sat, 3. Jan 09, 22:57
-
- Posts: 764
- Joined: Thu, 15. Dec 05, 21:27
So ein konkretes Beispiel was ich gerne hätte:
Ich habe eine neue terranische Rakete erstellt mit dem Namen Glühwürmchen. Ist im Prinzip das terranische Gegenstück zur Moskito. Habe nun in der TFactories auch eine entsprechende Fabrik erstellt (Raketenfabrik Poltergeist kopiert, ans Ende eingefügt und umbenannt) und diese als Test zur Argonischen Schiffswerft hinzu gefügt. Das funktioniert soweit. Ich kann die Fabrik per TL kaufen und aufstellen.
Sie hat auch als Ressourcen EZ, Terranische EPA und Erz. Aber kein Produkt. Das würde ich gern hinzu fügen, eben die Rakete Glühwürmchen. Per Script ohne das Spiel neu starten zu müssen
Ich habe eine neue terranische Rakete erstellt mit dem Namen Glühwürmchen. Ist im Prinzip das terranische Gegenstück zur Moskito. Habe nun in der TFactories auch eine entsprechende Fabrik erstellt (Raketenfabrik Poltergeist kopiert, ans Ende eingefügt und umbenannt) und diese als Test zur Argonischen Schiffswerft hinzu gefügt. Das funktioniert soweit. Ich kann die Fabrik per TL kaufen und aufstellen.
Sie hat auch als Ressourcen EZ, Terranische EPA und Erz. Aber kein Produkt. Das würde ich gern hinzu fügen, eben die Rakete Glühwürmchen. Per Script ohne das Spiel neu starten zu müssen
-
- Posts: 643
- Joined: Sat, 3. Jan 09, 22:57
-
- Posts: 764
- Joined: Thu, 15. Dec 05, 21:27
geht nicht, da kein SIGNAL o.ä. dafür existiert. wie gasagt: entweder globaler watcher oder Kommandoslot (oder evtl. was anderes kreatives, aber das sind die beiden offensichtlichen möglichkeiten). den ungefähren Code tipp ich morgen oder übermorgen evtl. mal zusammen, heut keine zeit...Einheit 101 wrote:Da könnte jemand einen Script machen, der beim aufstellen solcher Fabriken automatisch auslöst und die Ware der Station hinzufügt…
und ach ja: @Ghostrider die Datei heisst maps/WareTemplate.xml OHNE T davor. (diese Dateien wären in nem anderen Ordner (types) und sind zudem die einzigen die Waren / Objekte definieren) und sie gilt nur für NPC-Fabriken und ist iirc auch nur in einem neuen Spiel verwendbar.
-
- Posts: 764
- Joined: Thu, 15. Dec 05, 21:27
So nach langem ausprobieren habe ich jetzt tatsächlich etwas hin bekommen. Gibt aber leider einige Probleme die ich mit meinem begrenzten Script Wissen einfach nicht lösen kann.
Dieses Script lädt mein Textfile und aktiviert das Kommando auf Spieler-Stationen:
Dieses Script sagt was passieren soll, wenn das Kommando auf einer Station ausgeführt wird. Es checkt dabei bereits was für ein Stationstyp vorhanden ist und fügt das entsprechende Produkt hinzu. Bei einer nicht passenden Station tut es gar nichts. Wäre Problemlos um weitere Stationstypen erweiterbar:
Wenn ich mir nun die Eigenschaften der Station anschaue sehe ich auch als Produkt die Glühwürmchen Rakete. Soweit die Sachen die funktionieren.
Allerdings steht der Preis auf 0 (336 Credits wäre der Durchschnittspreis).
Gehe ich in die Einstellungen der Station, kann ich zwar den Preis anpassen, aber in der Produktliste der Station ist ein weiteres Produkt aufgeführt mit dem Namen "Unbekanntes Objekt". Außerdem wird als Produktzyklus eine Sekunde angezeigt. Bei der Kostenberechnung des Produkts und Anzahl der Produkte steht 0. Wie kann ich das beheben?
Dieses Script lädt mein Textfile und aktiviert das Kommando auf Spieler-Stationen:
Code: Select all
load text: id=7902
set script command upgrade: command={COMMAND_1155_Station_aktivieren} upgrade=[TRUE]
global script map: set: key={COMMAND_1155_Station_aktivieren}, class={Station 2016}, race={Spieler}, script='plugin.mxm.STATA', prio=1
return null
Dieses Script sagt was passieren soll, wenn das Kommando auf einer Station ausgeführt wird. Es checkt dabei bereits was für ein Stationstyp vorhanden ist und fügt das entsprechende Produkt hinzu. Bei einer nicht passenden Station tut es gar nichts. Wäre Problemlos um weitere Stationstypen erweiterbar:
Code: Select all
$station = [THIS]
if $station -> is of type {Terraner Raketenfabrik Glühwürmchen}
$station->add product to factory or dock: {Glühwürmchen Rakete}
end
return null
Allerdings steht der Preis auf 0 (336 Credits wäre der Durchschnittspreis).
Gehe ich in die Einstellungen der Station, kann ich zwar den Preis anpassen, aber in der Produktliste der Station ist ein weiteres Produkt aufgeführt mit dem Namen "Unbekanntes Objekt". Außerdem wird als Produktzyklus eine Sekunde angezeigt. Bei der Kostenberechnung des Produkts und Anzahl der Produkte steht 0. Wie kann ich das beheben?
-
- Posts: 3262
- Joined: Wed, 6. Nov 02, 20:31
Da hast Du natürlich Recht, war wohl gedanklich schon wieder woanders ... aber danke für das richtig stellen für diejenigen unter uns die das nicht wussten.UniTrader wrote:und ach ja: @Ghostrider die Datei heisst maps/WareTemplate.xml OHNE T davor.
Föderation Vereinter Planeten -=)FVP(=-
Since 1998... join the future! X3-The Sonen
Ghostrider's X-Universum [INDEX]Lucikes Scripts & Mods
Since 1998... join the future! X3-The Sonen
Ghostrider's X-Universum [INDEX]Lucikes Scripts & Mods