Hallo Zusammen
Da mir das standardmäßige Script für die Bahnhöfe in TF 2 nicht gefallen, wollte ich diesen Teil des Spiels für mich abändern damit ich nicht immer die gleichen Bahnhöfe über das Modulmenu zusammenstellen muss.
Die Grundidee ist folgende( Auf Gleis 1 haltende Züge, Gleis 2 ist für die Durchfahrt ohne Halt. Gleise 3 und 4 sind für Wendezüge. Gleis 5 ist für die Durchfahrt ohne Halt und Gleis 6 ist für haltende Züge.
Ich habe das folgende Script angepasst: modular_station.con ( Im Ordner Transport Fever 2\res\construction\station\rail\modular_station)
Meine Programmiererfahrung beschränkt sich auf VBA Primär Excel aber auch Word/Outlook.
Dies entspricht dem Original von UG ich habe lediglich die Positionen der Tracks und Plattformen angepasst. Die IF-Struktur ist so wie bisher. Es funktioniert, ist aber nicht wirklich schön, wenn man Stationen mit weniger als 4 Geleisen baut.
if not cargo then
AddPassenger(0, s, e)
AddTrack(1, s, e)
if params.tracks >= 1 then
AddTrack(2, s, e)
end
if params.tracks >= 2 then
AddTrack(3, s, e)
end
if params.tracks >= 3 then
AddPassenger(4, s, e)
AddTrack(5, s, e)
end
if params.tracks >= 4 then
AddTrack(6, s, e)
end
if params.tracks >= 5 then
AddTrack(7, s, e)
AddPassenger(8, s, e)
end
if params.tracks >= 6 then
AddTrack(9, s, e)
end
if params.tracks >= 7 then
AddTrack(10, s, e)
AddPassenger(11, s, e)
end
end
if cargo then
AddCargo(0, s, e)
AddTrack(2, s, e)
if params.tracks >= 1 then
AddTrack(3, s, e)
end
if params.tracks >= 2 then
AddTrack(4, s, e)
end
if params.tracks >= 3 then
AddTrack(5, s, e)
AddCargo(6, s, e)
end
if params.tracks >= 4 then
AddTrack(8, s, e)
end
if params.tracks >= 5 then
AddTrack(9, s, e)
AddCargo(10, s, e)
end
if params.tracks >= 6 then
AddTrack(12, s, e)
end
if params.tracks >= 7 then
AddTrack(13, s, e)
AddCargo(14, s, e)
end
end
return result
Nach ersten Fehlschlägen habe ich für jeden Wert zwischen 1 und 8 eine eigenes Stationsdesign geschrieben. Ich erhalten jedoch weiterhin den Fehler weiter unten.
if not cargo then
AddPassenger(0, s, e)
AddTrack(1, s, e)
if params.tracks = 1 then
AddTrack(2, s, e)
elseif params.tracks = 2 then
AddTrack(2, s, e)
AddPassenger(3, s, e)
elseif params.tracks = 3 then
AddTrack(2, s, e)
AddPassenger(3, s, e)
AddTrack(4, s, e)
elseif params.tracks = 4 then
AddTrack(2, s, e)
AddTrack(3, s, e)
AddTrack(4, s, e)
AddPassenger(5, s, e)
elseif params.tracks = 5 then
AddTrack(2, s, e)
AddPassenger(3, s, e)
AddTrack(4, s, e)
AddTrack(5, s, e)
AddPassenger(6, s, e)
AddTrack(7, s, e)
elseif params.tracks = 6 then
AddTrack(2, s, e)
AddTrack(3, s, e)
AddPassenger(4, s, e)
AddTrack(5, s, e)
AddTrack(6, s, e)
AddTrack(7, s, e)
AddPassenger(8, s, e)
AddTrack(9, s, e)
elseif params.tracks = 7 then
AddTrack(2, s, e)
AddTrack(3, s, e)
AddPassenger(4, s, e)
AddTrack(5, s, e)
AddTrack(6, s, e)
AddTrack(7, s, e)
AddPassenger(8, s, e)
AddTrack(9, s, e)
AddTrack(10, s, e)
elseif params.tracks = 8 then
AddTrack(2, s, e)
AddTrack(3, s, e)
AddPassenger(4, s, e)
AddTrack(5, s, e)
AddTrack(6, s, e)
AddTrack(7, s, e)
AddPassenger(8, s, e)
AddTrack(9, s, e)
AddTrack(10, s, e)
AddPassenger(11, s, e)
AddTrack(12, s, e)
end
end
Beim Laden der Karte stürzt das Spiel jedoch ab und folgende Fehlermeldung wird angezeigt:
File: res/construction/station/rail/modular_station If 4.con
[string "res/construction/station/rail/modular_station..."]:358 'then' expected near '='
This error is usually caused by modding. The syntax of some game resources is not correct
Kann mir jemand sagen was an meinem Code nicht stimmt? Ich habe alles so geschrieben wie im Original von UG. Ich finde Beispiele von If->Then->elseif->end Befehlen welche genau so aussehen wie mein Teil des Codes.
Mit freundlichen Grüssen
Fod_Lord