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
Cappy1401
Posts: 313
Joined: Sun, 27. Apr 08, 02:16
x4

Post by Cappy1401 » Thu, 9. Feb 17, 22:17

Danke @ UniTrader

Hab zwar etwas gebraucht bis ich es wieder geblickt habe, aber jetzt funktioniert es.
Denn mit der Ergebnisvariablen muss man leider zuerst einen umweg gehen damit es klappt.

Das ganze sieht dann so aus, vielleicht kanns ja jemand brauchen.

Code: Select all

<set_value name="$ArcherShip" exact="event.object.container" />
<find_object name="$ArcherWerft" class="class.station" space="$ArcherShip.zone" macro="macro.struct_bt_pl_xl_shipyard_macro" />
<do_if value="$ArcherWerft?">
	<get_building_position position="$ArcherShipPos" object="$ArcherShip" construction="$ArcherWerft"/>
	<transform_position name="$ArcherShipSavePos" refposition="$ArcherShipPos" refrotation="$ArcherWerft.rotation" >
		<position x="1.5km" y="0m" z="0m"/>
	</transform_position>
	<set_value name="$ArcherShipSave" exact="$ArcherShipSavePos" />
	<warp object="$ArcherShip" zone="$ArcherShip.zone">
		<position value="$ArcherShipSave" />
		<rotation value="$ArcherWerft.rotation"/>
	</warp>

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

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

Post by Cappy1401 » Fri, 10. Feb 17, 00:37

Mod Spielerwerft

Mod entwicklung ist eingestellt

Gruß Cappy 1401
Last edited by Cappy1401 on Sat, 1. Jul 17, 22:32, edited 3 times 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, 08:43

wegen aller Materialien oder geht es um die URV-"Tradeware"?

ich hab dafür einfach beim Manager einen Link zum Lagerhaus-Handelsmenü platziert, in dem lassen sich ja die Targetmengen gut steuern - leider verleitet dieses aber auch dazu die Ressourcen einzustellen welche dann vermutlich doppelt gehandelt werden
besser wäre wenn man ein tradeware-quota per md/ Befehl setzen könnte, nur ist mir da noch keiner untergekommen, geht wohl nur über LUA

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

Post by Cappy1401 » Fri, 10. Feb 17, 13:20

Wegen aller Waren, das Lager ist mit sage und schreibe mehr als 26K :o einfach viel zu groß gewesen.
Sie hat wirklich alles gekauft dessen Sie habhaft werden konnte. :roll:
In Albion macht sich das wegen der beiden so oder so schon vorhandenen Werften nicht ganz so schnell bemerkbar, weil die Fabs doch weit Leistungsfähiger als die von OL sind.
Der Grund liegt an sich auf der Hand, OL hatte eine normale Regierung und die Fabs leisten daher nur das nötigste.
Albion hat PMC als Regierung, also eine Regierung die an sich auf Bergbau spezielisiert ist.
Die Fabs können darum geschätzt 50% mehr leisten, vor allem wenn Spezialisten auf den Fabs sind.
Da sind dann 175% keine seltenheit.
Aber dadurch habe ich auch herausgefunden warum mein Baumark so gute gewinne machte.
Die Werft hat Ihn regelrecht leer gekauft, er hat ja die doppelte Leistung des normalen Baumarktes. Der Gewinn war also kein Gewinn. :(
Sie hat in nur zwei Stunden fast 2 Mili ausgegeben und war selbst dann noch nicht mal zur hälfte voll. :gruebel: :o :D


Das Lager ist jetzt auf etwas mehr als 10K verkleinert.
Ich würde sagen 1500 Dronen von jeder Art sind mehr als ausreichend.
Die Wirtschaft wird mindestens so lange brauchen um sich von dem Schock zu erholen wenn die Werft voll ist.
Vor allem in Albion, da dort ja bereits zwei recht starke Werften vorhanden sind im gegensatz zu OL.

Aber wenn wer die Version mit 26K haben will, kein Problem.
Dann sollte er aber besser die Mod galaxystationrange auch benutzen.
Dann kann er die Werft auf Galaxiehandel setzen wodurch sie überall einkaufen kann, wo passendes hergestellt wird.
Dies könnte ds Problem mit dem Leerkaufen eines Clusters vielleicht beheben.
Aber 26K sind eine Hausnummer, da braucht man schon Asche auf dem Konto. :D
Last edited by Cappy1401 on Sat, 1. Jul 17, 22:09, edited 2 times 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, 13:40

ich hab ja auf Basis der Zellenladestation eine eigene Werft gebastelt und um mir das vanilla-Lager anflanschen zu minimieren hab ich einfach eigene Universallager erstellt und konnte daher die Lagergröße problemlos ändern - ergo Groß ist immer schlecht

ich bin jetzt bei <4 Mio wovon glaub 80k auf die Sprungzellen entfällt (ca. 10k Stück) (BTW ich denke du redest von 26 & 10Mio, sind ja IMO so schon alles "k" bei XR) den Großteil nehmen zudem die URVs weg und wenn man diese nicht gerade wie ein Weltmeister selber baut sind davon eh immer zuwenig da also 300 pro stück sind bei meinem Uni schon gewagt
ohne genannten Tradeware-Tweak kauft die Bude praktisch immer zum Maxprice was nicht wirklich profitabel ist
als Option sicherlich eine Überlegung, aber sinnvoller Grundausbau für drei Bauplätze IMO so wenig wie möglich

selbst bei einem 15 min Takt halten drei-vier Einkäufer den Stand recht entspannt

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

Post by Cappy1401 » Fri, 10. Feb 17, 13:46

Die XL-Werft ist was für absolut Größenwahnsinnige, Sie kann fast sicher die Wirtschaft eines ganzen Clusters allein am laufen halten.

Ich sage jetzt nichts über weitere Details, Bau Sie und du weist was Du dir angetan hast. :D

Ach so ich benutze die Beta von 4.1, da kann man sogar die Preise für den Einkauf des Managers festlegen.
Etwas weniger als der Everage Preis könnte das Problem ebenso beheben.
Da Sie dann nur Waren bekommt, wenn genug vorhanden sind und der Preis unter den eingestellten Preis fällt.

Ich nutze dies um meine Fabs dazu zu bringen, nur bei den eigenen Sonnenmatrixen einzukaufen.
Sie haben keine Schiffe und der Handel der Zellen mit anderen ist verboten und der Preis ist auf 2Cr gesetzt.
Bei den fabs ist der Einkaufspreis auf 2Cr gesetzt, die Kapitäne der Schiffe kaufen darum zu fast 100% nur bei meinen Matrixen die E-zellen.

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, 13:54

ich kenn das Ding schon, ich bau nur selber praktisch kaum Schiffe

Ich weiß jetzt nicht ob du das schon hast, in der CWIR hab ich das clonen von Schiffen übernommen, du kannst dabei dem Schiffshändler ein beliebiges Macro unterjubeln, ist also nicht zwingend nötig das dieses dem Baumodul bekannt ist
könnte man sicherlich mit eigener UI oder halt weniger schön, den Gesprächsoptionen auch speichern wenn man wollte

außerdem hab ich das Random-Build für die neue Version aufgebohrt dass man dem Manager Bauprojekte vorgibt, könntest du ggf auch in betracht ziehen um Serienfertigung zu haben

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

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

Marvin Martian wrote:Ich weiß jetzt nicht ob du das schon hast, in der CWIR hab ich das clonen von Schiffen übernommen, du kannst dabei dem Schiffshändler ein beliebiges Macro unterjubeln, ist also nicht zwingend nötig das dieses dem Baumodul bekannt ist
könnte man sicherlich mit eigener UI oder halt weniger schön, den Gesprächsoptionen auch speichern wenn man wollte
Mist jetzt hast du ausgeplappert wie ich in meinem HQ das mit dem Reverse Enginering umsetzen wollte :D :P

btw: zum Thema Lagerraum: mein ansatz war es, der vollen Station so viel Lager wie möglich zu geben, dies allerdings auf sehr viele aufbaustufen verteilen (ich glaube ich hab da in meiner momentanen Werft 20 bis 30 davon, finales resultat war irgendwas mit um die 5 Millionen Container-Storage und je etwa halb so viel für die übrigen Transportklassen) - aber da mein HQ gleichzeitig noch nen Warenumschlagplatz werden soll kann es sein, dass da die umstände noch etwas anders sind..
damit hat man die Option auf nen Riesiges Lager, verteilt aber das "aussaugen" der Wirtschaft über ne längere Zeit (oder unterlässt es ganz, wenn man nur das ausbaut was man wirklich braucht)
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 » Fri, 10. Feb 17, 14:43

bei deiner Werft wäre es möglich das Schiff anhand eines Musterschiffs zu kopieren das in einem eigenen Dock parkt - den Luxus haben wir mit unseren Miniwerften ja nicht :D

ich bin jetzt aktuell mit dem neuen Projekt auf dem Trip eine Ware "Schiffsteile" einzuführen die dann an Stelle der eigentlichen Ressourcen verwendet wird (über eine alternative Produktionsmethode dann an der Werft genutzt)
damit kann man besser Clusterübergreifend mit dem selben Kram bauen und braucht nicht zig Werften sondern kann Fabs für die (Vorproduktion der) Teile erstellen
jetzt kann es ja sein, dass die Werft wegen ein paar fehlender Scannerfelder streikt

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

Post by Cappy1401 » Fri, 10. Feb 17, 15:29

Der Randombau ist so wie er ist, absolut nicht das was ich wollte, aber momentan wegen gewisser Einschränkungen für mich nicht anders machbar.
Ich habe die Version wo die Werften jetzt verwenden so weit optimieren können, das es zumindest anscheinend wirklich zuverlässig funktioniert.
Ich bin kein XML-Künstler.
Das mit dem Sereienbau übersteigt sehr wahrscheinlich meine Fähigkeiten in sachen AI und MD wissen.
Ich bin ja schon froh das der Randombau wie es scheint jetzt wirklich zuverlässig arbeitet.

Aber so wie er ist, können der Werft leider nur über einen ziemlichen Umweg neue Schiffe beigebracht werden.
Das Problem ist nämlich das Berechnen des Preises für Schilde und Waffen.
In der aller ersten Version wurde eine ganz andere Art benutzt, die so war, wie ich es eigentlich haben wollte und auch 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 wirklich der Grund dafür ist, es kann auch sein, das sich dies per Script nicht ändern lässt.
Wenn dies aber nicht wäre, könnte man der Werft ohne jedes Problem, jedes X-beliebige Schiff beibringen und sie würde auch den Preis korrekt berechnen.
Momentan würde man weder Schilde noch Waffen bezahlt bekommen, da die Preise dafür für jedes Schiff statisch gespeichert sind.

Auch will ich möglichst die Art des Scriptaufbaus wie jetzt beibehalten, also keine Blockaktionen wie <Wait> oder <Label>.
Denn beide können weder verschoben noch gelöscht werden, weshalb ich wenn irgend möglich darauf verzichten will.

Gruß Cappy1401

Edit:

Das verschrotten von Schiffen soll auch noch kommen, die Frage ist nur, wie ich das am besten Umsetzen kann.
Die Werft selbst soll auf Änderungen an der UI wenn möglich verzichten.
Aber eine Mod welche die Werft in diese Richtung erweitert, wäre es eine Lösung mit der ich leben könnte.

Clonen :? Star Wars lässt grüßen oder wie. :o :D

Edit2:

Weis einer ob man das Log der Economy Software Löschen kann?
Die Bläst nämlich das Savegame unerträglich auf.
Last edited by Cappy1401 on Fri, 10. Feb 17, 16: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

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 ;)

Post Reply

Return to “X Rebirth - Scripts und Modding”