Grafik

Erklärung:

Mit der neuen Version ist es möglich, eigene Overlays für seine Fabrik zu erstellen. Wichtig ist aber, dass man den Mod „FS17_mCompanyGraphic“ im Modordner hat (vorausgesetzt es handelt sich um KEINEN Teammod der LS-Modcompany, dort ist dieser Mod schon integriert), ansonsten wird nichts mehr angezeigt.

So kann es ingame aussehen:

 

Der Pfad zur xml wird über das UserAttribute mCompanyGraphicXML (mehr Infos hier) angegeben. Für das Sägewerk sieht die xml so aus:

 

<?xml version="1.0" encoding="utf-8" standalone="no" ?>
<mCompanyGraphics>
 <mCompanyGraphics_Element type="background" autoHeight="true" size="0.175 0.6" pos="0.8 0.1" r="0.0284" g="0.0284" b="0.0284" alpha="1" uvName="g_colorBgUVs">
 
 <mCompanyGraphics_Element type="text" pos="0.81 0.2" text="$l10n_Rohstoffe" textHeight="0.025" bold="true" margin="0 0 0.02 0.01"/>
 
 <mCompanyGraphics_Element type="text" name="Brennstoffe" pos="0.82 0.2" textHeight="0.02" margin="0 0 0.007 0.007" onSet="onSetTextName_Input"/>
 <mCompanyGraphics_Element type="text" name="Brennstoffe" pos="0.82 0.2" textHeight="0.02" margin="0 0 0.007 0.007" onSet="onSetTextLevel_Input"/>
 <mCompanyGraphics_Element type="loadingBar" modus="value" showPercentsRight="true" loadingWhenOpen="true" name="Brennstoffe" onSet="onSetBarLevel_Input" pos="0.82 0.2" size="0.1 0.02" uvName="g_colorBgUVs" uvNameBackground="g_colorBgUVs" r="0.34766" g="0.47266" b="0.03906" Text_r="1" Text_g="1" Text_b="1" Background_r="0.02" Background_g="0.02" Background_b="0.02" margin="0 0 0.007 0.007"/> 
 
 <mCompanyGraphics_Element type="text" name="Holz" pos="0.82 0.2" textHeight="0.02" margin="0 0 0.012 0.007" onSet="onSetTextName_Input"/>
 <mCompanyGraphics_Element type="text" name="Holz" pos="0.82 0.2" textHeight="0.02" margin="0 0 0.007 0.007" onSet="onSetTextLevel_Input"/>
 <mCompanyGraphics_Element type="loadingBar" modus="value" showPercentsRight="true" loadingWhenOpen="true" name="Holz" onSet="onSetBarLevel_Input" pos="0.82 0.2" size="0.1 0.02" uvName="g_colorBgUVs" uvNameBackground="g_colorBgUVs" r="0.34766" g="0.47266" b="0.03906" Text_r="1" Text_g="1" Text_b="1" Background_r="0.02" Background_g="0.02" Background_b="0.02" margin="0 0 0.007 0.007"/> 
 
 
 <mCompanyGraphics_Element type="text" pos="0.81 0.2" text="$l10n_Produkte" textHeight="0.025" bold="true" margin="0 0 0.02 0.01"/>
 
 <mCompanyGraphics_Element type="text" name="woodChips" pos="0.82 0.2" textHeight="0.02" margin="0 0 0.007 0.007" onSet="onSetTextName_Output"/>
 <mCompanyGraphics_Element type="text" name="woodChips" pos="0.82 0.2" textHeight="0.02" margin="0 0 0.007 0.007" onSet="onSetTextLevel_Output"/>
 <mCompanyGraphics_Element type="loadingBar" modus="value" showPercentsRight="true" loadingWhenOpen="true" name="woodChips" onSet="onSetBarLevel_Output" pos="0.82 0.2" size="0.1 0.02" uvName="g_colorBgUVs" uvNameBackground="g_colorBgUVs" r="0.34766" g="0.47266" b="0.03906" Text_r="1" Text_g="1" Text_b="1" Background_r="0.02" Background_g="0.02" Background_b="0.02" margin="0 0 0.007 0.007"/> 
 
 <mCompanyGraphics_Element type="text" name="boardwood" pos="0.82 0.2" textHeight="0.02" margin="0 0 0.012 0.007" onSet="onSetTextName_Output"/>
 <mCompanyGraphics_Element type="text" name="boardwood" pos="0.82 0.2" textHeight="0.02" margin="0 0 0.007 0.007" onSet="onSetTextLevel_Output"/>
 <mCompanyGraphics_Element type="loadingBar" modus="value" showPercentsRight="true" loadingWhenOpen="true" name="boardwood" onSet="onSetBarLevel_Output" pos="0.82 0.2" size="0.1 0.02" uvName="g_colorBgUVs" uvNameBackground="g_colorBgUVs" r="0.34766" g="0.47266" b="0.03906" Text_r="1" Text_g="1" Text_b="1" Background_r="0.02" Background_g="0.02" Background_b="0.02" margin="0 0 0.007 0.007"/> 
 
 
 </mCompanyGraphics_Element>
</mCompanyGraphics>

Als erstes wird der Background deklariert (type="background"). Da rein kommt der komplette Inhalt. Alles ist nach der Reihenfolge. Zuerst kommt der Text "Rohstoffe". Bei "text="$l10n_Rohstoffe"" kann der Text beliebig geändert werden.

Bei einem Input oder Output gibt es standartmäßig drei Teile:

<mCompanyGraphics_Element type="text" name="Brennstoffe" pos="0.82 0.2" textHeight="0.02" margin="0 0 0.007 0.007" onSet="onSetTextName_Input"/>
 <mCompanyGraphics_Element type="text" name="Brennstoffe" pos="0.82 0.2" textHeight="0.02" margin="0 0 0.007 0.007" onSet="onSetTextLevel_Input"/>
 <mCompanyGraphics_Element type="loadingBar" modus="value" showPercentsRight="true" loadingWhenOpen="true" name="Brennstoffe" onSet="onSetBarLevel_Input" pos="0.82 0.2" size="0.1 0.02" uvName="g_colorBgUVs" uvNameBackground="g_colorBgUVs" r="0.34766" g="0.47266" b="0.03906" Text_r="1" Text_g="1" Text_b="1" Background_r="0.02" Background_g="0.02" Background_b="0.02" margin="0 0 0.007 0.007"/> 

Der erste Teil gibt den Namen aus, der zweite das aktuelle Level und der letzte Teil macht eine Statusbar.

Alle Werte können beliebig geändert werden, d.h. Farben können angepasst werden, Größen ect.

 

Wichtig!:

Alle Elemente müssen noch angepasst werden. Damit im Spiel nachher alles richtig angezeigt wird, muss bei name der Name des Inputs bzw. Outputs angegeben werden. Der Name im Sägewerks ist beispielsweise Brennstoffe und so muss in den drei Teilen in der xml folgendes angegeben werden (auch siehe oben):

name="Brennstoffe"

Falls dieser Name nicht in den l10n-Einträgen vorhanden ist, kann optional auch

text="$l10n_Stroh"

geschrieben werden. Der l10n-Eintrag sieht dann beispielsweise so aus:

<text name="Stroh"> <en>Straw</en> <de>Stroh</de></text>

Wichtig dabei ist, dass $l10n_ davor steht.

 

Hilfe beim Erstellen dieser XML:

Das Erstellen der XML kann sehr schnell gehen, wenn man diese Hilfe benützt. Normalerweise wird die XML bei Mapstart geladen. Dies hat zu Folge, dass bei jeder Änderung der XML das Spiel neu geladen werden müsste. Jedoch kann man das umgehen. Einziger Nachteil ist, die Performance kann drastisch sinken, aber man wird auch sehr schnell fertig.

Um dies zu aktivieren, muss im Script mCompanyFactory.lua ein Wert umgestellt werden. Am einfachsten geht dies mit Notepad++, aber auch mit anderen Texteditoren. Nach dem Öffnen der Datei kann mit Strg+F nach „XmlFileLoadUpdate“ gesucht werden. Diese Variable steht im Script ganz oben (in v1.1.0.1: Zeile 20). Dort steht dann

local XmlFileLoadUpdate = false

Hier muss nun der Wert false auf true geändert werden. So sieht es dann nach der Änderung aus:

local XmlFileLoadUpdate = true

Dann das Script speichern und nun wird die XML kontinuierlich neu geladen. Wenn man fertig ist, einfach wieder false hinschreiben, dann ist es wieder ausgeschalten.