Beschreibung zur Wegfindung für Cargo Lagerplatz

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


Sie betrachten gerade eine ältere Version des Eintrags. Klicken Sie hier, um zur aktuellen Version zu gelangen.

  • Nach dem Vorschlag von Stepke mein jetziges Wissen zur Wegfindung in´s Lexikon zu schreiben war ich wenig begeistert nicht weil ich es nicht Teilen will sondern ich kann sowas nicht besonders gut. Aber da sonst noch keiner was dazu geschrieben hat versuche ich mein bestes. Seit also gnädig zu mir ;)
    Habe den Eintrag durch die Komentare ergänzt Danke dafür Also die Wegfindung wird in der *.mdl Datei der Ladebucht hinterlegt und diese befinden sich in diesem Ordner: res\models\model\station\road\ Ich werde jetzt den Code des Orginal cargo_medium_old.mdl hier versuchen zu Beschreiben was wofür ist. [code][code]local laneutil = require "laneutil" function data() return { boundingInfo = { bbMax = { 23, 17, 5.2159490585327, /Breite, Tiefe, Höhe/ eines Objektes vom Nullpunkt aus positive Werte }, bbMin = { -23, -15, -0.013722999952734, /Breite, Tiefe, Höhe/ eines Objektes vom Nullpunkt aus negative Werte Der bbMin Wert der Tiefe "-15" ist die Kante zur Straße }, }, collider = { params = { }, type = "MESH", }, lods = { { animations = { }, children = { /Hier werden alle Pfade zu den Mashdateien angegeben/ { id = "station/road/cargo_medium_old_lod_0_floor.msh", /Untergrund/ transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, /Hier könnt ihr die Position des Objektes verändern alle Angaben sind in Meter was jetzt genau für was ist weis ich grade leider nicht. Wenn ihr allerdings ein Objekt Spiegeln wollt einfach auf Pos 1 und 6 ein minus davor/ }, type = "MESH", }, { id = "station/road/cargo_medium_old_lod_0_lanes.msh", /Untergrund/ transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, }, type = "MESH", }, { id = "station/road/cargo_medium_old_lod_0_station.msh", /Gebäude/ transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, }, type = "MESH", }, { id = "asset/industry/pallet_01_lod_0_pallet_01.msh", /Deko/ transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -2.8516, -4.5346, 0.2862, 1, }, type = "MESH", }, { id = "asset/industry/pallet_01_lod_0_pallet_01.msh", /Deko/ transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.6516, -4.5346, 0.2862, 1, }, type = "MESH", }, { id = "asset/industry/pallet_01_lod_0_pallet_01.msh", /Deko/ transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.6916, -4.5346, 0.432, 1, }, type = "MESH", }, { id = "asset/industry/pallet_01_lod_0_pallet_01.msh", /Deko/ transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.5516, -4.5346, 0.4862, 1, }, type = "MESH", }, }, events = { }, matConfigs = { /Hier müssen so viele 0, eingetragen werden wie oben *.msh Pfade Sonst Crasht das Game sofort/ { 0, 0, 0, 0, 0, 0, 0, }, }, static = false, visibleFrom = 0, /Sichtbar von "0m"/ visibleTo = 5410, /bis "5410m" Entfernung/ }, }, metadata = { description = { name = _("Truck station"), --description = _("Description") }, availability = { }, streetTerminal = { cargo = true }, streetConnector = { streetType = "old_medium.lua" /je nach dem welche *.lua hier angegeben wird ändert sich die max. Geschwindigkeit auf dem Platz/ }, transportNetworkProvider = { laneLists = { { transportModes = { "TRUCK" }, nodes = laneutil.makeLanes({ /So nun zum eigentlichen Thema/ -- lane1 { { Seitlicher Versatz von 0, tiefen Versatz von 0, höhen Versatz von 0 }, /beim nachvolgendem Teil handelt es sich um die Kurven Radien{ 7.0, -10.0, .0 }, { .0, 7.85, .0 }, { 7.85, .0, .0 }, 3.0 }, /hier habe ich mir jetz einmal den ersten Dreierblock genommen und zur Veranschaulichung bearbeitet { { S1, -T1, H1 }, { S2, -T2, H2 }, { KS1, KT1, KH1 }, { KS2, KT2, KH2 }, 3.0 }, { { S2, -T2, H2 }, { S3, -T3, H3 }, { KS2, KT2, KH2 }, { KS3, KT3, KH3 }, 3.0 }, { { S3, -T3, H3 }, { S4, -T4, H4 }, { KS3, KT3, KH3 }, { KS4, KT4, KH4 }, 3.0 }, /Man muss sich das wie folgt vorstellen { S1, -T1, H1 } ist der Startpunkt einer Linie { S2, -T2, H2 } ist der Endpunkt der Startpunkt der nächsten Linie muss mit dem Endpunkt der ersten übereinstimmen Genau das gleiche Pinzip ist auch bei den Kurven Radien Soweit mir bekannt steht die 3.0 am Ende für die Breite der Linie, sie wäre also 3m breit/ /nun in Bezug auf die Orginal Daten { { 2.0, -15.0, .0 } dies ist der erste Punkt der Linie er ist Seitlich 2m verschoben und -15m in der Raumtiefe an dieser Stelle befindet sich der Anschluss zur Straße für die Einfahr d.h. die Ausfahrt befindet sich auf { -2.0, -15.0, .0 } Einfahrt { { 2.0, -15.0, .0 }, { 7.0, -10.0, .0 }, { .0, 7.85, .0 }, { 7.85, .0, .0 }, 3.0 }, { { 7.0, -10.0, .0 }, { 12.0, -5.0, .0 }, { 7.85, .0, .0 }, { .0, 7.85, .0 }, 3.0 }, { { 12.0, -5.0, .0 }, { 12.0, 1.0, .0 }, { .0, 1.0, .0 }, { .0, 1.0, .0 }, 3.0 }, { { 12.0, 1.0, .0 }, { 12.0, 7.0, .0 }, { .0, 1.0, .0 }, { .0, 1.0, .0 }, 3.0 }, { { 12.0, 7.0, .0 }, { 7.0, 12.0, .0 }, { .0, 7.85, .0 }, { -7.85, .0, .0 }, 3.0 }, { { 7.0, 12.0, .0 }, { 2.0, 12.0, .0 }, { -1.0, .0, .0 }, { -1.0, .0, .0 }, 3.0 }, { { 2.0, 12.0, .0 }, { -2.0, 12.0, .0 }, { -1.0, .0, .0 }, { -1.0, .0, .0 }, 3.0 }, { { -2.0, 12.0, .0 }, { -7.0, 12.0, .0 }, { -1.0, .0, .0 }, { -1.0, .0, .0 }, 3.0 }, { { -7.0, 12.0, .0 }, { -12.0, 7.0, .0 }, { -7.85, .0, .0 }, { .0, -7.85, .0 }, 3.0 }, { { -12.0, 7.0, .0 }, { -12.0, 1.0, .0 }, { .0, -1.0, .0 }, { .0, -1.0, .0 }, 3.0 }, { { -12.0, 1.0, .0 }, { -12.0, -5.0, .0 }, { .0, -1.0, .0 }, { .0, -1.0, .0 }, 3.0 }, { { -12.0, -5.0, .0 }, { -7.0, -10.0, .0 }, { .0, -7.85, .0 }, { 7.85, .0, .0 },3.0 }, { { -7.0, -10.0, .0 }, { -2.0, -15.0, .0 }, { 7.85, .0, .0 }, { .0, -7.85, .0 }, 3.0 }, Ausfahrt Alles was sich zwischen diesen beiden Werten befindet ist quasi eine Linie Bei den folgenden angaben handelt es sich um die Ausweichstrecken Startpunkt der Ausweiche { { 2.0, -15.0, .0 }, { 7.0, -5.0, .0 }, { 0, 1, .0 }, { .0, 1, .0 }, 3.0 }, { { 7.0, -5.0, .0 }, { 7.0, 7.0, .0 }, { 0, 1, .0 }, { .0, 1, .0 }, 3.0 }, { { 7.0, 7.0, .0 }, { 2.0, 12.0, .0 }, { .0, 7.85, .0 }, { -7.85, .0, .0 }, 3.0 }, Endpunkt der Ausweiche { 2.0, 12.0, .0 } ist der Endpunkt der Ausweiche, dieser Punkt ist auch oben in der Hauptlinie zu finden. Die ausweiche dient dazu den Hin- bzw. Rückweg vom Halteplatz zur Straße zu finden ohne dabei über einen anderen Halteplatz zu fahren Startpunkt der Ausweiche { { -2.0, 12.0, .0 }, { -7.0, 7.0, .0 }, { -7.85, .0, .0 }, { .0, -7.85, .0 }, 3.0 }, { { -7.0, 7.0, .0 }, { -7.0, -5.0, .0 }, { .0, -1, .0 }, { .0, -1, .0 }, 3.0 }, { { -7.0, -5.0, .0 }, { -2.0, -15.0, .0 }, { 0, -1, .0 }, { .0, -1, .0 }, 3.0 }, Endpunkt der Ausweiche Demnach, wie auch im Spiel zu sehen, hat die kleine Cargo Ladestation eine Hauptlinie die über beide Ladeplätze führt und zwei Ausweichen woraus sich zwei getrennte Linien ergeben. }) }, { transportModes = { "CARGO" }, nodes = laneutil.makeLanes({ /Bei diesen Angaben handelt es sich um die Wegfindung für das Cargo Overlay und gleichzeitig für die Abmaße des Bereichs der Lagerfläche -- ped1 Straßenanschluss Bürgersteig { { 6.5, -15.0, .3 } , { 14.0, -13.0, .3 }, { 0, 1, .0 }, { 1, 1, .0 }, 3.0 }, { { 14.0, -13.0, .3 }, { 18, -13.0, 1.0 } , { 1, 0, 1 }, { 1, 0, 1 }, 3.0 }, Startpunkt Lagerfläche /auf dieser höhe Stoppen auch die Fahrzeuge "siehe Nachtrag1 unten" { { 18, -13.0, 1.0 } , { 18.0, -7.0, 1.0 }, { 0, 1, 0 }, { 0, 1, 0 }, 3.0 }, { { 18.0, -7.0, 1.0 }, { 18, 10.0, 1.0 } , { 0, 1, 0 }, { 0, 1, 0 }, 3.0 }, Endpunkt Lagerfläche -- ped2 { { -6.5, -15.0, .3 } , { -14.0, -13.0, .3 }, { 0, 1, .0 }, { -1, 1, .0 }, 3.0 }, { { -14.0, -13.0, .3 }, { -18, -13.0, 1.0 } , { -1, 0, 1 }, { -1, 0, 1 }, 3.0 }, { { -18, -13.0, 1.0 } , { -18.0, -7.0, 1.0 }, { 0, 1, 0 }, { 0, 1, 0 }, 3.0 }, { { -18.0, -7.0, 1.0 }, { -18, 10.0, 1.0 } , { 0, 1, 0 }, { 0, 1, 0 }, 3.0 }, -- connection /Hierbei handelt es sich um eine Verbindung der beiden Lagerflächen. Damit wenn die Linien einmal die Seiten Tauschen die Ware auf die richtige Seite wechseln kann/ { { -14.0, -13.0, .3 }, { 14.0, -13.0, .3 } , { 1, 0, 0 }, { 1, 0, 0 }, 3.0 }, }) } }, terminals = { /vehicleNodes sind die Haltepunkte der Fahrzeuge und personNodes sind die Endpunkte für die Verladung/ { vehicleNode = 6, personNodes = { 44 }, personEdges = { 22 } }, { vehicleNode = 20, personNodes = { 52 }, personEdges = { 26 } }, } }, cost = { price = 7000 }, }, } end [/code] Nachtrag1 Die Linie auf der die Fahrzeuge halten sollen muss 100% Paralel zum Lagerplatz Liegen! Was bei meinem Mod bedeutete das der LKW auf der rechten Seite quasi direkt nach der Einfahrt stehen blib. Ich habe aber eine Möglichkeit gefunden das zu umgehen "Beispiel" { { 6.0, 1.0, .0 }, { 12.0, 7.0, .0 }, { { 12.0, 7.0, .0 }, { 12, 12.0, .0 } { { 12.0, 12.0, .0 }, { 12, 20.0, .0 } Wir gehen jetzt davon aus das diese Linien Paralel zur Lagerfläche Liegen dann würde der LKW auf { 12.0, 7.0, .0 } zum Stehen kommen weil { 12.0, 7.0, .0 }, { 12, 12.0, .0 } Paralel zum Lagerplatz liegt Wenn wir aber hin gehen und eine minimale Änderung vornehmen z.B. { { 6.0, 1.0, .0 }, { 11.9, 7.0, .0 }, { { 11.9, 7.0, .0 }, { 12, 12.0, .0 } { { 12.0, 12.0, .0 }, { 12, 20.0, .0 } Läuft die Linie erst ab { 12.0, 12.0, .0 }, { 12, 20.0, .0 } paralel und der LKW würde erst auf { 12.0, 12.0, .0 } Stoppen[/code] Das Prinzip der Bus und Tram Stationen, warscheinlich auch der Bahnhöfe, ist fast genau so aufgebaut So ich hoffe ich habe es halbwegs Verständlich erklärt und Wünsche euch viel Erfolg beim Modden eurer eigenen Stationen :thumbsup: MfG Grimes Edit: Nach neusten Erkenntnissen muss für jeden Haltepunkt eine durchgehende Linie von der Ein- bis zur Ausfahrt gemacht werden die Kurzen Linien dienen nur zur Abkürzung um zum Haltepunkt zu gelangen oder ihn zu Verlassen Wenn jemand neue Infos hat darf er diesen Beitrag gerne Editieren MfG Grimes

Teilen