Inventar Anzeige Script

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Inventar Anzeige Script

      Moin,

      da ich mich neulich fragte wie viel ich wohl von welcher Ressource in all meinen Raffinerien, Assemblern, Containern, usw. habe, griff ich auf die Idee von @Xeracles zurück und schrieb kurzer Hand ein IngameScript, das mir die entsprechenden Größen auf einem LCD Panel anzeigt.

      Zum Workshop geht es hier.

      Kurze Einführung
      - Baue ein paar LCD Panels
      - benenne die Panels der Reihenfolge (die musst du bestimmen, beispielsweise das erste oben, das zweite drunter, etc.) nach "Res #<index>". <index> ist durch eine Zahl zu ersetzen, also einen Index. Beginnen wir bei 0, haben wir für das erste Panel "Res #0", das zweite "Res #1", das dritte "Res #2", usw.


      Weitere Informationen
      Vergisst du mal eine Zahl, ist das nicht so schlimm, sollte eine doppelt vorkommen, verdoppelt sich auch die Anzeige. Zudem wird kein Text ausgegeben, sollten nicht genug Panels verfügbar sein.
      Um das Script auszuführen, einfach eine Zeitschaltuhr (Timer block) bauen, die erst das Script im programmierbaren Block ausführt und sich dann wieder selbst startet. So habt ihr eine endlose Aktualisierung des Displays in einem Intervall, den ihr selbst bestimmen könnt.
      Wenn ihr die Schriftgröße anpassen wollt, müsst ihr das auch im Quellcode machen. Dazu findet ihr oben im Code die Zeile "float FontSize = 1.0f". 1.0 ist in dem Falle die Schriftgröße. Wenn ihr die Schriftgröße anpassen wollt, tragt anstatt 1.0 die neue Schriftgröße ein (mit Fließkommazahlen werden mit Punkt getrennt, nicht mit Komma!). Es kommt vor, dass einige Schriftgrößen unpassend sind, da sie die letzte Zeile abschneiden. Probiert einfach herum, wie es am besten aussieht.


      Eine Kategorie einzeln anzeigen
      Prefixe: Ore für Erze, Ing für Barren, Com für Komponenten und Amm für Munition.
      - Baue ein paar LCD Panels
      - benenne die Panels der Reihenfolge nach "[PREFIX] #<index>". [PREFIX] ist durch den Prefix der Kategorie zu ersetzen, die Du anzeigen möchtest.
      Wollen wir nur Komponenten anzeigen, brauchen wir also eine Gruppe namens "Ing Panels", die Panel mit den Namen "Ing #0", "Ing #1", "Ing #2", usw. enthält.


      Die gleiche Anzeige auf mehreren Displays
      - benenne alle diese Panel gleich
      Beispielsweise werden alle Panels mit dem Namen "Res #1" das gleiche anzeigen.

      Lasst es mich wissen, solltet ihr Probleme haben.

      Hier noch eine kleine Impression:


      Ich würde mich über eine positive Bewertung freuen. ^^

      Viele Grüße,
      ~Space

      Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von Spacemarine ()

    • Ja, ich füge bestimmt noch ein paar Sachen hinzu, ist ja erst Version 1.0. Ruhig her mit den Vorschlägen! ;)

      Ideen bisher:
      - die einzelnen Kategorien separat anzeigen.
      - Inhalte einzelner Blöcke anzeigen (indem man das Panel "Res <BlockName> nennt).
      - Anzeige auf mehrere Panels übertragen (evtl. indem man die Blöcke gleich benennt, sodass auf allen LCD Panels mit dem namen "Res #1" das gleiche erscheint)
    • Das mit dem Status der Maschinen wäre ich auch dran interessiert.

      Raffinerie 1: läuft
      Raffinerie 2: idle

      Lager: 90% voll

      Reaktoren:
      Reaktor gross: 30/33 online
      Reaktor klein: 2/15 online
      Batterien: 12/13 sind voll gelanden

      Reaktoren: 5000kW Leistung
      Solarzellen: 150kW Leistung

      Aktueller Stromverbrauch: 180kW/h

      Kurze Nebenfrage: wie kann ich bei einem Verbinder herausfinden, ob er verbunden ist? (z.B. ein Schiff angedockt)
      Mitglied der «Dark Lords» - Swiss Quake 3 Clan since 1998
    • Update:
      Man kann ab jetzt:
      - Jede Kategorie einzeln anzeigen.
      - Die Anzeigen spiegeln, sodass auf mehreren Panels das gleiche angezeigt wird.

      Achtung! Ich habe "Displays" in den Gruppennamen in "Panels" umbenannt. Passt auf, wenn ihr ein Update macht!



      MorTron schrieb:

      Das mit dem Status der Maschinen wäre ich auch dran interessiert. [...]

      Ja, auf jeden Fall eine gute Idee, aber ich denke, dass ich das eher in einem anderen Script unterbringe, wenn ich mal zeit hab. ;) In dem hier geht es in erster Linie um Inventare und Ressourcen.
    • So, man kann jetzt den Namen etweder erweitern, also z.B. funktioniert "Res #1 Ich liebe Space Engineers" (solange es mit Leerzeichen getrennt ist) oder ganz ändern, indem man den public title (öffentlicher Titel? - spiele auf Englisch, weiß nicht wie es auf Deutsch heißt) anstelle des Namen benutzt, sprich ihn zu "Res #1" oder ähnlichem setzt.
      Zudem spiel es keine Rolle mehr, ob man "Res #1" oder "Res # 1" schreibt.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Spacemarine ()

    • Ach, hab das Thema hier gestern ganz vergessen.
      Gestern hab ich ein Update hochgeladen. Man kann jetzt ein Panel direkt vor einen Block mit Inventar bauen, es Inv #[INDEX] nennen und es der Gruppe Inv Panels hinzufügen. Das Panel zeigt dann den Inhalt des Inventars des Blocks an vor dem es steht.l. Genauere Dokumentation folgt, wenn ich am Pc bin und Zeit habe. Alternativ schaut in die Beschreibung im Workshop.
    • Kurze Frage: Ich frage mich ob man das Script so erweitern kann, dass man zb: Mit einem Schiff Roherze farmen geht, das Script dann beim Ausladen berechnet wie viel das in Barren wäre und dann von der Station die entsprechende Menge an Barren wieder einlagert.

      Dazu müsste man dann aber wissen ob es möglich ist: Solche Variablen im Spiel zu speichern und ob diese art des Script verlaufes überhaupt machbar ist innerhalb des Spiels.

      Der Grund für die Frage ist, das ich ein Rollenspiel auf einem SE-Server laufen habe beidem die einzelnen Funktionen und Aufgaben auf verschiedene Personen und Stationen verteilt liegt und ich aktuell mich irgendwo dazwischen befinde. Die Idee war das ich Erze sammeln gehe, diese an eine Station liefer, wo auch andere ihren Kram hinschleppen und dort dann mir die Barren-Menge aus dem Gemeinsamen Container heraus "sauge", ob manuell(anhand von einer Anzeige mit den errechneten Werten) oder das via Sortierer-Block und Script ist ja erstmal relativ. Ich frage das Hier und nicht in einem neuen Thema da ich der meinung bin das abgesehen von der Berechnung und dem verschieben schon alles vorhanden wäre. Man müsste also vielleicht wenn alles gut läuft und ich mich nicht zu sehr verhau, einige Zeilen anpassen und neuschreiben, wodurch dann die Funktion des "Lagerbestandes ermitteln und umrechnen und dann auf einem LCD oder Textpanel anzeigen" gegeben wäre.
    • Möglich wäre das schon, aber stelle dir den Aufwand mal nicht zu klein vor. Du musst dich immerhin in die API einarbeiten und dann schon einiges neu schreiben.
      Deine Beschreibung ist zwar etwas unschlüssig, aber es gibt Methoden zum Verschieben von Items. Lediglich für das Verhältnis zwischen Erz und Barren müsstest du einen Multiplikator definieren, den wirst du nicht abfragen können.
    • Eine Kategorie einzeln anzeigen

      Prefixe: Ore für Erze, Ing für Barren, Com für Komponenten und Amm für Munition.

      - Baue ein paar LCD Panels

      - stecke sie in eine Gruppe mit dem Namen "[PREFIX] Displays" (ohne die
      Anführungszeichen). [PREFIX] ist durch den Prefix der Kategorie zu
      ersetzen, die Du anzeigen möchtest.

      - benenne die Panels der Reihenfolge nach "[PREFIX] #<index>".

      Wollen wir nur Komponenten anzeigen, brauchen wir also eine Gruppe
      namens "Ing Panels", die Panel mit den Namen "Ing #0", "Ing #1", "Ing
      #2", usw. enthält.


      Ist dies auch auf dem MP Server Möglich ?
      Spoiler anzeigen
      Schau doch mal bei mir auf YOUTUBE vorbei würde mich Freuen :thumbsup: