Meine kleine Bastelecke
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
-
-
Frage: Was und wo müsste ich alles ändern, damit ich beim Bahnhof, die Bahnhofslänge mit 40m und auch 60m erstellen kann? Rein nur für den Personenverkehr.
Und die zweite Frage: Wie kann ich es so einstellen das der Bahnhof gleich nur mit den Treppen erstellt wird?
Vielen Dank für Eure Antworten
-
VacuumTube Fehler??
Wenn ich nun eine zweite Bridgehöhe machen will und die dann so beschreibe:
local x = { segmentLength, -segmentLength, segmentLength+10, -segmentLength-10}
local y = { 0 , center,center1, -centerRail, -centerRail-10 ,-centerRail1, -centerRail1-10 }
local z = {0, BridgeHeight,BridgeStreetHeight }
local Redges = { }
local yrloop = centerRail
for i = 1,NumRoads
do
if RoadHeight > 0 then
streetutil.addStraightEdge(Redges, vec3.new( 0.5*segmentLength, 0+yrloop, z[3]), vec3.new( 0.5*-segmentLength, 0+yrloop, z[3]))
else
streetutil.addStraightEdge(Redges, vec3.new( 0.5*segmentLength, 0+yrloop, z[2]), vec3.new( 0.5*-segmentLength, 0+yrloop, z[2]))
else
streetutil.addStraightEdge(Redges, vec3.new( 0.5*segmentLength, 0+yrloop, z[1]), vec3.new( 0.5*-segmentLength, 0+yrloop, z[1]))
end
yrloop = yrloop+center
end
local medges = { }
local yrloop = centerRail1
for i = 1,NumRoads1
do
if Road1Height > 0 then
streetutil.addStraightEdge(medges, vec3.new( 0.5*segmentLength, 0-yrloop, z[3]), vec3.new( 0.5*-segmentLength, 0-yrloop, z[3]))
else
streetutil.addStraightEdge(medges, vec3.new( 0.5*segmentLength, 0-yrloop, z[2]), vec3.new( 0.5*-segmentLength, 0-yrloop, z[2]))
else
streetutil.addStraightEdge(medges, vec3.new( 0.5*segmentLength, 0-yrloop, z[1]), vec3.new( 0.5*-segmentLength, 0-yrloop, z[1]))
end
yrloop = yrloop+center1
end
local ledges = { }
local ytloop = -2.5
local ytoffset = -5
for i = 1,NumTracks
do
if TrackHeight > 0 then
streetutil.addStraightEdge(ledges, vec3.new( 0.5*segmentLength, 0+ytloop, z[3]), vec3.new( 0.5*-segmentLength, 0+ytloop, z[3]))
else
streetutil.addStraightEdge(ledges, vec3.new( 0.5*segmentLength, 0+ytloop, z[2]), vec3.new( 0.5*-segmentLength, 0+ytloop, z[2]))
else
streetutil.addStraightEdge(ledges, vec3.new( 0.5*segmentLength, 0+ytloop, z[1]), vec3.new( 0.5*-segmentLength, 0+ytloop, z[1]))
end
ytloop = ytloop - ytoffset * i
ytoffset = ytoffset * -1
end
bekomme ich die Fehlermeldung wegen dem else.
Alles andere würde klappen, nur ich möchte das jede edges versch. angewählt werden kann, also 1. Strasse z.B. -2 die Eisenbahnschienen auf 0 und die 2. Strasse +4.
Ich hoffe ihr versteht was ich meine.
Wenn ich nur 1 Höhe nehme ohne das BridgeStreetHeight und ohne die Zeilen mit z3, funktioniert es, aber ich möchte das ja auch separat regeln. So dass man auswählen kann.
-
-
Das sind einfache Grundlagen in Programmieren, mir fällt keine Programmiersprache direkt ein, die jemals zwei else Blöcke so erlaubt.
Siehe hier:
https://www.lua.org/pil/4.3.1.html
Du kannst ein elseif bauen...
-
Code
if op == "TrackHeight " then streetutil.addStraightEdge(ledges, vec3.new( 0.5*segmentLength, 0+ytloop, z[3]), vec3.new( 0.5*-segmentLength, 0+ytloop, z[3])) elseif op == "TrackHeight " then streetutil.addStraightEdge(ledges, vec3.new( 0.5*segmentLength, 0+ytloop, z[2]), vec3.new( 0.5*-segmentLength, 0+ytloop, z[2])) elseif op == "TrackHeight " then streetutil.addStraightEdge(ledges, vec3.new( 0.5*segmentLength, 0+ytloop, z[1]), vec3.new( 0.5*-segmentLength, 0+ytloop, z[1]))
Also in etwa so? eis_os
-
-
du meinst dies mit variablen Inhalt, oder?
local SegmentL = {30,60, 80, 100, 120, 160,200,240,280,300,320,360,400,440,480,560 }
local RoadSpa = { 30, 40, 50, 60, 70, 80, 90,100,110,120}
local RoadSpa1 = { 30, 40, 50, 60, 70, 80, 90,100,110,120}
local RailSpa = { 10, 12, 14, 16, 18, 20, 25, 30, 40, 50,60}
local RailSpa1 = { 10, 12, 14, 16, 18, 20, 25, 30, 40, 50,60}
local Numro = { 1,2,3,4,5,6}
local Numro1 = { 1,2,3,4,5,6}
local Numtr = { 1,2,3,4,5,6}
local BridgeHeights = { 6,8,10,12,14,16,18,20 }
Wie gesagt ist Neuland für mich, wenn ich ein ganzes sehe, dann verstehe ich dies besser. als kurze Segmente.. so ist dies schwierig für mich, entschuldige bitte eis_os
-
Was sind denn nun die Variablen? Bsp.? Sorry, aber bin ja kein wirklicher Profi und erst am Anfang aber ich lerne gerne dazu.
-
Es geht darum das du if (wenn)
Mit 2 unbestimmten Else (sonst) Zweigen nicht machen kannst
kenn mich mit Lua nicht aus aber falls es wie in anderen Programmiersprachen läuft dann müsste es inIf (falls)
Elseif (ansonsten falls)
Und dann als Abschluss Else(ansonsten für den Rest der fälle) sein
-
ja das schrieb schon eis_os aber ich versteh das nicht wegen den Variablen , was man damit meint..
-
local TrackHeight = <Variablen Inhalt kommt irgendwo her, weiter oben im Script>
Bedeutet die variable trackheight braucht von irgendwo weiter oben nen wert auf den sie überprüft werden kann -
also so in etwa?
local TrackHeight = <params.TrackHeight>
if TrackHeight == 0 then
streetutil.addStraightEdge(medges, vec3.new( 0.5*segmentLength2, 0-yrloop, z[2]), vec3.new( 0.5*-segmentLength2, 0-yrloop, z[2]))
elseif TrackHeight == 1 then
streetutil.addStraightEdge(medges, vec3.new( 0.5*segmentLength2, 0-yrloop, z[1]), vec3.new( 0.5*-segmentLength2, 0-yrloop, z[1]))
elseif TrackHeight == 2 then
streetutil.addStraightEdge(medges, vec3.new( 0.5*segmentLength2, 0-yrloop, z[3]), vec3.new( 0.5*-segmentLength2, 0-yrloop, z[3]))
end
Sorry, wenn ich so schwer von Begriff bin, aber man muss das Ganze auch zuerst einmal verstehen wenn man dies ein erstesmal macht
-
<> war als Platzhalter gedacht für irgendetwas.
Nehme den Wert von params.TrackHeight, sollte es nil sein, nehme 0. Somit ist der Wert immer zugewiesen:local TrackHeight = params.TrackHeight or 0
-
eis_os danke dir und sorry das ich so doof bin, das ich das nicht gerade verstanden habe.
local TrackHeight = params.TrackHeight or 0
if TrackHeight == 0 then
streetutil.addStraightEdge(ledges, vec3.new( 0.5*segmentLength, 0+ytloop, z[1]), vec3.new( 0.5*-segmentLength, 0+ytloop, z[1]))
elseif TrackHeight == 1 then
streetutil.addStraightEdge(ledges, vec3.new( 0.5*segmentLength, 0+ytloop, z[2]), vec3.new( 0.5*-segmentLength, 0+ytloop, z[2]))
end
so hats geklappt
dann versuche ich da mal nun das alles umzuschreiben mit dieser Anleitung.
was meinst du eigentlich mit default... ist das mit default index gemeint? Ich weiss Fragen über Fragen, aber ich bin echt sehr dankbar für die Unterstützung
-
So nach zig Stunden und immer wieder viele Haare dabei ausgerissen, hab ich es nun endlich geschafft
Es ist sehr umfangreich geworden.
PS; Bedanke mich bei eis_os für den Tipp hier.
Freigeschalten: hier runterladen: Straßen- und Schienenbaukasten. oder hier: Steam Download
Wichtig: es muss die unsichtbare Brücke von Onkel Lu installiert sein!!
-
einfaches Beispiel was man schnell nun bauen kann (innerhalb von weniger Zeit) Klar am Anfang, muss man bisserl ausprobieren von den Strassenabständen gegenüber der Schiene, aber das hat man schnell draussen.
Empfehlenswert ist auch dieser Mod: Brückenköpfe, Dammwände, Schallschutzwände, Mauern und Zäune für Schönbauer
Oder schnell mal sowas:
Oder das hier: Natürlich mit dem diesem Mod Build with Collision und meinem Baukasten schnell gebastelt:
-
-
Sieht richtig gut aus!
-