Space Engineers

Space Engineers

Not enough ratings
Produktions und Inventar Manager (PIM) Version 1.0
By BelaOkuma
Anleitung für den Produktions und Inventar Manager.
Ehemals war er integriert in das SMS Script, aber mit Version 1.3 musste ich ihn aus Platzgründen auslagern.
   
Award
Favorite
Favorited
Unfavorite
Disclaimer
Es ist wirklich nur ein einfacher Sortierer, es gibt umfangreichere Scripte.
Aber für den kleinen Space Engineer ist er vielleicht ganz nützlich für den Anfang.

Er wurde aus dem Script SMS ab Version 1.3 ausgelagert, weil ich sonst an die 100k Zeichengrenze für Scripte gekommen wäre.

Die beiden Scripte tauschen untereinander auch Informationen aus und können somit nebeneinander laufen.

Installieren
Das Script in einen programmierbaren Block über die "Bearbeiten"-Schaltfläche reinladen.
Es benötigt keinen Timer zum laufen.
Wo wird sortiert?
Der PIM sortiert alle Grids die über Motoren und Kolben mit dem Grid des Programmierbaren Blockes verbunden sind. Über Verbinder angedockte Schiffe werden nicht mit sortiert.
Was wird sortiert?
Alle Container und Verbinder die ein "(sms)" im Namen haben werden
geleert und die Items in die entsprechenden Container sortiert. Wenn kein
Container für zum Beispiel "ammo" eingerichtet wurde oder dieser voll ist
verbleibt die Munition in diesen Inventaren. Akquirierung neuer Container läuft nicht automatisch.

Zum Einrichten einfach in Klammern
hinter den Namen der Container anfügen:

... (sms)
die Items in diesem Container/Verbinder werden einsortiert.
Das kann zum Beispiel ein kleiner Frachtcontainer sein der nur zum Zugriff auf das Inventar dient,
ansonsten aber leer bleiben soll.
... (sms,ore)
für Erze
... (sms,ingot)
für Barren
... (sms,tools)
für Handwerkzeuge und Waffen
... (sms,ammo)
für Munition
... (sms,h-bottles)
für HydrogenFlaschen
... (sms,o-bottles)
für Sauerstoffflaschen
... (sms,component)
für Materialien
... (sms,ice)
für Eis
... (sms,kits)
für die neuen Power und Medkits
... (sms,datapads)
für Datapads
... (sms,cash)
für Spacecredits
... (sms,stone)
für Stein.
... (sms,gravel)
für Kies.
... (sms,armory)
für Waffen und Munition.

Kombinationen sind möglich.

... (sms,tools,o-bottles,h-bottles)

Wenn im Script die folgenden Optionen auf "true" gestellt sind
sortiert er die entsprechenden Items von allen Containern, Verbindern und Cockpits sowie auch aus Kryokammern in die mit "... (sms,...)" gekennzeichneten Inventare ein.

bool collect_all_Ore=true; bool collect_all_Ingot=true; bool collect_all_Component=true;
Wenn man das nicht möchte die Optionen auf "false" setzen.

Man kann auch Container für einzelne Erze oder Barren definieren.

Zum Beispiel:
... (sms,ore uranium)
... (sms,ingot iron)

Man kann auch für jede Komponente einen eigenen Container definieren.
Die Schlüsselwörter sind:

Schlüsselwort
Komponente
steelplate
Stahlplatten
metalgrid
Metalgerüste
interiorplate
Interne Panzerung
smalltube
Kleine Stahlrohre
largetube
Große Stahlrohre
glass
Panzerglas
gravity
Komponenten für Schwerkraftgeneratoren
radio
Kommunikationskomponenten
solar
Solarzellen
power
Energiezellen
zonechip
Zonechips
motor
Motoren
display
Anzeigen
construction
Herstellungskomponenten
girder
Träger
computer
Computer
reactor
Reaktorkomponneten
thrust
Triebwerkskomponenten
medical
Medizinische Komponenten
detector
Sensorkomponenten
explosives
Sprengladungen
canvas
Fallschirme

Zum Beispiel:
... (sms,steelplate)
für Stahlplatten
Steuerung der Raffinerien
Vorraussetzungen:
  • Es müssen Container für Erz und Barren definiert sein.
  • Diese müssen über das Conveyornetz mit den Raffinerien verbunden sein.
  • Die Erze zum Verarbeiten müssen sich in einem Container für Erze befinden.
Was wird gesteuert:
  • alle Raffinerien(auch gemoddete) deren Namen "... (sms)" enhält.
  • befüllen der Raffinerien mit Erzen aus Containern
  • Abtransport der Barren in die Container
  • Ausschalten der Raffinerien wenn die Produktion beendet ist ***
***
Die Autooff Funktion kann im Script selbst für alle Assemblers oder Raffinerien ausgeschaltet werden. Oder man deaktiviert es für jeden Block einzeln im Namen ("...(sms,nooff)")

Das Scrpit "errechnet" die Priorität der einzelnen Erze die zur
Verarbeitung zur Verfügung stehen (1-100). Diese kann man sich
über das Kommando "oreprio" mit meinem Script SMS anzeigen lassen. Dabei gibt es für
jede Art von Raffinerien eine eigene Prioliste (Refinerys,Arc Furnace,...).

Man kann diese Liste übersteuern und auch Priowerte größer als 100 eingeben.
Dazu einfach in CustomData einer Raffinerie,
für dessen Art man eine bestimmte Erzpriorität haben möchte, schreiben:

oreprio:erz=priorität

Zum Beispiel:

Man möchte das die Lichtbogenöfen Stein immer zuerst verarbeiten?
Dann in CustomData eines beliebigen Lichtbogenofens schreiben:

oreprio:stone=1000

Man möchte das die Raffinerien Stein immer zuletzt verarbeiten?
Dann in CustomData einer beliebigen Raffinerie schreiben:

oreprio:stone=1

Oder Raffinerien sollen gar kein Stein verarbeiten?

oreprio:stone=0

Steuerung der Assembler
Vorraussetzungen:
  • Es müssen Container für Componenten definiert sein.
  • Es müssen genügend Barren in Containern vorhanden sein.
  • Diese müssen über das Conveyornetz mit den Montageanlagen verbunden sein.
Was wird gesteuert:
  • alle Montageanlagen (auch gemoddete) deren Namen "... (sms)" enhält.
  • Montageanlagen nehmen sich selbst die benötigten Barren
  • Abtransport der Componenten in die Container
  • Ausschalten der Assembler wenn die Produktion beendet ist ***
***
Die Autooff Funktion kann im Script selbst für alle Assemblers ausgeschaltet werden. Oder man deaktiviert es für jeden Block einzeln im Namen ("...(sms,nooff)")
Autocrafting
Nach dem ersten Start des Scriptes stehen in CustomData des Programmierbaren Blockes eine Liste mit allen momentan herstellbaren Items.

Eine Beispielliste für ein LargeGrid mit einem SurvivalKit:

@AutocraftDefinitions_begin @Autocrafting_threshold;80 @Mod: Vanilla 0;HandDrill;P 0;AngleGrinder;P 0;Welder;P 0;Datapad;D 0;SolarCell;C 0;ComputerComponent;C 0;Display;C 0;MotorComponent;C 0;GirderComponent;C 0;SteelPlate;C 0;InteriorPlate;C 0;ConstructionComponent;C @AutocraftDefinitions_end;14

Wenn man dann noch einen BasicAssembler oder einen richtigen Assembler baut verlängert sich die Liste. Auch einige Mods werden unterstützt:
  • Daily Needs Survival Mod
  • Paintgun Mod
  • Azimuth Truster Mod
  • Stargate Mod
  • Deuterium Reaktor Mod
  • Defense Shield Mod

Das Script erkennt selbständig welche Items aus welcher Mod produziert werden können und ergänzt die Liste in CustomData entsprechend. Sie werden nach Mods geordnet.

Die Zahl ganz vorn in jeder Zeile legt die Maximalmenge des entsprechenden Items fest, 0 bedeutet kein Autocrafting. Wird der Schwellwert (Threshold, voreingestellt 80%) dieses Items unterschritten werden Aufträge generiert um die Maximalmenge wieder zu erreichen.

Ein Beispiel:

Wir haben 12300 Stahlplatten auf dem Grid. In die Liste tragen wir 10000 ein.
10000;SteelPlate;C
Wenn nun durch Schweissen oder Entnahme die Anzahl unter 8000 sinkt (80% von 10000) werden ca. 2000 in Auftrag gegeben. Die Menge unterliegt einer gewissen Tolleranz und wird nicht genau 10000 betragen am Ende.
PIM und Daily Needs Survival Mod
PIM kann auch mit den Blöcken der DNSK Mod umgehen.

Um die Items dieser Mod in einen Container zu sammeln schreibt man:

... (sms,food)
Allgemein für Essen.
... (sms,water)
Für Wasser
... (sms,greywater)
Für "dreckiges" Wasser.
... (sms,organic)
Für Organisches.
... (sms,waste)
Für Organic und Greywater.

Der Food Resequencer und der Soil Tray Crop Grower sowie auch beide Hydroponics Farmen können über das Autocrafting angesteuert werden. Ebenso der Waterrecycler der nur Wasser aus Eis oder Greywater herstellen kann.

Besonderheiten beim Autocrafting:

In dieser Mod gibt es drei Blöcke die per Definition eine Raffinerie sind, aber vom Script aus über Autocrafting gesteuert werden.
  • Water Recycler
  • Open Hydroponics Farm
  • Enclosed Hydroponics Farm
5 Comments
BelaOkuma  [author] Jul 6, 2023 @ 9:46am 
OK, dann bitte Freundschaftsanfrage annehmen... ;)
Beta Version ist nur für Freunde sichtbar.
Exy 86 Jul 5, 2023 @ 12:30pm 
ja wir haben daran interesse an die beta version mfg
BelaOkuma  [author] Jul 5, 2023 @ 12:00pm 
In der aktuellen Version werden schon die Assembler unterstützt. Ich arbeite gerade am nächsten Update. Da wird die Raffineriesteuerung für die IO Mod überarbeitet. Dauert noch ein wenig da ich dazu auch ein paar Videos machen möchte, aber im Grunde läuft die IO Unterstützung schon.
Wenn Du Interesse hast könnte ich dir Zugang zur Beta geben.
Und den Guide müsste ich auch mal überarbeiten. ;)
Exy 86 Jul 5, 2023 @ 11:45am 
hast du dieses script auch für den Industrial Overhaul version da wir die mod benutzen mfg
Antharann Fireblade Oct 12, 2021 @ 6:42am 
Klasse Script, wärs möglich ein update für das script zu bekommen das Mit Industrial Overhaul zusammen funktioniert/ wir eine Industrial Overhaul version bekommen?