construction
Willkommen in der Transport Fever Community
Wir begrüßen euch in der Fan-Community zu den Spielen Transport Fever und Train Fever, den Wirtschaftssimulatoren von Urban Games. Die Community steht euch kostenlos zur Verfügung damit ihr euch über das Spiel austauschen und informieren könnt. Wir pflegen hier einen freundlichen und sachlichen Umgang untereinander und unser Team steht euch in allen Fragen gerne beiseite.
Die Registrierung und Nutzung ist selbstverständlich kostenlos.
Wir wünschen euch viel Spaß und hoffen auf rege Beteiligung.
Das Team der Transport-Fever Community
-
-
Welche Klammer schließt denn die Klammer die am Ende von Zeile 46 geöffnet wird? Vermutlich fehlt dir da noch eine in Zeile 55. Die in Zeile 54 schließt die Klammer aus Zeile 47. Achte auf eine saubere Einrückung, dann sieht man es leichter, wenn es nicht aufgeht.
Kommas braucht es immer da, wo es Listen/Tabellen gibt, also allgemein Auflistungen.
-
Ich habs jetzt noch drei mal versucht und immer das korrigiert was das Bespiel als Fehler gemeldet hat aber es kommen einfach immer neue Fehler
Ich verstehe auch die Klammer mit dem Komma in line 42 nicht. Ist die korrekt ?
In line 54 endet die liste auch mit einer Klammer mit Komma und dann zwei normalen klammern aber in 42 wird es als Fehler markiert
oder sind beide falsch ?
In line 35 endet die Aufzählung auch nicht mit einer Klammer+komma und es gibt keinen fehler ?So wie ich das jetzt verstanden habe kommt doch nur Klamer+komma wenn weiter aufgezählt wird ?
Aber in line 74 endet es auch mit Klammer+komma und dann einer normalen Klammer ? -
Achte auf eine saubere Einrückung, dann sieht man es leichter, wenn es nicht aufgeht.
Bitte kümmere dich erstmal darum.
Kommas am Ende einer Auflistung sind optional. Wichtig ist, dass sie vorhanden sind, wenn es nicht das Ende einer Aufzählung ist.
-
Das ist egal ob da ein Komma ist. Wenn die Aufzählung zu Ende ist braucht man natürlich keins. Aber aus Übersichtsgründen ist es gut, dass es kein Fehler ergibt:
Achte einfach darauf, dass jede geöffnete Klammer an der richtigen Stelle wieder geschlossen wird.
Der Tipp mit den Einrückungen hilft.
Wenn du in Notepad++ auf die Klammer gehst, wird auch angezeigt wo diese endet, oder ob nicht (rot).
-
-
Pauschal:
- Nach jeder geschweiften Klammer ein Zeilenumbruch.
- Einrückung: Leerzeichen (oder Tabs) am Anfang der Zeile
- Für jede öffnende Klammer z.B. 2 Leerzeichen mehr Einrücken, bei jeder schließenden Klammer 2 Leerzeichen entsprechend weniger Einrücken.
- alle folgenden Zeilen gleich viel Einrücken, bis sich durch eine öffnende oder schließende geschweiften Klammer ändert
- niemals mehr Einrücken, als wie die obigen Definition bestimmt
Wenn du das mit den Klammern verstanden hast geht's noch weiter:
Funktionen, Schleifen und If-Abfragen haben für die Einrückung die gleiche Bedeutung wie Klammern. Der Inhalt dieser wird also jeweils weiter Eingerückt.
MFG PMV
-
Warum wird hier die obere Klammer NACH der unteren geschlossen ????
Gute Frage, sag du's uns Schau nochmal bei triangles
Fast jede con ist nach dem selben Prinzip aufgebaut:
Die Zuweisung zum Feld result.irgendwas ist dabei eine Tabelle {...} die Daten enthält.
Für Anfänger vlt nicht sofort ersichtlich: Das = bei der Zuweisung ist etwas grundsätzlich anderes als das = innerhalb der Tabelle bei der Angabe der Daten (zB { type="EQUAL", ... )
Logischerweise müssen also alle Klammern nach einer Zuweisung vor der nächsten Zuweisung (zB result.groundFaces = ) wieder geschlossen sein.
Zur Formatierung:
Ich würde Tabs verwenden und Sichtbarkeit einschalten.
-
Ich brauche nochmal eure Hilfe...
Also ich habe 3 meshes:
schild1.msh
schild1_lod.msh
schild1_lod2.msh
Und im Konstruktionsmenü sollte man unter 10 Texturen wählen können:
Version AVersion B
Version C
Version D
Version E
Version F
Version G
Version H
Version I
Version J
Wie genau müsste dann die .con aufgebaut sein ?
-
Something like this:
Code
Alles anzeigenlocal modelFiles = {"construction/Version_A.mdl","construction/Version_B.mdl","construction/Version_C.mdl","construction/Version_D.mdl","construction/Version_E.mdl","construction/Version_F.mdl","construction/Version_G.mdl","construction/Version_H.mdl","construction/Version_I.mdl",} local textureNames = {"Texture A","Texture B","Texture C","Texture D","Texture E","Texture F","Texture G","Texture H","Texture I",} function data() return { type = "ASSET", buildMode = "SINGLE", description = { name = "!", description = "!!", }, availability = { yearFrom = 1850, yearTo = 0, }, order = 25, params = { { key = "textureType", name = "Choose your texture:", values = textureNames, } }, updateFn = function(params) local result = {} result.models = {} local texture = params.textureType + 1 or 1 local t = {1, 0, 0, 0,0, 1, 0, 0,0, 0, 1, 0,0, 0, 0, 1} result.models[#result.models + 1] = { id = modelFiles[texture], transf = t } return result end } end
-
Ok, also brauche ich nur eine .con und ein mesh (bzw. 3 wegen lods) und dafür dann 10 .mdls und 10 Texturen ?
-
Die Zutatenliste:
1 .con
3 .msh
10 Texturen
10 .mtl
10 .mdl -
super danke, probiere ich mal aus !
-
Verdammt ich habe gestern meinen rechner neu aufgesetzt und vergessen welches programm ich zum bearbeiten der .con verwendet habe.
Das Fenster ist in Post #41 zu sehen. Weiß einer spontan wie der editor heißt ?
Edit: habs gefunden... Notepad ++ -
Notepad++
-
Ich hab das jetzt soweit zusammengebastelt.
Passt das so ?
Ist das auch alles richtig eingerückt ?
Wie genau trage ich jetzt die drei meshes da ein ? -
Code
result.models[#result.models+1] = {id = "asset/era_c_driver_road_asset_o405.mdl", transf = constructionutil.rotateTransf(params, { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1 })}
bzw. für mehre Mesh würde ich folgenden Code empfehlen:
Codelocal o405bus = params.o405dn local models_o405dn = {[0] = "asset/MB_O405_dn.mdl", [1] = "asset/MB_O405_dn_kvg_642.mdl", [2] = "asset/MB_O405_dn_kvg_647.mdl", } result.models[#result.models+1] = {id = models_o405dn[o405bus], transf = constructionutil.rotateTransf(params, { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, height, 1 })}
und in den .mdls dann jeweils die Meshes mit je einer Textur verlinken.
-
aber sind das dann auch lod Stufen voneinander ? Es soll ja nur ein mesh geben mit 3 los Stufen. Also nichts zum auswählen
-
Also soweit ich das verstanden habe, willst du ein Model mit verschiedenen Texturen?
Da heißt dann aber, das du für jede Textur ein eigenes Model erstellen musst. vgl.:
nein, das ist nicht möglich.
für das Model würde ich eine schon existirende .mdl kopieren und dann einen Code wie
Code
Alles anzeigenlods = { { node = { children = { { materials = { "asset/texture1.mtl", }, mesh = "asset/model_lod0.msh", name = "lod0", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, }, }, }, name = "RootNode", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, }, }, static = false, visibleFrom = 0, visibleTo = 200, }, { node = { children = { { materials = { "asset/texture1.mtl", }, mesh = "asset/model_lod1.msh", name = "lod1", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, }, }, }, name = "RootNode", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, }, }, static = false, visibleFrom = 200, visibleTo = 500, }, { node = { children = { { materials = { "asset/texture1.mtl", }, mesh = "asset/model_lod2.msh", name = "lod2", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, }, }, }, name = "RootNode", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, }, }, static = false, visibleFrom = 500, visibleTo = 1000, }, },
einfügen. Dann wie gesagt für alle 10 Texturen je eine .mdl erstellen und in der .con dann jeweils die 10 .mdl verlinken, so, dass jeweils für die ausgewählte Textur die richtige .mdl angezeigt wird.
-
Achso, jetzt weiss ich wo mein Denkfehler war. Ich dachte die lods werden in der .con eingetragen und nicht in der .mdl