Mod Spielereigene Werft (Entwicklung ist Eingestellt)

Hier ist der ideale Ort um über Scripts und Mods für X Rebirth zu diskutieren.

Moderators: Moderators for English X Forum, Scripting / Modding Moderators

Post Reply
UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader » Fri, 10. Feb 17, 16:23

Als ich mir dein script und die Spieldaten angesehen habe hab ich was interresantes rausgefunden, und zwar wie ich Text in beliebigen Farben formatieren kann (auch via Player-Input :D). Da ich die Frage aber falsch verstanden habe hab ich nicht komplett nachgesehen, aber du hast dafür bei mir nen wunsch frei :D
Cappy1401 wrote:In der aller ersten Version wurde eine ganz andere Art benutzt, die so war, wie ich es haben wollte und problemlos neue Schiffe verkraftet hätte.
Jedoch sobald der Spieler die Zone verlassen hat, die Geschütze und Schildgeneratoren der gebauten Schiffe nicht mehr finden konnte.
Ich weis bis jetzt nicht was der Grund dafür ist, es kann auch sein, das sich dies nicht ändern lässt.
Wenn dies aber nicht wäre, könnte man der Werft jetzt ohne jedes Problem, jedes X-beliebige Schiff beibringen.
Das ist bei jedem Schiff so. OoS gibt es keine Turrets und Schild-Module sondern nur die summary data (Turrets und Schilde werden "collapsed")
Cappy1401 wrote:Es gibt aber noch etwas wo nicht so Arbeitet, wie es eigentlich sein sollte.
Dies kann jedoch nur von EGO geändert werden, wurde aber bis heute nicht geändert.
Wenn es geändert wird, fällt es auf.
Denn ab dem Moment wirst Du nie wieder ein Rotes Ausrufezeichen im Besitzmenü finden, wo der Grund überfüllung des Lagers ist.
Sollte auch per Mod änderbar sein, müsste aber mit jedem update der Datei seitens EGO neu gemacht werden, da es für lua so weit ich weiss keine methode zum diffen gibt, nur zum ersetzen kompletter dateien.
Cappy1401 wrote:Auch will ich die Art des Scriptaufbaus wie jetzt beibehalten, als keine Blockaktionen wie <Wait> oder <Label>.
Denn beide können weder verschoben noch gelöscht werden und sind somit ein Bein das man sich selbst stellt.
Meine Methode dagegen ist es nur komplett eigene Scripte zu schreiben und wenn ich ne drastischere änderung habe wird ne 2, 3 oder 4 usw. hinten dran gehangen und das alte Script landet in nem Legacy-Paket, um Spielstände kompatibel zu halten. oder man macht es so wie EGO und sammelt alle alten blocking actions mit chance="0" am Scriptanfang und danach kommt der neue Code.
Labels sind übrigens keine Blocking Actions (das Script bleibt bei diesen nicht stehen), wobei ich jetzt nicht weiss in wiefern man sie verschieben kann.. ich nutze sie nur als Rücksprungpunkte im Fehlerfal oder als Zielpunkte für interrupts
if not stated otherwise everything i post is licensed under WTFPL

Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter ;)

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help ;)

Cappy1401
Posts: 313
Joined: Sun, 27. Apr 08, 02:16
x4

Post by Cappy1401 » Fri, 10. Feb 17, 17:12

Antwort Ausrufezeichen in UI

Das Abfragen des Lagers ist die bekannte XML Funktion zum Abfragen wie viel einer Ware sich im Lager befindet oder noch eingelagert werden kann.
Es hat also nichts mit den LUA-Scripts zu tun.
Aber eine Änderung in der Antwort der Engine wenn es abgefragt wird, würde sich auch sofort auf die UI auswirken, ohne das Sie geändert werden muss.

Das Problem ist diese Abfrage.

Code: Select all

<set_value name="$StationWareMax" exact="$Station1.cargo.{$StationWare}.max" /> <!-- hier bekommt man die falsche Antwort.  Aber wie kommt die UI auf Ihre Mengenangabe wenn die Abfrage in XML falsch Antwortet ? -->
Mit LUA lässt sich dort also nichts ändern, denn die Einteilung des Lagers ist sicher intern in der Engine Codiert und nicht in den LUA-Scripts.

Die Änderung muss also in der Engine selbst gemacht werden, damit bei der Abfrage die Einteilung des Lagers berücksichtigt wird.

Wenn EGO dies Korrigiert, enden die Ausrufezeichen in sachen Lager überfüllt automatisch auch in der UI, ohne das Sie geändert werden muss.
Denn der Kapitän eines Schiffes kann ab dann problemlos seine heimatstation abfragen, um zu erfahren wieviel er von einer Ware jetzt noch kaufen kann, ohne das Lager zu überfüllen.
Ebenso kann er etwaige reservationen was Lager betrifft abfragen, um nur so viel zu kaufen, das es eben nicht zur überfüllung kommt.

Es ist das alte problem, wo ich schon mal hatte und von EGO bis heute nicht geändert worden ist, obwohl es sehr viele Probleme lösen würde, aber auch möglichkeiten öffnet.


Antwort Geschütze Schilde

In den Sumary stehen aber glaube ich nicht die Arten der Geschütze und Schilde. (Bin mir aber nicht sicher, müsste mal im Savegame nachsehen)
Ich müsste es also schaffen, das die Geschütze und Schilde Scharf sind um Sie abfragen zu können.
Mal sehen ob das überhaupt machbar ist. :?
Wenn ja könnte ich auf die erste Art zurückgehen, die dann auch problemlos unbekannte Schiffe korrekt berechnen kann. (Wäre ein Traum wenn das möglich ist)


Antwort farbiger Text

Ich habe tatsächlich gute Auswirkungen was Ideen betrifft. :o nicht zu glauben. :? :gruebel:



EDIT:

Was Labels betrifft schau in der "aicompat.xml" nach, wenn die Labels dort auftauchen, kann man Sie nicht verschieben. (Da habe ich mich gerade sogar selbst auf eine Idee gebracht. :D )

EDIT des EDITS:

Label tauchen in der aicompat auf, aber ob das <move_to> bedeutet das es verschoben werden kann, kann ich nicht beantworten.

<move_to line="88" label="loop"/>
<move_to line="106" label="loop"/>


Gruß Cappy1401
Jedes Kriegsschiff, das unsere Werften verlässt, jedes abgefeuerte Geschütz bedeutet letztlich einen Diebstahl an denen, die sich nicht wehren können, nämlich an unseren Kindern. Eine Welt bewaffnet bis an die Zähne feuert nicht nur gebündelte Energie allein. Sie feuert auch oft genug die Hoffnung ihrer Kinder nutzlos in den Weltraum hinaus. Doch hin und wieder lässt man uns keine Wahl, dann jedoch besteht jede Salve aus der geballten Hoffnung das endlich wieder Frieden herrscht.

Der Amazone

User avatar
Marvin Martian
Posts: 3547
Joined: Sun, 8. Apr 12, 09:40
x4

Post by Marvin Martian » Fri, 10. Feb 17, 17:26

.max gibt dir aus was in der existierenden Lagerfläche theoretisch möglich ist, das ist aber alles ohne Rücksicht auf vorhanden Waren oder Quotas

Code: Select all

<set_value name="$StationWareMax" exact="$Station1.cargo.{$StationWare}.max" />
als grobe Schätzung geht

Code: Select all

<set_value name="$StationWareMax" exact="$Station1.cargo.{$StationWare}.target - $Station1.cargo.{$StationWare}.count" />
und eigentlich müsste man noch reserved buy&sell zu rate ziehen

die relativ idiotensicherste Variante ist aber wohl

Code: Select all

<find_buy_offer buyer="$Station1" multiple="0" result="$buyoffer" wares="$StationWare" tradepartner="this.ship" />
<set_value name="$StationWareMax" exact="$buyoffer.offeramount.{this}" />
und dann eine Reservierung machen wenn man liefern will

UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader » Fri, 10. Feb 17, 17:41

zum reservierungen berücksichtigen:

Code: Select all

          <get_ware_reservation ware="$ware" object="this.container" result="$incomingamount" type="sell"/>
          <get_ware_reservation ware="$ware" object="this.container" result="$outgoingamount" type="buy"/>
          <set_value name="$amount_free" exact="this.container.cargo.{$ware}.target - this.container.cargo.{$ware}.count - $incomingamount + $outgoingamount"/>
und mit dem selber fixen meinte ich eigentlich das rote ! im falle einer überfüllung durch nen gelbes ! ersetzen oder die Symbole für fehler eindeutiger zu machen... dass du hier das Lager eiskalt überfüllst und die Ziellimits nicht berücksichtigst habe ich gar nicht mit bekommen..
if not stated otherwise everything i post is licensed under WTFPL

Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter ;)

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help ;)

Cappy1401
Posts: 313
Joined: Sun, 27. Apr 08, 02:16
x4

Post by Cappy1401 » Fri, 10. Feb 17, 18:30

@ Marvin Martian

Deine Dritte Idee ist an sich eine gute Lösung für das Handelsscript der Frachter, nur für das AI-Script der Werft leider nicht brauchbar.
Der Zweck der Abfrage ist, herauszufinden, was ist das Maximum, um dann dynamisch einen Mindestvorrat für die abgefragte Ware festlegen zu können, welcher 50% des möglichen Vorrats beträgt.
Der Grund ist, der Randombau soll auch mit nur Teilausbau des Lagers der Werft arbeiten können.
Dazu ist es aber notwendig, das das AI-Script feststellen kann, wie viel jeder notwendigen Ware maximal im Lager eingelagert werden kann, entsprechend der Einteilung des Lagers durch die Engine.
So wäre der Randombau sogar mit nur drei Kontainerlagern möglich, denn es bleiben immer min 50% des gesamten Vorrats für den Spieler übgrig. (Was ja auch mein Ziel ist)
Die Werft soll ja den Bau einstellen, sobald der Vorrat an für das Schiff benötigten Baumaterial nicht mindestens 50% + dem Material des zu bauenden Schiffes beträgt.

Und wie gesagt, eine Änderung bei eben dieser Abfrage damit Sie die Einteilung berücksichtigt und viele Probleme würden sich in Luft auflösen.
Da es ja auch weitere Möglichkeiten der gezielten Verwendung eröffnen würde, vor allem bei den Handelsscripts der Frachter.
Sie könnten dann sicher sogar zwei oder drei Fabs ansteuern um Waren zu kaufen und dann erst nach Hause fliegen.



@Unitrader


Schilde und Geschütze sind collapsed ja.
Aber auch hat sich geändert das Sie in Summary stehen, Sie stehen jetzt separat.
Auch steht dummer weise kein Macro drin.
Bei den Schilden wäre dies wegen des Preises gut, da es verschiedene MK-Versionen gibt.
Bei den Geschützen ist es weniger ein Problem, weil es bis jetzt keine MK-Versionen für Schiffe gibt.
Jetzt muss ich nur einen Weg finden, genau diese Informationen aus dem AI-Script heraus abzugreifen.
Denn ich glaube nicht das diese Shields und Turrets Angaben über eine einfache Abfrage erreichbar sind.

Auszug aus einem Savegame.

Code: Select all

<shields>
<summary state="collapsed" parent="[0xa5ee]" connection="connection_shieldgen_external01"/>
<summary state="collapsed" parent="[0xa5f9]" connection="connection_shieldgen01"/>
<summary state="collapsed" parent="[0xa5fb]" connection="connection_shieldgen01"/>
</shields>
<turrets>
<summary state="collapsed" parent="[0xa5f9]" connection="connection_turret_small_mg04"/>
<summary state="collapsed" parent="[0xa5f9]" connection="connection_turret_small_mg01"/>
<summary state="collapsed" parent="[0xa5f9]" connection="connection_turret_small_mg03"/>
<summary state="collapsed" parent="[0xa5f9]" connection="connection_turret_small_mg02"/>
<summary state="collapsed" parent="[0xa5fb]" connection="connection_turret_small_mg04"/>
<summary state="collapsed" parent="[0xa5fb]" connection="connection_turret_small_mg01"/>
<summary state="collapsed" parent="[0xa5fb]" connection="connection_turret_small_mg03"/>
<summary state="collapsed" parent="[0xa5fb]" connection="connection_turret_small_mg02"/>
</turrets>

Gruß Cappy1401

Edit:

Marvin Martian hat das ganze etwas falsch verstanden, ich habe es aber auch etwas blöd geschrieben.
Ich habe nicht dazu geschrieben das es mir einzig darum geht herauszufinden, was man von jeder Ware Maximal im Lager unter berücksichtigung der Einteilung des Lagers durch die Engine, einlagern kann.
Last edited by Cappy1401 on Fri, 10. Feb 17, 18:49, edited 1 time in total.
Jedes Kriegsschiff, das unsere Werften verlässt, jedes abgefeuerte Geschütz bedeutet letztlich einen Diebstahl an denen, die sich nicht wehren können, nämlich an unseren Kindern. Eine Welt bewaffnet bis an die Zähne feuert nicht nur gebündelte Energie allein. Sie feuert auch oft genug die Hoffnung ihrer Kinder nutzlos in den Weltraum hinaus. Doch hin und wieder lässt man uns keine Wahl, dann jedoch besteht jede Salve aus der geballten Hoffnung das endlich wieder Frieden herrscht.

Der Amazone

User avatar
Marvin Martian
Posts: 3547
Joined: Sun, 8. Apr 12, 09:40
x4

Post by Marvin Martian » Fri, 10. Feb 17, 18:48

ich kann mich täuschen aber du redest doch über $Werft.cargo.{$ware}.target ? (was die Wunschmenge der gesuchten Ware darstellt)
das ist das maximale was der Manager von einer Ware haben will und kann

das .max ist IMO gänzlich unbrauchbar für deine Zwecke, da du Waren unterschiedlicher Größe nicht ausmitteln kannst, du kannst da mit einer Referenzware damit höchstens den Umfang des Lagers testen aber da gibt es IMO auch eine eigene Abfrage dazu

Als Spieler kannst du wie gesagt die Quota von Tradeware dank der Handelsstationen nun mit einem Comm-Slot am Manager bearbeiten

Code: Select all

<add_player_choice_sub text="'Tradeware'" position="top_right" section="gMain_objectTradeWares" choiceparam="[0, 0, event.object]" />
was dann üblicher Weise wieder Platz für Ressourcen freigibt

die Option würde ich aber wie gesagt nicht unbedingt auf die Allgemeinheit loslassen weil irgendeiner vorhandene Ressourcen die vom Buildmodul gemanaged werden zusätzlich als Handelswaren hinzufügt was vermutlich in die Hose geht

UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader » Fri, 10. Feb 17, 18:50

Cappy1401 wrote:@ Marvin Martian

Deine Dritte Idee ist an sich eine gute Lösung für das Handelsscript der Frachter, nur für das AI-Script der Werft leider nicht brauchbar.
Der Zweck der Abfrage ist, herauszufinden, was ist das Maximum, um dann dynamisch einen Mindestvorrat für die abgefragte Ware festlegen zu können, welcher 50% des möglichen Vorrats beträgt.
Der Grund ist, der Randombau soll auch mit nur Teilausbau des Lagers der Werft arbeiten können.
Dazu ist es aber notwendig, das das AI-Script feststellen kann, wie viel jeder notwendigen Ware maximal im Lager eingelagert werden kann, entsprechend der Einteilung des Lagers durch die Engine.
So wäre der Randombau sogar mit nur drei Kontainerlagern möglich, denn es bleiben immer min 50% des gesamten Vorrats für den Spieler übgrig. (Was ja auch mein Ziel ist)
Die Werft soll ja den Bau einstellen, sobald der Vorrat an für das Schiff benötigten Baumaterial nicht mindestens 50% + dem Material des zu bauenden Schiffes beträgt
ist doch schon so..
.max => die theorhetisch maximale Menge im Lager. ohne irgendwelche vom Spiel vorgegebenen quotas.
.target => die vom Spiel vorgegebene quota, welche auch im Benutzerinterface angezeigt wird. (also die Einteilung des Lagers durch die Engine)

zu den Summary Data: ich weiss zwar mittlerweile wie man fest stellen kann, ob ein gewisses macro darin vorhanden ist (nützlich für Mining-Schiffe), aber die Anzahl davon könnte schwieriger werden
if not stated otherwise everything i post is licensed under WTFPL

Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter ;)

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help ;)

Cappy1401
Posts: 313
Joined: Sun, 27. Apr 08, 02:16
x4

Post by Cappy1401 » Fri, 10. Feb 17, 19:12

Au mann, mal neues Hirn und extra Dicke Hornbrille für Augen kaufen. :oops: :shock:

Ich hab das .target völlig überlesen, aber auch erst nicht kapiert, erst jetzt wo UniTrader schreibt was es bewirkt, hat es klack gemacht.

Wie painlich, Lesen ist ne Kunst und wer es kann ist klar im Vorteil. :oops: :oops: ( :arrow: merks Dir Cappy1401)
Jedes Kriegsschiff, das unsere Werften verlässt, jedes abgefeuerte Geschütz bedeutet letztlich einen Diebstahl an denen, die sich nicht wehren können, nämlich an unseren Kindern. Eine Welt bewaffnet bis an die Zähne feuert nicht nur gebündelte Energie allein. Sie feuert auch oft genug die Hoffnung ihrer Kinder nutzlos in den Weltraum hinaus. Doch hin und wieder lässt man uns keine Wahl, dann jedoch besteht jede Salve aus der geballten Hoffnung das endlich wieder Frieden herrscht.

Der Amazone

Cappy1401
Posts: 313
Joined: Sun, 27. Apr 08, 02:16
x4

Post by Cappy1401 » Fri, 10. Feb 17, 22:49

Frage:

Kann man aus dem Buildmacro welches mit
<create_build_plan macro="$selected_macro" buildplan="$build_plan" />
erstellt wird, die Geschütze und Schilde auslesen?

Denn wenn dies möglich ist, ist es vielleicht möglich, nach dem Baustart eine Variable mit dem .buildanchor zu verknüpfen.
Die Variable könnte dann nach abschluss des Baus vom anderen Teil des AI-Scripts wieder ausgelesen und auch entfernt werden.
So könnten jedoch Geschütze und Schilde für jedes Schiff dynamisch berechnet werden.
Auch können der Werft Schiffe beigebracht werden, die Sie bis jetzt nicht kennt.
Sie kann aber so trotzdem Schilde und Geschütze des Schiffes korrekt berechnen.
Momentan sind die Preise für Schilde und Geschütze statisch gespeichert, was dann wegfallen kann.


Gruß Cappy1401
Jedes Kriegsschiff, das unsere Werften verlässt, jedes abgefeuerte Geschütz bedeutet letztlich einen Diebstahl an denen, die sich nicht wehren können, nämlich an unseren Kindern. Eine Welt bewaffnet bis an die Zähne feuert nicht nur gebündelte Energie allein. Sie feuert auch oft genug die Hoffnung ihrer Kinder nutzlos in den Weltraum hinaus. Doch hin und wieder lässt man uns keine Wahl, dann jedoch besteht jede Salve aus der geballten Hoffnung das endlich wieder Frieden herrscht.

Der Amazone

UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader » Fri, 10. Feb 17, 23:17

Cappy1401 wrote:Frage:

Kann man aus dem Buildmacro welches mit
<create_build_plan macro="$selected_macro" buildplan="$build_plan" />
erstellt wird, die Geschütze und Schilde auslesen?
bis auf den mitgelieferten upgradeplan abfangen und seperat speichern meines wissens nein. da die zahl der verschiedenen wählbaren upgrades aber limitiert ist könnte man den auch relativ statisch definieren. ist eigentlich einfach nur ne verschachtelte Liste:
[
[ "upgrade1Tag" , 0.0 ],
[ "upgrade2Tag" , 0.5 ],
[ "upgrade3Tag" , 1.0 ]
]

wobei die Tags quasi vom Spiel gegeben sind (du hattest sie meisten vorhin gepostet glaube ich), und das zweite ist nur ne Zahl von 0.0 bis 1.0 die den Anteil der zu installierenden Upgrades gegenüber der Vollausstattung wiederspiegelt (0.0 = hix, 0.5 = 50% und 1.0 =100%) - wenn nen upgrade darin zu viel ist macht das auch nix, weil 100% von 0 sind immer noch 0

PS upgrade*Tag ist nur beispielhaft, die richtigen Tags hab ich grad nicht zur hand..
if not stated otherwise everything i post is licensed under WTFPL

Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter ;)

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help ;)

Cappy1401
Posts: 313
Joined: Sun, 27. Apr 08, 02:16
x4

Post by Cappy1401 » Sat, 11. Feb 17, 00:34

@ UniTrader

Du meinst sicher diese Liste hier mit den Tags der Waffen

<buildplan>
<buildsequence sequence="''" stage="0"/>
</buildplan>
<upgradeplan>
<upgradeentry upgrade="'turret_small_sg'" level="1" />
<upgradeentry upgrade="'turret_small_mg'" level="1" />
<upgradeentry upgrade="'turret_small_hga'" level="1" />
<upgradeentry upgrade="'turret_small_hgb'" level="1" />
<upgradeentry upgrade="'turret_medium_pe'" level="1" />
<upgradeentry upgrade="'turret_medium_lb'" level="1" />
<upgradeentry upgrade="'turret_missile_df'" level="1" />
<upgradeentry upgrade="'turret_missile_sm'" level="1" />
<upgradeentry upgrade="'shieldgenerator'" level="1" />
</upgradeplan>


Also wenn die Liste statt dem hier

[
[ "upgrade1Tag" , 0.0 ],
[ "upgrade2Tag" , 0.5 ],
[ "upgrade3Tag" , 1.0 ]
]

Dies hier enthält

[
[ "turret_small_sg" , 0.0 ],
[ "turret_small_mg" , 0.5 ],
[ "turret_medium_pe" , 1.0 ]
]

Wäre zumindest das Problem gelöst, welche Geschütze das Schiff hat, da Sie sicher nur die enthalten wird, wo das Schiff auch hat. (hoffe ich zumindest)
Ich müsste dann nur noch einen Weg finden, wie ich die Anzahl, feststellen kann.
Bei den Schilden wird es schon schwieriger, da es bei Ihnen ja MK-Versionen gibt.
:gruebel: :gruebel: :gruebel:

Edit:
Ich glaube ich habe einen Weg gefunden, wie ich Waffen und Schilde Scharf stellen kann, um Sie abzufragen.
Ich habe diesen Befehl in einem der AI-Scripts gefunden.
Wenn er wirklich das tut was ich mir erhoffe, kann ich direkt im Anschluss daran Schilde und Waffen auslesen.
<activate_battlestate object="this.ship" state="battlestate_red" />




Aber mal eine andere Frage.

Mich stört der Ort der Geschütze des Bauschiffes, denn es ballert nach vorne auf sich selbst, was Sinnfrei ist.
Ich kann Sie zwar problemlos auf die Arme verschieben.
Ich bin aber noch nicht dahinter gekommen, wie ich Sie dann in der Conektion.xml des bauschiffes eintragen muss.
Damit Sie wenn die Arme ausgeklappt werden auch mit gehen.

Weist Du wie ich die eintragen muss, damit dies klappt?




P.S.

Das mit <set_value name="$StationWareMax" exact="this.station.cargo.{$SWare}.target" /> funktioniert bestens und wie es gewünscht war.
Jetzt kann das AI-Script auf das Lager reagieren und funktioniert auch mit einem kleinen Lager


Update für die Werft.

Fehler bei Macronamen behoben, wo dazu führte, das die Werften keinen Manager, Verteidigungsoffi und keine Shiptrader bekommen. Wird wenn ein Modul fertig gebaut wurde, automatisch nachgeholt.



Gruß Cappy1401
Jedes Kriegsschiff, das unsere Werften verlässt, jedes abgefeuerte Geschütz bedeutet letztlich einen Diebstahl an denen, die sich nicht wehren können, nämlich an unseren Kindern. Eine Welt bewaffnet bis an die Zähne feuert nicht nur gebündelte Energie allein. Sie feuert auch oft genug die Hoffnung ihrer Kinder nutzlos in den Weltraum hinaus. Doch hin und wieder lässt man uns keine Wahl, dann jedoch besteht jede Salve aus der geballten Hoffnung das endlich wieder Frieden herrscht.

Der Amazone

UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader » Sat, 11. Feb 17, 02:43

Cappy1401 wrote:@ UniTrader

Du meinst sicher diese Liste hier mit den Tags der Waffen

<buildplan>
<buildsequence sequence="''" stage="0"/>
</buildplan>
<upgradeplan>
<upgradeentry upgrade="'turret_small_sg'" level="1" />
<upgradeentry upgrade="'turret_small_mg'" level="1" />
<upgradeentry upgrade="'turret_small_hga'" level="1" />
<upgradeentry upgrade="'turret_small_hgb'" level="1" />
<upgradeentry upgrade="'turret_medium_pe'" level="1" />
<upgradeentry upgrade="'turret_medium_lb'" level="1" />
<upgradeentry upgrade="'turret_missile_df'" level="1" />
<upgradeentry upgrade="'turret_missile_sm'" level="1" />
<upgradeentry upgrade="'shieldgenerator'" level="1" />
</upgradeplan>


Also wenn die Liste statt dem hier

[
[ "upgrade1Tag" , 0.0 ],
[ "upgrade2Tag" , 0.5 ],
[ "upgrade3Tag" , 1.0 ]
]

Dies hier enthält

[
[ "turret_small_sg" , 0.0 ],
[ "turret_small_mg" , 0.5 ],
[ "turret_medium_pe" , 1.0 ]
]

Wäre zumindest das Problem gelöst, welche Geschütze das Schiff hat, da Sie sicher nur die enthalten wird, wo das Schiff auch hat. (hoffe ich zumindest)
Ich müsste dann nur noch einen Weg finden, wie ich die Anzahl, feststellen kann.
Bei den Schilden wird es schon schwieriger, da es bei Ihnen ja MK-Versionen gibt.
:gruebel: :gruebel: :gruebel:
genau so meinte ich es ;) funktioniert übrigens auch für Schilde, die unabhöngig von der mk unter shieldgenerator zusammen gefasst werden (ausnahme: Cap-Shields, die haben nen eigenen Tag)
Cappy1401 wrote:Edit:
Ich glaube ich habe einen Weg gefunden, wie ich Waffen und Schilde Scharf stellen kann, um Sie abzufragen.
Ich habe diesen Befehl in einem der AI-Scripts gefunden.
Wenn er wirklich das tut was ich mir erhoffe, kann ich direkt im Anschluss daran Schilde und Waffen auslesen.
<activate_battlestate object="this.ship" state="battlestate_red" />
glaube nicht, dass das klappt. ist meines wissens nur für die Visualisierung IS und um ein paar Animationen zu triggern, nicht um components zu expanden (ist für OOS-Combat nicht nötig, da werden nur die gesamtstärken gegeneinander gerechnet)

Cappy1401 wrote:Aber mal eine andere Frage.

Mich stört der Ort der Geschütze des Bauschiffes, denn es ballert nach vorne auf sich selbst, was Sinnfrei ist.
Ich kann Sie zwar problemlos auf die Arme verschieben.
Ich bin aber noch nicht dahinter gekommen, wie ich Sie dann in der Conektion.xml des bauschiffes eintragen muss.
Damit Sie wenn die Arme ausgeklappt werden auch mit gehen.

Weist Du wie ich die eintragen muss, damit dies klappt?
nen Beispiel findest du hier ;)
https://github.com/UniTrader/UTFactionL ... r_ship.xml
prinzipiell ist dafür der eintrag parent="***" ausschlag gebend, das sagt aus an welchen Bauteil dein anderes Bauteil angeheftet ist. Warnung: die Kordinatensysteme können verwirrend sein, da man von vornherein schwer sagen kann auf welchen Animationszustand sich das Koordinatensystem bezieht...zum abschätzen hier nen paar ältere Screens von mir, die zeigen wo diese Positionen von dem Schnippsel das ich gepostet habe ungefähr liegen:
https://www.dropbox.com/s/ye69wcsepc9jt ... 6.png?dl=0
if not stated otherwise everything i post is licensed under WTFPL

Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter ;)

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help ;)

User avatar
Marvin Martian
Posts: 3547
Joined: Sun, 8. Apr 12, 09:40
x4

Post by Marvin Martian » Sat, 11. Feb 17, 09:08

entschuldigt das ich jetzt kurz OT reingrätsche aber weil ich gerade das mit dem Upgradeplan lese

weiß zufällig jemand ob man bei <create_ship /> auch einen Upgradeplan vorgeben kann oder ob die nur in Vollausstattung erstellt werden können?

UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader » Sat, 11. Feb 17, 12:30

nen upgradeplan mit geben geht wie ich das sehe nicht, aber du kannst einige <upgrade_object_by_tag ..../> direkt hinterher schieben - hat denselben effekt
if not stated otherwise everything i post is licensed under WTFPL

Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter ;)

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help ;)

Cappy1401
Posts: 313
Joined: Sun, 27. Apr 08, 02:16
x4

Post by Cappy1401 » Sat, 11. Feb 17, 14:26

Zu Upgradeplan Abfangen


Wenn er diesen Teil selbst macht und die Upgradeplanentrys ändert, dürfte es möglich sein etwas unterzujubeln.


<create_build_plan macro="$selected_macro" buildplan="$build_plan">
<buildplan>
<buildsequence sequence="''" stage="0"/>
</buildplan>
<upgradeplan>
<upgradeentry upgrade="'turret_small_sg'" level="1" />
<upgradeentry upgrade="'turret_small_mg'" level="1" />
<upgradeentry upgrade="'turret_small_hga'" level="1" />
<upgradeentry upgrade="'turret_small_hgb'" level="1" />
<upgradeentry upgrade="'turret_medium_pe'" level="1" />
<upgradeentry upgrade="'turret_medium_lb'" level="1" />
<upgradeentry upgrade="'turret_missile_df'" level="1" />
<upgradeentry upgrade="'turret_missile_sm'" level="1" />
<upgradeentry upgrade="'shieldgenerator'" level="1" />
</upgradeplan>
</create_build_plan>

Oder aber er ändert die Variable $Build_plan, wo diese Entries nach dem das obige durchlaufen wurde ja vorhanden sind.

Er muss es jedoch abfangen bevor es bei

<construct_ship object="this.station" buildmodule="$Baumodul" macro="$selected_macro" faction="this.$Shipowner" buildplan="$build_plan" updatebuild="true" />

ankommt.

Aber wiederum dürfen in Buildplan nur die Dinge drin sein, wo auch in der Default.xml zu finden sind.
Alles was dort nicht drin steht wird glaube ich ignoriert, weil die Engine es nicht matchen kann.
In der Default.xml sind die Tags der Waffen mit den Entries in der obigen Liste verknüpft, welche die Engine wiederum zum Macro führen.
Er müsste es also schaffen der Engine zur laufzeit auch dort das gewünschte unterzujubeln, bevor der Construktionsbefehl gegeben wird.
Ich glaube aber nicht das dies geht.
Die Defaults können glaube nur beim Spielstart durch Diffen oder ersetzen geändert werden.
Auf diese Art habe ich meine HG-Geschütze in die Werft gebracht, damit auch Sie beim Randombau korrekt benutzt werden, aber vom Spieler auch ausgerüstet werden können.


Ich kann mich natürlich auch irren so ist es nicht, aber $Build_plan ist eine Variable, und dürfte somit änderbar sein.




EDIT:

Achtung es gibt eine Stolperfalle bei der Sache.

Du kannst die durch <create_build_plan macro="$selected_macro" buildplan="$build_plan"> erstellte Variable "$build_plan" nicht direkt verändern.

Die Variable wird von der Engine dazu falsch erstellt, das selbe Problem gibt es bei einigen anderen Dingen auch.

Du Musst die Variable "$build_plan" zuerst mit <set_value> in eine andere verschieben, dann kannst Du mit <remove> "$build_plan" löschen und mit <set_value> neu erstellen.

z.B. funktioniert dies hier nicht:

Code: Select all

						<transform_position name="$ShipSavePos" refposition="$ShipPos" refrotation="$Werft.rotation" >
						<position x="1.5km" y="0m" z="0m"/>
						</transform_position>
						<warp object="$Ship" zone="$Ship.zone">
							<position value="$ShipSavePos" />
							<rotation value="$Werft.rotation"/>
						</warp>

Du musst es so wie unten machen, frag mich aber nicht warum, ich kann es Dir nicht beantworten.

Code: Select all

						<transform_position name="$ShipSavePos" refposition="$ShipPos" refrotation="$Werft.rotation" >
						<position x="1.5km" y="0m" z="0m"/>
						</transform_position>
						<set_value name="$ShipSave" exact="$ShipSavePos" />
						<warp object="$Ship" zone="$Ship.zone">
							<position value="$ShipSave" />
							<rotation value="$Werft.rotation"/>
						</warp>
Wenn man es nicht so macht, wird das Schiff in die mitte der Zone gesetzt und im Log steht der Fehler, dass die variable $ShipSavePos nicht nummerisch ist.



Gruß Cappy1401
Last edited by Cappy1401 on Sat, 11. Feb 17, 17:53, edited 1 time in total.
Jedes Kriegsschiff, das unsere Werften verlässt, jedes abgefeuerte Geschütz bedeutet letztlich einen Diebstahl an denen, die sich nicht wehren können, nämlich an unseren Kindern. Eine Welt bewaffnet bis an die Zähne feuert nicht nur gebündelte Energie allein. Sie feuert auch oft genug die Hoffnung ihrer Kinder nutzlos in den Weltraum hinaus. Doch hin und wieder lässt man uns keine Wahl, dann jedoch besteht jede Salve aus der geballten Hoffnung das endlich wieder Frieden herrscht.

Der Amazone

Cappy1401
Posts: 313
Joined: Sun, 27. Apr 08, 02:16
x4

Post by Cappy1401 » Sat, 11. Feb 17, 16:35

Frage:

Wie kann ich für eine Ware die Waren zur Herstellung abfragen?

z.B. für upg_sur_turret_small_mg

ich glaube das es dafür etwas gibt, bin mir aber nicht sicher.











Mal eine OT Frage.

Betrifft die Baudrohnen.

Die Baudrohnen bauen überall nur nicht dort wo Sie hingehören.
Sie befinden sich etwa drei bis vier Kilometer entfernt von den Werften, anstatt beim Schiff.

Dort folgen Sie jedoch wie es sein soll dem Navmesh, nur das sie nicht wieder ins Dock finden, da es nicht dort ist, wo Sie hin fliegen.
Das navmesch der Schiffe ist also etwa drei bis vier Kilometer außerhalb der Werft, anstatt im Dock wo es hin gehört.
Dies betrifft jedoch auch den Architekt, ist also nicht auf die Werften begrenzt und auch bei den Völkerwerften ist dem so.

Ich habe jedoch nichts in Richtung Navmnesh bei den Stationen gemacht, auch nicht bei Schiffen.
Meine Werft hat ein eigens extra für Sie erstelltes Navmesh und ich weis das es wo ich Sie fertig hatte, einwandfrei funktioniert hat.
Die Pfade der baudrohnen bei den Schiffen passen also problemlos, denn man kann sogar noch sehen wie sie schön brav aus Ihrem Dock kommen.
Aber sobald Sie den linkpunkt erreichen, jagen Sie in den Raum hinaus, somit steht fest, das es nicht an der Werft liegen kann.
Hat Ego irgend etwas an den Bau-URV gedreht, das die jetzt überall bauen nur nicht dort, wo Sie sein sollen?

Frag aber bitte auch mal ob andere dieses Problem auch haben, da ich ja ein gemoddetes Spiel habe.

Ich bin mir jedoch auch sicher, wenn ich die Mod raus nehme, das das Spiel problemlos geladen werden kann, nur das alles von der Mod fehlt.
Einzig die Geschützschmieden werden stehen bleiben, weil die HG-Geschütze nicht mehr im Spiel sind.
Wird die Mod jedoch in ein laufendes Spiel eingebracht, kann sie sicher ohne Effekte entfernt werden, weil die Völkerstationen die Geschütze nicht herstellen.
Es verschwindet einfach alles was mit der Mod zu tun hat, also Stationen und Schiffe.
Der Spieler muss bei einem bereits laufenden Spiel selbst Stationen bauen, um seine Nachfrage zu decken.
Die Völkerwerften fordern die HG-Geschütze auch nicht mehr an, dies habe ich entfernt, da Sie keine Schiffe bauen, wo Sie brauchen.
Nur die Spielerwerft baut Schiffe auch random, wo die Geschütze erforderlich sind.

Übrigens Ich benutze die BETA von 4.1

Gruß Cappy1401
Jedes Kriegsschiff, das unsere Werften verlässt, jedes abgefeuerte Geschütz bedeutet letztlich einen Diebstahl an denen, die sich nicht wehren können, nämlich an unseren Kindern. Eine Welt bewaffnet bis an die Zähne feuert nicht nur gebündelte Energie allein. Sie feuert auch oft genug die Hoffnung ihrer Kinder nutzlos in den Weltraum hinaus. Doch hin und wieder lässt man uns keine Wahl, dann jedoch besteht jede Salve aus der geballten Hoffnung das endlich wieder Frieden herrscht.

Der Amazone

UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader » Sat, 11. Feb 17, 18:46

Cappy1401 wrote:Frage:

Wie kann ich für eine Ware die Waren zur Herstellung abfragen?

z.B. für upg_sur_turret_small_mg

ich glaube das es dafür etwas gibt, bin mir aber nicht sicher.
ware.upg_sur_turret_small_mg.resources.
.list => All wares with non-zero amount as a script list
.random => Random ware (at least one ware with non-zero amount must be present)
.count => Number of different wares with non-zero amount
.illegal => true iff there is an illegal ware
.illegalto.{$faction} => true iff there are wares illegal to $faction, taking into account .licences held by the ware owner, if applicable
.{$ware}.exists => true iff there is a non-zero amount of $ware
.{$ware}.count => Number of wares of type $ware

Allerdings funktioiert das nur für die default-method.

Cappy1401 wrote:Mal eine OT Frage.

Betrifft die Baudrohnen.

Die Baudrohnen bauen überall nur nicht dort wo Sie hingehören.
Sie befinden sich etwa drei bis vier Kilometer entfernt von den Werften, anstatt beim Schiff.

Dort folgen Sie jedoch wie es sein soll dem Navmesh, nur das sie nicht wieder ins Dock finden, da es nicht dort ist, wo Sie hin fliegen.
Das navmesch der Schiffe ist also etwa drei bis vier Kilometer außerhalb der Werft, anstatt im Dock wo es hin gehört.
Dies betrifft jedoch auch den Architekt, ist also nicht auf die Werften begrenzt und auch bei den Völkerwerften ist dem so.

Ich habe jedoch nichts in Richtung Navmnesh bei den Stationen gemacht, auch nicht bei Schiffen.
Meine Werft hat ein eigens extra für Sie erstelltes Navmesh und ich weis das es wo ich Sie fertig hatte, einwandfrei funktioniert hat.
Die Pfade der baudrohnen bei den Schiffen passen also problemlos, denn man kann sogar noch sehen wie sie schön brav aus Ihrem Dock kommen.
Aber sobald Sie den linkpunkt erreichen, jagen Sie in den Raum hinaus, somit steht fest, das es nicht an der Werft liegen kann.
Hat Ego irgend etwas an den Bau-URV gedreht, das die jetzt überall bauen nur nicht dort, wo Sie sein sollen?

Frag aber bitte auch mal ob andere dieses Problem auch haben, da ich ja ein gemoddetes Spiel habe.
Ist das Navmesh des Schiffes in ordnung? denn dafür werden beide an gewissen punkten verbunden..
if not stated otherwise everything i post is licensed under WTFPL

Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter ;)

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help ;)

Cappy1401
Posts: 313
Joined: Sun, 27. Apr 08, 02:16
x4

Post by Cappy1401 » Sat, 11. Feb 17, 19:18

Ob das Navmesh der Schiffe in ordnung ist, ist eine gute Frage, denn das kann ich nicht prüfen.

Ich habe aber auch KEINE Änderungen an den Schiffen in diese Richtung vorgenommen, sie sind also unberührt.

Wenn man von den neuen Bauschiffen absieht, aber dort haben sich nur Waffen und Schilde und Antrieb verändert.
Aber sie sind Macro und Conection.xml unabhängig von den Orignalen.

Es ist ja nicht nur meine Werft betroffen, es sind auch die Werften der HVA und PMC betroffen, ebenso die Baudrohnen des Architekten.

Daher kann es an sich nicht an der Mod liegen.
Denn die Navmesh meiner Werft was die L und XL Docks betrifft, haben die Linkpunkte für den Übergang von der Werft zum Schiff, an der selben stelle wie die Werften von Ego selbst.
Auch hat meine Werft ein eigenes Navmesh, das selbst erstellt ist.
Ich habe auch genau darauf geachtet, das die punkte für den Übergang von der Werft zum Schiff stimmen.
Ich kann nur eines tun, ich werfe mal die 4.1 BETA runter und teste es unter 4.0

Des weiteren.
Die Völkerwerften sind Original, an Ihnen wurde nichts verändert, meine Werften sind völlig eigenständig.
Eigenes Macro und eigene Conection.xml und somit auch eigenes Navmesh

Es ist also egal was ich an meinen Werften mache, die Völkerwerften sind davon nicht betroffen.

Aber das mit den Bau-URV betrifft alles, sogar die selbstreparatur der Schiffe mit den Bau-URV.

Gruß Cappy1401


EDIT:

Bin auf 4.0 zurück gegangen, habe mich also von 4.1 Beta abgemeldet, jetzt bauen die Bau-URV da, wo Sie hin gehören.
Jedes Kriegsschiff, das unsere Werften verlässt, jedes abgefeuerte Geschütz bedeutet letztlich einen Diebstahl an denen, die sich nicht wehren können, nämlich an unseren Kindern. Eine Welt bewaffnet bis an die Zähne feuert nicht nur gebündelte Energie allein. Sie feuert auch oft genug die Hoffnung ihrer Kinder nutzlos in den Weltraum hinaus. Doch hin und wieder lässt man uns keine Wahl, dann jedoch besteht jede Salve aus der geballten Hoffnung das endlich wieder Frieden herrscht.

Der Amazone

User avatar
Orionfalke
Posts: 109
Joined: Mon, 5. Jan 04, 18:57
x4

Post by Orionfalke » Mon, 6. Mar 17, 16:50

Hallo

Gibt es den MOD auch schon im Workshop ?

Oder Nur als download ?

Ich kann derzeit nur in DeVries ein Bauschiff kaufen woeine Schiffswerft baubar ist. ( ( kann ein MOD sein )

Cappy1401
Posts: 313
Joined: Sun, 27. Apr 08, 02:16
x4

Post by Cappy1401 » Sun, 12. Mar 17, 23:21

Entschuldige bitte für die lange Zeit bis zur Antwort.

Die Mod gibt es nur hier als Download nicht im Workshop.

Momentan ist die Mod auch inaktiv, da ich etliche veränderungen vornehme. Was auch noch etwas dauern wird.

Im eigentlichen Spiel selbst gibt es kein Konstruktionsschiff, mit dem man eine Werft bauen kann.

Wenn Du bereits Mods benutzt, sieh nach, ob eine davon eine Werft zum Bau anbietet.

Die Mod sollte besser nicht mit anderen die auch Werften einbringen benutzt werden, da es zu Problemen kommen kann.

Bei meiner Mod bieten alle Völkerwerften bis auf die der Teladi und Heimat des Lichts, ein Konstruktionsschiff an, mit dem man die Werft bauen kann.

Auch bietet die Mod zwei Werften zum Bau, einmal in der Albion version und einmal in der Omicron Version.

Als letztes eine Werft die nur für Größenwahnsinnige geeigent ist, diese bis jetzt jedoch nur in der Version für Albion. :D

Die Werften für Albion kann man jedoch Problemlos in allen Clustern die zu Heimat des Lichts gehören bauen.

Die Versorgung ist auch kein Problem, da Heimat des Lichts die selben Waren wie Albion hat.

Die Werften von Heimat des Lichts und die Werft der Teladi werden mit der neuen Version ebenfalls Konstruktionsschiffe zum Bau der Werften anbieten.

Die Werft in DV bietet bereits jetzt ein Konstruktionsschiff für die Albion-Werft an.



Die Mod wird momentan jedoch verändert, darum rate ich Dir zu warten bis die neue Version zum Downlod im ersten Post angeboten wird.



Gruß Cappy1401
Jedes Kriegsschiff, das unsere Werften verlässt, jedes abgefeuerte Geschütz bedeutet letztlich einen Diebstahl an denen, die sich nicht wehren können, nämlich an unseren Kindern. Eine Welt bewaffnet bis an die Zähne feuert nicht nur gebündelte Energie allein. Sie feuert auch oft genug die Hoffnung ihrer Kinder nutzlos in den Weltraum hinaus. Doch hin und wieder lässt man uns keine Wahl, dann jedoch besteht jede Salve aus der geballten Hoffnung das endlich wieder Frieden herrscht.

Der Amazone

Post Reply

Return to “X Rebirth - Scripts und Modding”