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

raim792
Posts: 345
Joined: Sun, 29. Aug 04, 08:39
x3

Post by raim792 » Fri, 27. Mar 15, 22:07

Hallo,

Bitte um Hilfe. Hatte wie geschrieben neues Spiel mit Patsch 3.51 angefangen. Und Trotzdem keine Schiffshändler nach fertig Stellung der Werft. Kein Manager. Station leer.
Weiß nicht ob so richtig?
http://www.file-upload.net/download-104 ... 3.rar.html

JWeets
Posts: 172
Joined: Wed, 14. Apr 04, 10:47
xr

Post by JWeets » Sun, 29. Mar 15, 05:41

@Cappy1401
Sorry das ich dich noch einmal stören muß, aber, ich habe jetzt 2 Gerüste blockiert, durch 1x Reparatur und einmal durch Drohnen ausrüsten.
Die Schiffe sind längst wieder im Einsatz aber die Händler sind nicht frei.
Sie zeigen unter Resurßen immer noch die betreffenden Schiffe an, brauchen aber nichts.
Kommt mir auch bekannt vor, hatten wir das nicht schon einmal ? 1.7 oder so. Bin schon rumgeflogen, reingesprungen und reingeflogen, hilf alles nichts. Muss ich wieder Editieren ?

Gruß Achim

raim792
Posts: 345
Joined: Sun, 29. Aug 04, 08:39
x3

Post by raim792 » Sun, 29. Mar 15, 08:58

Hallo,

Danke schön für die Mühe , aber nicht weiter machen.
Hat sich erledigt. Da bei diesen Mod mir zu viele Probleme aufgetreten sind.

Jetzt ein anderen Werft Mod genommen.

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

Post by Cappy1401 » Fri, 3. Apr 15, 20:08

@ JWeets

Hier das vorerst letzte Update für die Werft, denn der Mod wird vorerst wegen der ständigen Probleme nicht mehr zum Download angeboten.



Der Architekt startet die Werft nun direkt ohne separates Script.
Selbstheilung der Werft geändert, Sie arbeitet jetzt unabhängig.
Schiffe docken jetzt nach dem Ausrüsten ab und parken über der Werft.

!!!Achtung!!!
Bei diesem Update darf sich kein ein Schiff in bau befinden, auch nicht auf dem Weg zur Werft zum Ausrüsten oder zur Reparatur oder deswegen an der Werft angedockt sein.
Denn es werden die Shiptrader der Werft neu erstellt, Blockierte Shiptrader sind damit wieder nutzbar.



Gruß Cappy1401
Last edited by Cappy1401 on Sat, 1. Jul 17, 22:27, 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

Christian Dengel
Posts: 21
Joined: Sun, 4. Dec 05, 13:07
x4

Post by Christian Dengel » Sat, 4. Apr 15, 09:29

Hallo Cappy,

das finde ich sehr schade denn die Werft läuft, zumindest bei mir, einwandfrei. :) Wie gesagt ist sehr schade :(

Aber trotzdem eine tolle Arbeit :D

Grüße

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

Post by Cappy1401 » Sat, 4. Apr 15, 12:19

Die Entwicklung an sich geht schon weiter, nur das ich den Mod vorerst mal nicht mehr zum Download anbiete.
Ich hoffe eine Lösung zu finden, die dafür sorgt, das der Architekt, auch wenn er verändert wird, die Werft beim Bau trotzdem korrekt startet.
Ebenso das der Mod selbst erkennt, wenn ein Shiptrader blockiert ist und Ihn wieder frei setzt, aber so einfach wie es sich anhört, ist das nicht.

Die Werft sollte für die nächste Zeit auch weiterhin laufen, auch mit dem nächsten Patch, so lange EGO nichts am Architekten verändert, oder an der Art wie Scriptsbefehle arbeiten.
Der Patch jetzt ändert die Art, wie die Werft beim Bau gestartet wird, in der Hoffnung das dadurch der Start der Werft durch andere Mods nicht mehr verhindert wird.
Denn wie beschrieben Startet der Architekt die Werft jetzt direkt, es wird alo kein externes Script mehr aufgerufen.
Die Shiptrader wurden ebenfalls geändert und sollten auch weiterhin problemlos Arbeiten, so lange nicht irgend ein Mod versucht, die Shiptrader der Spielerwerft direkt zu verändern.
Die Selbstheilung der Werft arbeitet jetzt unabhängig und prüft bei jedem laden des Spiels, ob der Manager vorhanden ist.
Sollte es also beim Bau passieren, dass der Manager vorhanden ist, aber keine Shiptrader, der Werft einfach den Manager und den VO klauen und feuern, Spiel speichern und neu laden.
So lange nichts den Start der Selbstheilung verhindert, werden etwas verzögert der Manager und der VO neu erstellt, zusammen mit den Shiptradern, ebenso wird die Werft komplett neu gestartet.

Gruß Cappy
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: 3548
Joined: Sun, 8. Apr 12, 09:40
x4

Post by Marvin Martian » Sat, 4. Apr 15, 14:58

warum eigentlich keine Start/Restart Option beim Manager, respektive Verteidigungsoffizier?

Im Prinzip hackt es doch dauernd daran dass dieses Skript relativ unzuverlässig gestartet wird, warum also keine Gesprächsoption bei einem NPC der komplett vanilla läuft, wie dem VO
alternativ könnte man auch den Manager verwenden, aber wenn man dort später bezüglich Randombau diesen neu starten (bzw. erstellen) will wäre eine unabhängige Entity wohl besser

hätte man ein besorge/entlasse Schiffshändler Option und/oder öffne/schließe Station (random NPCs) wäre der ganze Zauber doch nur noch halb so fehleranfällig

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

Post by Cappy1401 » Sun, 5. Apr 15, 20:54

Die eigentliche Frage wo sich stellt ist, warum kann das Script nicht aufgerufen werden. :?
Das Problem liegt nicht am Script an sich, das ist sicher.
Ich hatte es aber auch schon so, das der erste Aufruf des Scripts problemlos funktionierte, der zweite jedoch plötzlich ins leere lief.
Im Log stand, das der Aufruf kein Ziel hätte. :o wie kann das sein. :?
Darum probiere ich es jetzt mal auf die Art, das ich das notwendige direkt in das Script des Archi patche.
Wenn es jetzt nicht funktioniert, gibt es nur noch zwei Möglichkeiten.
1.) Der Archi wurde durch einen Mod verändert.
2.) Die Engine hat einen Bug.

Was das Einstellen und Freisetzen der Shiptrader oder den Start der Werft betrifft.
Es wäre manuell möglich ja.
Die Werft wird jedoch nach dem Bau bereits von der Engine grundlegend gestartet, das Script selbst ist in wirklichkeit nur eine Erweiterung.
Die Engine startet die Werft nämlich nur als normale Station, weshalb der Start durch die Engine per Script erweitert werden muss.
Ich möchte aber auch, das die Werft an sich, so einfach wie möglich zu handhaben ist.
Sprich Werft bauen und benutzen, ohne unnötigen Schnick schnack.
Also keine unnötigen Scripts, bei denen man ständig darauf achten muss, ob Sie mit dem nächsten Patch auch noch funktionieren.
Der Archi macht ja momentan mehr als genug Ärger, wie auch die Selbstheilung der Werft, wie man momentan sehen kann.
Wobei ich hoffe das das mit der Selbstheilung jetzt gelöst ist.
Den Teil der mit dem Archi zu tun hat, muss ich so oder so ständig prüfen, damit die Werft auch weiterhin gebaut werden kann.
Ich hoffe, das ich es schaffe, das die Werft in der nächsten Zeit problemlos gebaut werden kann und vor allem die Shiptrader zuverlässig und ohne zu blockieren arbeiten.
Denn dann kann ich mich wieder dem Randombau widmen, denn so gesehen ist der Randombau nur ad-hock aufgesetzt.
Aber so lange die Werft nicht sauber läuft, liegt der Randombau auf Eis, da er eine funktionierende Werft braucht.

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 » Sun, 5. Apr 15, 20:56

Cappy1401 wrote:Die eigentliche Frage wo sich stellt ist, warum kann das Script nicht aufgerufen werden. :?
Das Problem liegt nicht am Script an sich, das ist sicher.
Ich hatte es aber auch schon so, das der erste Aufruf des Scripts problemlos funktionierte, der zweite jedoch plötzlich ins leere lief.
Im Log stand, das der Aufruf kein Ziel hätte. :o wie kann das sein. :?
Darum probiere ich es jetzt mal auf die Art, das ich das notwendige direkt in das Script des Archi patche.
Wenn es jetzt nicht funktioniert, gibt es nur noch zwei Möglichkeiten.
1.) Der Archi wurde durch einen Mod verändert.
2.) Die Engine hat einen Bug.
jeder cue kann nur einmal ausgeführt werden, ausser man ressetet ihn oder er ist instanziert.. hoffe das hilft dir weiter ;)
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 ;)

JWeets
Posts: 172
Joined: Wed, 14. Apr 04, 10:47
xr

Post by JWeets » Mon, 6. Apr 15, 00:47

Das hoffe ich von meinen Beobachtungen auch.
Werft ist fertig gebaut. In den Missis steht immer noch, baue Verteidigung ?
Schiffhändler ansprechen geht , Schiff bestellen, Zugaben auswählen, bla bla bla abwarten, Geld wird abgebucht, landet n i c h t beim Manager und...
das Schiff wird nicht gebaut.
Der Schiffhändler ist blockiert und ich kann unter Ressistand eine Fedhelm sehen, es fehlt nichts, aber ich habe eine MIDIR bestellt ???
Das ganze kann man mit allen wiederholen, es ist immer eine Fedhelm.

Nicht aufgeben!!!!

Gruß Achim

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

Post by Cappy1401 » Mon, 6. Apr 15, 15:03

Ich prüfe es, mal sehen was da los ist.

Das man immer noch die Verteidigung bauen soll wundert mich, weil als letztes ja nur noch die Lager für das XL Dock gebaut werden.
Mal sehen ob ich diese Mission beenden kann, ich muss nur herausfinden, auf welche der drei Stufen der Verteidigung, sich die Mission bezieht.
Aber dabei kannst Du mir helfen, ich muss wissen bei welchem Dock, die Mission nach dem Bau nicht beendet wurde.
Die Werft hat sechs Verteidigungsplattformen, zu jedem Baugerüst gehören zwei.
Also L-Dock 1, L-Dock2 und XL-Dock

Mal sehen ob das mit dem falschen Schiff auch bei mir auftritt.
Hast Du den neuen Patch drin, der einige Post weiter vorne ist?


Lade diesen Patch hier, er resettet die gesamte Werft.
Schiffe die der Werft zugewiesen sind, musst Du neu zuweisen.
Alles Geld wo der Manager und die Shiptrader haben, wird auf dein Konto überwiesen.
Das Geld wo der alte Manager hatte, bekommt dann der neue überwiesen.
Vielleicht wurden die Shiptrader nicht sauber erstellt.

Schreibe mir ob Sie jetzt dann das tu,n was Sie sollen, oder ob immer noch das falsche Schiff gebaut wird und ob das Geld beim Manager landet oder nicht.


EDIT SAGT:

Schicke mir bitte noch das Savegame bevor Du den Patch benutzt. Zusammen mit einer Textdatei wo absolut alle Mods aufgelistet sind wo Du verwendest.
Schreibe hinter die Mods wo Aktuell sind, also für 353 (Aktuell)
Bei denen die nicht aktualisiert wurden, lass es weg.
Geschickt wäre wenn Du alle Mods wo in deinem Modordner sind, zusammen mit dem Savegame in ein Archiv packst.

EDIT 2 SAGT:

Ich habe es jetzt mit dem aktuellen Patch der Werft ausprobiert, ich konnte keinen fehlbau feststellen, es wurde von allen drei Händlern, das Schiff gebaut, wo bestellt wurde.
Schicke mir bitte unebdingt das Savegame als Archiv zusammen mit allem Mods wo Du verwendest, ich hoffe das es dann auftritt.
Die Scripts der Shiptrader beim Test jetzt, waren die selben wie im letzten Patch, dies hat sich mit dem hier oben auch nicht geändert.
Aber wie gesagt, es wurden die Schiffe gebaut, wo bestellt wurden.

Oder hast Du versehentlich die BETA der Randomwerft im Spiel?
Sieh mal unter Erweiterungen im Hauptmenü nach, welche Version dort steht, dort muss 2.00 stehen wenn dort 2.10 steht hast Du die BETA der Randomwerft drin und die hat Fehler ohne ende.
Aber mit dem Patch oben wirst Du die BETA los, ohne etwas zu verlieren.
Die Werft wird durch den Patch oben komplett neu gestartet.



Gruß Cappy1401
Last edited by Cappy1401 on Sat, 1. Jul 17, 22:28, 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

JWeets
Posts: 172
Joined: Wed, 14. Apr 04, 10:47
xr

Post by JWeets » Tue, 7. Apr 15, 20:12

https://www.dropbox.com/s/8i12xp9w0ozzv ... s.txt?dl=0
https://www.dropbox.com/s/iy1zdtica4oca ... 1.xml?dl=0
Also,
ich habe die Version 2.0, es wurde jeweils nur ein Targonsucher an jedem Gerüst gebaut, dann habe ich dem Manager alles Geld genommen und eine Midir bestellt, wieder wird eine Fedhelm gebaut.. wenn überhaupt.Das Geld landet doch beim Manager. Die Mods sind alle geuppt worden und machen keinen Ärger. Der Extensions Ordner ist gepackt 230 MB, willst du den wirklich?
Deinen Patch habe ich aber noch nicht eingespielt.

Bin ganz Ohr und auf Empfang.

Achim

JWeets
Posts: 172
Joined: Wed, 14. Apr 04, 10:47
xr

Post by JWeets » Wed, 8. Apr 15, 17:43

Juhu
mit dem Patch werden Schiffe gebaut die bestellt wurden und das Geld landet beim Manager.
Die Schiffe die der Werft zugeteilt wurden, sind immer noch zugeteilt,
ich mußte nichts machen.
Am Großen Gerüst sind 3 Targonsucher gebaut worden, mehr nicht. Beim Archi kann ich auch nichts mehr bauen lassen.
Bei den Missis stehen noch 4 Targonsucher offen.

Stück für Stück, das wird !!!

Achim

Christian Dengel
Posts: 21
Joined: Sun, 4. Dec 05, 13:07
x4

Probleme mit Architekt

Post by Christian Dengel » Sat, 11. Apr 15, 14:21

Hallo Cappy,

ich habe die Werft Neu gebaut und alles ist Bestens (v.3.53), alle Schiffe lassen sich bauen und alles Personal ist vorhanden. :D

Ich lasse mir ein Bau-Schill AL bauen und möchte eine Fab bauen, soweit so gut aber Architekt wiederholt alles doppelt und nach dem 1. Modul will er Neu anfangen :( egal welches Konstrukt ich benutze immer dasselbe.

Was mir auch aufgefallen ist das nach dem Werft Bau wieder eine Klumpen Bildung von Bau URV's sichtbar war obwohl seitens EGO nach dem letzten Update nicht mehr passieren soll. :?

Werft ist DV/Feindlicher Moloch
Mod's: More Crew, Super Booster, Super Scanner und Teladi DLC

Grüße :)

Christian Dengel
Posts: 21
Joined: Sun, 4. Dec 05, 13:07
x4

Post by Christian Dengel » Sat, 11. Apr 15, 14:46

Last edited by Christian Dengel on Sun, 12. Apr 15, 11:08, edited 1 time in total.

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

Post by Cappy1401 » Sat, 11. Apr 15, 18:29

@Christian Dengel

Problem gefunden und behoben.

Der Archi will das Modul zwei mal bauen, weil er dem Schiff zwei mal zugewiesen wurde, weshalb sein Script doppelt läuft.

Mit dem Update ist dies behoben, der Archi wird dem Schiff also nur noch einmal zugewiesen.

Für Bau-Schiffe die bereits gebaut sind, aber noch keine Station bauen, ist die Lösung sehr einfach.
Hol den Archi an Bord der Skunk und setze Ihn wieder aufs Bau-Schiff, er wird dadurch dem Schiff neu und nur einmal zugewiesen.

Du kannst es auch mit den Archi probieren, die bereits eine Station bauen.
Wenn ich jetzt richtig liege, ist es jetzt möglich, den Archi neu zuzuweisen, denn es gibt eine Gesprächsoption dazu.

Mach aber vorsichtshalber ein backup des Saves, bevor Du dies versuchst, denn ich habe dies selbst bis jetzt noch nicht ausprobiert.


Gruß cappy
Last edited by Cappy1401 on Sat, 1. Jul 17, 22:29, 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

Christian Dengel
Posts: 21
Joined: Sun, 4. Dec 05, 13:07
x4

Post by Christian Dengel » Sun, 12. Apr 15, 11:18

Hey Cappy,

Vielen Dank! Alles Bestens :D

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

Post by Cappy1401 » Mon, 1. Feb 16, 00:42

Ich habe seit dem die Beta auf [4.0 Beta 6 Hotfix 1] gewechselt hat, ein Problem mit der zuweisung einer Faction, für ein zu bauendes Schiff.

Das Problem äusert sich im Debuglog wie folgt.

[General] ======================================
[=ERROR=] Error in AI script trade.shipyard.player on entity 0x127b9: faction attribute is not a faction and not null: [faction.bejaren] <---- Das hier ergibt keinerlei Sinn :?
* Expression: this.$Shipowner
[General] ======================================

Die Faction ist eine reguläre Homefaction eines Clusters und besitzt sogar eine eigene Werft und weitere Stationen, die bis jetzt noch problemlos arbeiten, denn es gibt keine Fehlermeldungen und die Werft baut auch.
Alle notwendigen Dinge damit Sie funktioniert sind auch forhanden, man bekommt Sie sogar korrekt über die Abfrage mit <Get_Suitable_Ship_Faction> und <Get_Mission_Factions> geliefert.
Auch alle Einträge in der races.xml und der factions.xml sind vorhanden.
Die Jobschiffe arbeiten auch problemlos, ebenso lässt sich problemlos der Ruf steigern.
Das ganze ist sogar bereits verifiziert, denn das Problem tritt sogar mit den Vanilla Factions auf.

Die Reihenfolge der Verarbeitung der Factions sieht wie folgt aus:

Abfrage mit <Get_Suitable_Ship_Faction> im Gesprächsmenü des Managers der Werft, dort werden auch noch etliche weitere wichtige Variablen erstellt, die auch funktionieren.

Speichern der Liste der Factions mit <set_value name="event.object.$ETfactions" exact="$Suitable_Ship_Faction.clone" /> in einer Variable die zum Manager gehört, ermöglicht den Zugriff im AI-Script der Werft.

Die weitere Verarbeitung der Factions erfolgt dann im AI-Script der Werft selbst.

Originalversion der Verarbeitung der Factions im AI-Script der Werft, bevor das Problem auftrat.
Sie hat, bis es auf [4.0 Beta 6 Hotfix 1] gewechselt hat, problemlos funktioniert.
Die Markierte Variable ist das Problem, Sie wird von <construct_ship> bemängelt.

Code: Select all

<set_value name="this.$RelaTest" exact="this.station.tradenpc" />
<debug_text text="player.age + ' Werft AI Relationsprüfung : Factions aus Abfrage der Shipfaktions für %1 : %2'.[this.station.knownname, this.station.tradenpc.$ETfactions]" chance="$debugchance" />
<do_elseif value="this.station.cluster.knownname" exact="{8900100,101}">
	<create_list name="this.$Shipfacts" />
	<do_all exact="this.station.tradenpc.$ETfactions.count" counter="$i">
		<set_value name="this.$TestFakt" exact="this.station.tradenpc.$ETfactions.{$i}" />
		<do_if value="this.$RelaTest.owner.relationto.{this.$TestFakt}" min="-0.0032">
			<append_to_list name="this.$Shipfacts" exact="[this.station.tradenpc.$ETfactions.{$i}]" />
		</do_if>
	</do_all>
	<do_if value="this.$Shipfacts.count gt 0">
		<debug_text text="player.age + ' Werft AI Relationsprüfung : Factions nach Relationsprüfung für %1 : %2'.[this.station.knownname, this.$Shipfacts]" chance="$debugchance" />
		<set_value name="this.$Shipowner" exact="this.$Shipfacts.random" />
		<set_value name="this.$FactionPasst" exact="1" />
	</do_if>
	<do_else>
		<debug_text text="player.age + ' !!!ERROR!!!  Werft AI Relationsprüfung : Es wurden keine Factions für die Randomwahl gefunden...'" chance="$debugchance" />
		<write_to_logbook category="general" text="'!!!ERROR!!!  Werft AI Relationsprüfung : Es wurden bei der Werft %1 keine Factions für die Randomwahl gefunden...'.[this.station.knownname]" />
		<set_value name="this.$Bautrader.$block_buildmodule" exact="false" />
		<set_value name="this.$Bautrader.$shiptrader_isbusy" exact="false" />
		<remove_value name="this.$Shipfacts" />
		<remove_value name="this.$Shipowner" />
		<remove_value name="this.$Bautrader" />
	</do_else>
</do_elseif>
<construct_ship object="this.station" buildmodule="this.$Baumodul" macro="this.$selected_macro" faction="this.$Shipowner" buildplan="this.$build_plan" updatebuild="true" />
<--																								                              ^^^^^^^^^^^^^^^  Originale Art der zuweisung der Faction -->
Das Ergebnis zusammengefasst seit dem Wechsel auf [4.0 Beta 6 Hotfix 1]

Ausgabe des MD-Scripts ins Debuglog zur Prüfung:
[Scripts] *** Context:md.Werftmanager.WerftInit<inst:221d0>: 72.342 WerftSetup: Werft: Schiffswerft Ethan I | Cluster : Ethan | Sector : Guter Platz | Factions in der Abfrage : [faction.belaren,faction.bejaren]

Ausgaben des AI-Scripts der Werft:
[Scripts] *** aicontext<trade.shipyard.player,0x127b9>: 127.052 Werft AI Relationsprüfung: Factions aus Abfrage der Shipfaktions für Schiffswerft Ethan I : [faction.belaren,faction.bejaren] <---- Factions wurden korrekt übergeben
[Scripts] *** aicontext<trade.shipyard.player,0x127b9>: 127.052 Werft AI Relationsprüfung: Factions nach Relationsprüfung für Schiffswerft Ethan I : [[faction.belaren],[faction.bejaren]] <---- Factions wurden korrekt in der Liste gespeichert.

[General] ======================================
[=ERROR=] Error in AI script trade.shipyard.player on entity 0x127b9: faction attribute is not a faction and not null: [faction.bejaren] <---- Das hier ergibt keinerlei Sinn :?
* Expression: this.$Shipowner
[General] ======================================


Hier eine geänderte Version um zu testen ob die übergabe an die Variable nicht geklappt hat, was sich jedoch nicht bestätigt hat.

Die geänderte version zur überprüfung, diesesmal mit den Vanillafactions aus OL

Code: Select all

<set_value name="this.$RelaTest" exact="this.station.tradenpc" />
<debug_text text="player.age + ' Werft AI Relationsprüfung : Factions aus Abfrage der Shipfaktions für %1 : %2'.[this.station.knownname, this.station.tradenpc.$OLfactions]" chance="$debugchance" />
<do_elseif value="this.station.cluster.knownname" exact="{20003,5}">
	<create_list name="this.$Shipfacts" />
	<do_all exact="this.station.tradenpc.$OLfactions.count" counter="$i">
		<set_value name="this.$TestFakt" exact="this.station.tradenpc.$OLfactions.{$i}" />
		<do_if value="this.$RelaTest.owner.relationto.{this.$TestFakt}" min="-0.0032">
			<append_to_list name="this.$Shipfacts" exact="[this.station.tradenpc.$OLfactions.{$i}]" />
		</do_if>
	</do_all>
	<!-- geänderter Bereich -->
	<do_if value="this.$Shipfacts.count gt 0">
		<debug_text text="player.age + ' Werft AI Relationsprüfung : Factions nach Relationsprüfung für %1 : %2'.[this.station.knownname, this.$Shipfacts]" chance="$debugchance" />
	</do_if>
	<!-- geänderter Bereich -->
	<do_else>
		<debug_text text="player.age + ' !!!ERROR!!!  Werft AI Relationsprüfung : Es wurden keine Factions für die Randomwahl gefunden...'" chance="$debugchance" />
		<write_to_logbook category="general" text="'!!!ERROR!!!  Werft AI Relationsprüfung : Es wurden bei der Werft %1 keine Factions für die Randomwahl gefunden...'.[this.station.knownname]" />
		<set_value name="this.$Bautrader.$block_buildmodule" exact="false" />
		<set_value name="this.$Bautrader.$shiptrader_isbusy" exact="false" />
		<remove_value name="this.$Shipfacts" />
		<remove_value name="this.$Shipowner" />
		<remove_value name="this.$Bautrader" />
	</do_else>
</do_elseif>
<construct_ship object="this.station" buildmodule="this.$Baumodul" macro="this.$selected_macro" faction="this.$Shipfacts.random" buildplan="this.$build_plan" updatebuild="true" />
<--																								                              ^^^^^^^^^^^^^^^^^^^^^^  geänderte Art der zuweisung der Faction. -->
Das Ergebnis der Änderung sieht zusammengefasst so aus:
Es gibt eine Pause wenn der Randombau nicht aktiv ist, damit die Werft Handel ausführt, darum die unterschiedlichen Zeiten bei den Ausgaben.

Ausgabe des MD Scripts zur Prüfung ob die Factions auch korrekt geliefert wurden:
[Scripts] *** Context:md.Werftmanager.WerftInit<inst:2d807>: 149.318 WerftSetup: Werft: Spielerwerft Omicron I | Cluster : Omicron Lyrae | Sector : Schattennebel | Factions in der Abfrage : [faction.aquarius,faction.argongovernment,faction.chow,faction.frantonpharma,faction.jonferson,faction.hereticvanguards]

Ausgabe des AI-Scripts der Werft vor der Verarbeitung. Zeigt das die Factions korrekt übergeben wurden.
[Scripts] *** aicontext<trade.shipyard.player,0x1287b>: 283.557 Werft AI Relationsprüfung: Factions aus Abfrage der Shipfaktions für Spielerwerft Omicron I : [faction.aquarius,faction.argongovernment,faction.chow,faction.frantonpharma,faction.jonferson,faction.hereticvanguards]

Diese Ausgabe zeigt das die Factions bereinigt und auch korrekt in der dafür vorgesehenen Liste gespeichert wurden:
[Scripts] *** aicontext<trade.shipyard.player,0x1287b>: 283.557 Werft AI Relationsprüfung: Factions nach Relationsprüfung für Spielerwerft Omicron I : [[faction.aquarius],[faction.argongovernment],[faction.chow],[faction.frantonpharma],[faction.jonferson]]

[General] ======================================
[=ERROR=] Error in AI script trade.shipyard.player on entity 0x1287b: faction attribute is not a faction and not null: [faction.chow] <---- Selbes Problem und Der Befehl <construct_ship> bricht selbst bei Vanilla Factions ab.
* Expression: this.$Shipfacts.random
[General] ======================================

Kann es sein, das die Programmierer etwas an <construct_ship> verändert haben, das es plötzlich nicht mehr möglich ist, dem zu bauenden Schiff eine Faction über eine einfache Variable zuzuweisen ???
Leider schweigt sich das Changelog über etwaige änderungen an <construct_ship> absolut aus.


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 » Mon, 1. Feb 16, 01:46

kommt mir sehr komisch vor, glaube nicht dass das beabsichtigt ist. die factions werden ja korrekt übergeben (die fehlermeldung sagt schliesslich dass es ne faction ist - aber der Befehl erkennt diese irgendwie nicht als solche an, daher die fehlermeldung)


ich hab das mal im Englischen Moddingforum im passenden Topic grob auf Englisch erklärt, was hier falsch läuft.. siehe hier: http://forum.egosoft.com/viewtopic.php? ... 16#4582216 (EDIT: Post gelöscht - nach nochmaligem drüber sehen ist das weiter leiten unnötig.)


PS gerade nochmal drüber gesehen:
kann es sein dass deine korrekten factions in einer Liste sind? der Befehl erwartet eine faction direkt und keine Liste (auch wenn sie nur einen Eintrag hat)

ich glaube ich habe die entsprechende Stelle auch gefunden - entferne mal die rot markierten Zeichen:
<append_to_list name="this.$Shipfacts" exact="[this.station.tradenpc.$OLfactions.{$i}]" />


PS warum schreibst du vor alle deine Variablen this. ? müssen sie für die Funktion des Scriptes persistent auf dem NPC bleiben? vom zusammenhang her reicht es bei den meisten davon aus, wenn sie innerhalb der Script-instanz verbleiben und beim beenden des Scriptes gelöscht weren..
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 » Mon, 1. Feb 16, 12:49

Das (this) habe ich eingebaut, weil sich die Werften wie es scheint gegenseitig beeinflussen können.
Ich bin aber noch am testen und dabei werden immer mehr der (this) wieder entfernt, am Ende werden nur die bleiben wo notwendig sind.

Das mit den klammern teste ich mal, mal sehen was raus kommt.

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

Return to “X Rebirth - Scripts und Modding”