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


  • 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.

    Einmal editiert, zuletzt von Speedmaster ()

  • 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

  • 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

    Einmal editiert, zuletzt von Speedmaster ()

  • 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 in

    If (falls)

    Elseif (ansonsten falls)

    Und dann als Abschluss Else(ansonsten für den Rest der fälle) sein

  • 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

  • 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:


     

BlueBrixx