Waren ins Spiel einfügen

Willkommen in der Transport Fever Community

Welcome to the fan community of Transport Fever and Train Fever, the economic simulators of Urban Games. The community is free for you to share and inform yourself about the game. We cultivate a friendly and objective interaction with each other and our team will be happy to answer any questions you may have.

 

Registration and use is of course free for you.

 

We wish you a lot of fun and hope for active participation.

The Team of the Transport-Fever Community

  • Eine kurze Anleitung, wie man dem Spiel neue Waren hinzufügt.

    Eine neue Ware ins Spiel zu bringen, ist nicht besonders kompliziert.


    Grundsätzlich definiert wird sie im Verzeichnis res\config\cargo_types. Darin kommt eine Datei, die (Warenname).cargo.lua genannt wird.


    Sie enthält folgende Parameter:


    "id = " legt einen Namen fest, unter dem diese Ware spielintern bezeichnet wird. Sie wird in Großbuchstaben geschrieben und muß natürlich einzigartig sein.

    "name = " definiert den Namen, den die Ware auf der Benutzeroberfläche trägt, wenn beispielsweise der Mauszeiger über dem Icon schwebt.

    "weight = " legt fest, wie viel eine volle Kiste von dem Gut wiegt.

    "order = " definiert die laufende Nummer des Frachtguts im Spiel - auch hier ist eine einzigartige Nummer vermutlich wichtig, damit es nicht zu Modkollisionen kommt.


    Im Block "levelModels = " wird die Plane für Schüttgüter in Wagen festgelegt; wenn eine Ware nicht als Schüttgut transportiert wird, kann er entfallen.

    Der Block "discreteModels = " definiert, welche Mesh für die Stückgüter verwendet wird. Der sollte immer mit dabei sein; auch Kohle etc. reist im Spiel in einigen Transportmitteln in Kisten.


    "townInput = " legt bei Waren, die von Städten verbraucht werden sollen, fest, welcher Stadtteil sie annimmt. Optionen sind: "RESIDENTIAL", "COMMERCIAL" oder "INDUSTRIAL". Bei Zwischenprodukten, die nur von einem Werk ins nächste transportiert werden sollen und nicht in Städten verbraucht werden, kann dieser Block fehlen.


    Die .mdl-Dateien sitzen in dem Verzeichnis, das in diesen Blöcken drin steht und funktionieren so, wie alle .mdls in diesem Spiel aufgebaut sind.


    Als nächstes brauchen wir ein Symbol für die Benutzeroberfläche, das die Ware repräsentiert und an verarbeitenden Betrieben, Bahnhöfen, Waggons, überall da, wo diese Ware auftaucht, gezeigt wird. Hier brauchen wir drei verschiedene Dateien, die alle in res\textures\ui\hud stehen müssen.


    Die erste heißt: cargo_NAME.tga und ist 24x24 Pixel groß. Dieses Bild wird unter anderem an Bahnhöfen auftauchen.


    Die zweite heißt: cargo_NAME@2x.tga und ist 50x50 Pixel groß. Dieses Bild taucht an Fabriken in dem Schild auf, das die Arbeitsweise der Fabrik (Eingang und Ausgang) zeigt.


    Die dritte heißt cargo_NAME_small.tga und hat 10x10 Pixel. Dieses Symbol ist im Fabriksfenster zu sehen, wo das Rezept genau angezeigt wird.


    "NAME" steht oben natürlich für den Namen, der in der .cargo.lua unter "name = " eingetragen wurde.


    Um die Ware in einer Fabrik erzeugen oder verarbeiten zu lassen, öffne man die .con des betreffenden Werks. Ganz unten in der Datei steht folgender Block:

    Code
    1. local stockListConfig = {
    2. stocks = { "COAL" },
    3. rule = { input = { { 3 } }, output = { OIL = 1, COKE = 1 }, capacity = 200 },
    4. }

    Der Block ist beinahe selbsterklärend. Unter "stocks = " steht, was in der Fabrik gelagert wird, "rule = " legt fest, was die Fabrik erzeugt und was sie dafür benötigt. Im obigen Fall verbraucht sie 3x Kohle und erzeugt daraus 1x OIL und 1x COKE"; das kann man natürlich frei anpassen. "capacity = " legt fest, wie viel Ware in der Fabrik gespeichert werden kann, bevor das Lager voll ist und etwas abgeholt werden muß.


    Und jetzt brauchen wir noch Transportmittel, damit die neue Ware auch an ihr Ziel kommt.


    In den .mdls der Transportmittel sind ganz unten für jedes Frachtgut und jeden Frachtraum solche Blöcke enthalten:

    Code
    1. {
    2. {capacity = 44, cargoBay = {bbMax = { 28.51, 1.62, 7.35, },bbMin = { 20.14, -1.62, 4.95, }, cargoFormat = "", childId = 0, gridSize = { 4, 2, }, sizePolicy = "STRETCH_HEIGHT_SCALEY", type = "DISCRETE", },
    3. type = "STEEL",
    4. },
    5. },

    Zur Erklärung der Frachträume selbst gibt es einen separaten Lexikonartikel, den ich hier als bekannt voraussetze. Dupliziert einfach einen dieser Blöcke und setzt bei "type = " den Namen (wiederum den internen, wie in der .cargo.lua) ein. Dann sollte es funktionieren.

Share

Comments 3

  • Zitat:

    "order = " definiert die laufende Nummer des Frachtguts im Spiel - auch hier ist eine einzigartige Nummer vermutlich wichtig, damit es nicht zu Modkollisionen kommt.


    woher weiß man denn die vergebenen Nummern ?

    • Im Spiel sind es einstellige Zahlen, soweit ich das bisher gesehen habe. Wenn man also mit 101, 102 etc. anfängt, ist die Chance gut, daß man eine noch unvergebene erwischt.

    • na wenn das alle machen sind wir schnell bei ....

      aber steht fest die Zahl muß eindeutig also einmalig im Spiel sein.


      Ich hab mal Zucker versucht, so zum spaß, leider gibt es kein MOdel dafür oder das heißt anders