CTS-ToolsHandbuchManual

CTS-Tools HandbuchCTS-Tools Manual

CTS-Tools liest dein Savegame vom City Transport Simulator 2026 aus und erzeugt daraus die Haltestellenansagen für jede Linie, Route und Haltestelle – aus eigenen Aufnahmen oder aus Sprachpaketen der Community.

CTS-Tools reads your City Transport Simulator 2026 savegame and builds the stop announcements for every line, route and stop from it – from your own recordings or from community voice packs.

SchnellstartQuick start

So kommst du vom Savegame zur fertigen Ansage im Spiel:

From savegame to finished announcements in the game:

#SeitePageWas du tustWhat to do
1LinienLinesSavegame TSNMainSaveGame.sav wählen.Pick your savegame TSNMainSaveGame.sav.
2LinienLinesGelb markierte Haltestellen per Doppelklick benennen.Double-click the stops marked yellow and give them a name.
3HaltestellenStations„Automatisch zuordnen“ klicken und fehlende Aufnahmen von Hand zuordnen.Click “Auto-assign”, then assign any missing recordings by hand.
4AnsagengeneratorAnnouncement GeneratorSprachpaket wählen und den Aufbau der Ansage einstellen.Pick a voice pack and set up how an announcement is built.
5AnsagengeneratorAnnouncement Generator„Alle generieren & exportieren“ klicken.Click “Generate & export all”.
6AnsagenAnnouncementsMit „Fahrt abspielen“ eine Route probehören.Listen to a route with “Play ride”.

Dashboard

Seitenleiste › DashboardSidebar › Dashboard

Die Startseite, mit Abkürzungen zu den Ansagen und zu den Einstellungen.

The start page, with shortcuts to the announcements and the settings.

Die Seitenleiste links ist auf jeder Seite da. Sie ist gegliedert in Daten, Ansagen erstellen und Community. Ganz unten wählst du die Sprache, meldest dich optional mit Discord an und öffnest die Einstellungen.

The sidebar on the left is there on every page. It is split into Data, Create announcements and Community. At the bottom you pick the language, optionally sign in with Discord, and open the settings.

Sobald irgendwo etwas abgespielt wird, erscheint unten die Player-Leiste mit Abspielen/Pause, Stopp, Fortschritt und Lautstärke. Es läuft immer nur eine Datei gleichzeitig.

As soon as anything plays, the player bar appears at the bottom with play/pause, stop, progress and volume. Only one file plays at a time.

Dashboard mit der Seitenleiste.Dashboard with the sidebar.

LinienLines

Seitenleiste › Daten › LinienSidebar › Data › Lines

Hier liest CTS-Tools dein Savegame ein. Alle anderen Seiten arbeiten mit den Linien, Routen und Haltestellen, die hier geladen sind.

This is where CTS-Tools reads your savegame. Every other page works with the lines, routes and stops loaded here.

Savegame wählenChoosing the savegame

Oben steht die Datei TSNMainSaveGame.sav. Meist wird sie automatisch gefunden, sonst über Durchsuchen…. Der Pfeil-Knopf liest das Savegame neu ein, z. B. nachdem du im Spiel Linien geändert hast. Der Ordner-Knopf zeigt die Datei im Explorer.

The file TSNMainSaveGame.sav is shown at the top. It is usually found automatically, otherwise use Browse…. The arrow button re-reads the savegame, e.g. after you changed lines in the game. The folder button shows the file in Explorer.

Linien lesenReading the lines

  • Karrieremodus / Sandbox-Modus schaltet zwischen den beiden Spielständen um.
  • Jede Linie ist eine Karte mit der Linienbezeichnung (z. B. 1A), den Enden der Hauptroute und der Anzahl der Routen und Haltestellen. Rechts steht die interne Liniennummer (z. B. #101), mit der die Dateinamen der Ansagen beginnen.
  • Ein Klick auf eine Linie klappt sie auf. Alle ausklappen und Alle einklappen gelten für alle Linien.
  • Jede Route (R1, R2 …) zeigt ihre Haltestellen als Kette. Die kleine Zahl ist der Halt, also der letzte Teil des Dateinamens.
  • Rot umrandet sind Anfang und Ende einer Route, gelb die Haltestellen ohne Namen.
  • Das Suchfeld filtert nach Linie oder Haltestelle.
  • Career mode / Sandbox mode switches between the two game modes.
  • Every line is a card with its designation (e.g. 1A), the two ends of its main route, and how many routes and stops it has. On the right is the internal line number (e.g. #101) that the announcement file names start with.
  • Click a line to expand it. Expand all and Collapse all work on every line.
  • Each route (R1, R2 …) shows its stops as a chain. The small number is the stop index – the last part of the file name.
  • A red outline marks the start and end of a route, yellow marks stops without a name.
  • The search box filters by line or stop.

Haltestellen benennenNaming stops

Haltestellen, die du im Spiel nicht umbenannt hast, heißen nur #148. Doppelklick öffnet ein Eingabefeld: Enter speichert, Esc bricht ab. Der Name gilt überall, auch auf anderen Linien.

Stops you haven't renamed in the game only show as #148. Double-click one to type a name: Enter saves, Esc cancels. The name is used everywhere, on other lines too.

⇄ Umkehren erscheint, wenn eine Richtung ganz benannt ist und die Gegenrichtung gleich viele Halte, aber noch Lücken hat. Es überträgt die Namen rückwärts.

⇄ Mirror appears when one direction is fully named and the opposite direction has as many stops but still has gaps. It copies the names over in reverse.

Hinweis: Namen, die im Spiel vergeben wurden, kommen direkt aus dem Savegame und lassen sich hier nicht ändern.

Note: Names given in the game come straight from the savegame and can't be changed here.

Sandbox-Modus, alle Linien ausgeklappt.Sandbox mode with all lines expanded.

HaltestellenStations

Seitenleiste › Daten › HaltestellenSidebar › Data › Stations

Jede Haltestelle deines Netzes genau einmal, egal wie viele Linien sie anfahren. Hier legst du fest, welche Aufnahme für den Namen gesprochen wird.

Every stop of your network exactly once, however many lines serve it. This is where you choose which recording is spoken for its name.

SpalteColumnBedeutungMeaning
NameNameFallback-Name eintragen und speichern. Nur nötig, wenn die Haltestelle im Spiel keinen Namen hat.Enter and save a fallback name. Only needed if the stop has no name in the game.
Verwendet vonUsed byWelche Linien die Haltestelle anfahren, getrennt nach Karriere und Sandbox.Which lines serve the stop, per career and sandbox.
Ansage-AudioAnnouncement audioDie Aufnahme aus Haltestellennamen, die als Name gesprochen wird.The recording from Haltestellennamen that is spoken as the name.
Manuelles UmsteigenManual transferZusatzansage für Umstiege, die das Spiel nicht kennt (S-Bahn, Bahn), dazu die Stelle in der Ansage: nach dem Namen, nach dem Umsteigen oder am Ende.An extra announcement for transfers the game doesn't know about (suburban rail, trains), plus where it goes: after the name, after the transfers, or at the end.

Schneller zuordnenAssigning faster

  • Automatisch zuordnen sucht für jede Haltestelle ohne Aufnahme eine Datei mit passendem Namen. Groß-/Kleinschreibung, Umlaute und Sonderzeichen spielen keine Rolle: Amtsstrasse.mp3 passt zu „Amtsstraße“.
  • Audiodateien neu laden liest die Textbaustein-Ordner neu ein, z. B. nach neuen Aufnahmen. Zuordnungen bleiben erhalten.
  • Nur unbenannte Haltestellen und Nur Haltestellen ohne Audiodatei zeigen nur, was noch fehlt.
  • Auto-assign looks for a file with a matching name for every stop without a recording. Case, umlauts and punctuation don't matter: Amtsstrasse.mp3 matches “Amtsstraße”.
  • Reload audio files re-reads the snippet folders, e.g. after new recordings. Assignments are kept.
  • Show unnamed stops only and Show stops without audio file only narrow the list down to what's still missing.

Haltestellen kombinierenCombining stops

Haltestellen mit gleichem Namen werden automatisch zusammengeführt. Weitere wählst du über die Kästchen links aus:

Stops with the same name are merged automatically. Select others with the check boxes on the left:

  • Zusammenführen: eine Haltestelle mit gemeinsamem Namen und einer Aufnahme.
  • Nur Umsteigen verknüpfen: bleiben getrennt, zählen aber für Umsteigeansagen als eine (z. B. „Hbf West“ und „Hbf“).
  • Auflösen macht eine Gruppe rückgängig.
  • Merge: one stop with a shared name and one recording.
  • Link for transfers only: they stay separate but count as one for transfer announcements (e.g. “Hbf West” and “Hbf”).
  • Ungroup undoes a group.
„Hauptbahnhof“ ist aus mehreren Haltestellen zusammengeführt und hat einen manuellen Umstieg zur S-Bahn.“Hauptbahnhof” is merged from several stops and has a manual transfer to the S-Bahn.

AnsagenAnnouncements

Seitenleiste › Daten › AnsagenSidebar › Data › Announcements

Zeigt die Ansage-Dateien im Ansagen-Ordner deines Spielstands. Jede Route ist eine Perlschnur wie die Haltestellenanzeige im Bus.

Shows the announcement files in your game's announcements folder. Every route is drawn as a stop strip, like the stop display in a bus.

AnzeigeWhat you seeBedeutungMeaning
Volle PerleFilled dotDatei vorhanden. Klick spielt sie ab, Rechtsklick zeigt sie im Explorer.The file exists. Click to play it, right-click to show it in Explorer.
Hohle PerleHollow dotDie Datei für diese Haltestelle fehlt noch.The file for this stop is still missing.
Leuchtende PerleGlowing dotDiese Ansage läuft gerade im Player.This announcement is playing right now.
Kästchen unter der NummerBoxes under the numberLinien, zu denen man hier umsteigen kann; grau ein manueller Umstieg wie die S-Bahn.Lines you can change to here; grey for a manual transfer such as the S-Bahn.
  • Fahrt abspielen spielt alle Ansagen einer Route nacheinander ab. Nochmal klicken oder Stopp beendet die Fahrt.
  • Pro Linie steht, wie viele Ansagen vorhanden sind oder fehlen, pro Route z. B. 12/12.
  • Oben wählst du den Ansagen-Ordner, meist Dokumente\ViewApp\CityTransportSim\Announcements\<Karte>\<Spielstand>.
  • Jingles und Dateien mit anderem Namen stehen darunter.
  • Play ride plays every announcement of a route in order. Click again, or press stop, to end it.
  • Each line shows how many announcements exist or are missing; each route shows e.g. 12/12.
  • Choose the announcements folder at the top – usually Documents\ViewApp\CityTransportSim\Announcements\<map>\<save>.
  • Jingles and files with other names are listed below.
Linie 1 als Perlschnur, die Namen schräg über den Haltestellen.Line 1 as a stop strip, with the names slanted above the stops.

AnsagenbuilderAnnouncement Builder

Seitenleiste › Ansagen erstellen › AnsagenbuilderSidebar › Create announcements › Announcement Builder

Für einzelne Ansagen von Hand. Für das ganze Netz auf einmal ist der Ansagengenerator da.

For single announcements by hand. To build the whole network at once, use the Announcement Generator.

  1. Sprachpaket wählen. Die Bibliothek zeigt dessen Textbausteine: Gongs, Haltestellennamen, Umsteigen zur Linie, Umsteigen zu den Linien, Zusatzansagen.
  2. Bausteine mit + oder per Ziehen in die Sequenz übernehmen. ▶ spielt einen Baustein vorab ab, ↑/↓ ändern die Reihenfolge, Pause hinzufügen fügt Stille ein.
  3. Exportziel einstellen: Linie, Route, Halt. Darunter steht der Dateiname, z. B. 1_1_1.wav.
  4. Abspielen zum Probehören, dann Exportieren.
  1. Choose a voice pack. The library lists its snippets: gongs, station names, transfer to line, transfer to lines, extra announcements.
  2. Add snippets to the sequence with + or by dragging. ▶ previews a snippet, ↑/↓ reorder, Add pause inserts silence.
  3. Set the export target: line, route, stop. The file name is shown below, e.g. 1_1_1.wav.
  4. Play to listen, then Export.
Links die Bibliothek, rechts Exportziel und Sequenz.Library on the left, export target and sequence on the right.

AnsagengeneratorAnnouncement Generator

Seitenleiste › Ansagen erstellen › AnsagengeneratorSidebar › Create announcements › Announcement Generator

Erzeugt alle Haltestellenansagen eines Netzes in einem Durchgang. Eine Linie sagt sich nie selbst an, Umstiege zu anderen Linien an derselben Haltestelle werden automatisch eingebaut.

Builds every stop announcement of a network in one go. A line never announces itself; transfers to other lines at the same stop are added automatically.

Sprachpaket und PresetVoice pack and preset

Oben wählst du das Sprachpaket. Jedes Paket hat genau ein Preset: Beim Auswählen werden seine Einstellungen geladen, jede Änderung wird sofort gespeichert. Aktiv im Spiel heißt: Die Ansagen im Ansagen-Ordner stammen zuletzt von diesem Paket.

Choose the voice pack at the top. Every pack has exactly one preset: its settings load when you select it, and every change is saved right away. Active in game means the announcements in the folder were last generated with this pack.

Aufbau der AnsageAnnouncement structure

Jede Ansage besteht aus diesen Teilen, in dieser Reihenfolge:

Every announcement is made of these parts, in this order:

  1. Gong – Ton vor jeder Ansage.
  2. Haltestellenname – die auf der Seite Haltestellen zugeordnete Aufnahme.
  3. Umsteigen (abschaltbar) – Einleitung, die Linien und ein Verbindungswort wie „und“.
  4. Endstation (abschaltbar) – nur an der letzten Haltestelle einer Route.
  5. Klang – Pause zwischen den Teilen, Stille am Ende, Lautsprecher-Effekt.
  1. Gong – the sound before every announcement.
  2. Station name – the recording assigned on the Stations page.
  3. Transfers (optional) – lead-in, the lines, and a connector such as “and”.
  4. Terminus (optional) – only at the last stop of a route.
  5. Sound – pause between parts, silence at the end, speaker effect.

Das Feld Beispiel rechts zeigt live, wie eine Ansage mit diesen Einstellungen zusammengesetzt wird.

The Example box on the right shows live how an announcement is put together with these settings.

Sprachpaket oben, Aufbau der Ansage links, Beispiel und Generieren rechts.Voice pack at the top, announcement structure on the left, example and generate on the right.

Mehr Optionen beim UmsteigenMore transfer options

OptionOptionWirkungEffect
GruppierungGrouping Nach einer einstellbaren Anzahl Linien beginnt ein neuer Satz: „Umsteigen zu den Linien 1, 2, 3, sowie zu den Linien 1A, 2A und 3A“.After a set number of lines a new clause starts: “Change to lines 1, 2, 3, as well as to lines 1A, 2A and 3A”.
Gemeinsame StreckenabschnitteShared sections Fährt eine andere Linie mindestens zwei Haltestellen am Stück dieselbe Strecke, wird sie nur an der ersten und letzten gemeinsamen Haltestelle angesagt, dort mit Richtung („… 2A in Richtung Hauptbahnhof“). Braucht einen Richtungs-Baustein wie in_Richtung.If another line runs along the same stretch for at least two stops in a row, it's only announced at the first and last shared stop, with its direction there (“… 2A towards Hauptbahnhof”). Needs a direction snippet such as in_Richtung.

GenerierenGenerating

  1. Quelle wählen: Karriere- oder Sandbox-Modus.
  2. Vorschau listet alle geplanten Dateien, ohne etwas zu schreiben. Ein Warnzeichen bedeutet: Der Haltestelle ist noch keine Aufnahme zugeordnet.
  3. Alle generieren & exportieren. Liegen schon Ansagen im Ordner, fragt ein Dialog nach einem Backup: Mit Backup verschiebt die alten Dateien nach _Backup\<Datum_Uhrzeit>, Ohne Backup löscht sie, Abbrechen ändert nichts. Jingles und fremde Dateien bleiben immer liegen.
  4. Am Ende nennt ein Dialog die Zahl der erzeugten Ansagen und den Backup-Ordner. Ansagen ansehen öffnet die Perlschnur.
  1. Choose the source: career or sandbox mode.
  2. Preview lists every planned file without writing anything. A warning sign means the stop has no recording assigned yet.
  3. Generate & export all. If the folder already contains announcements, a dialog asks about a backup: With backup moves the old files to _Backup\<date_time>, Without backup deletes them, Cancel changes nothing. Jingles and other files are never touched.
  4. When it's done, a dialog tells you how many announcements were generated and where the backup went. View announcements opens the stop strips.

Tipp: Hat ein Sprachpaket eine Aufnahme mit demselben Dateinamen wie deine Zuordnung (z. B. Hauptbahnhof.mp3), spricht es den Haltestellennamen mit seiner eigenen Stimme.

Tip: If a voice pack has a recording with the same file name as your assignment (e.g. Hauptbahnhof.mp3), it speaks the station name in its own voice.

AufnahmestudioRecording Studio

Seitenleiste › Ansagen erstellen › AufnahmestudioSidebar › Create announcements › Recording Studio

Eigene Textbausteine aufnehmen, zuschneiden, etwas voranstellen und direkt ins richtige Sprachpaket speichern.

Record your own snippets, trim them, put something in front, and save them straight into the right voice pack.

  1. Ziel: Sprachpaket, Kategorie und Dateiname. Haltestellen am besten so nennen wie im Spiel, dann funktioniert „Automatisch zuordnen“.
  2. Mikrofon wählen, Aufnehmen, Stoppen – oder eine vorhandene Datei laden.
  3. Bearbeiten: anhören, mit Von/Bis zuschneiden, eine Datei voranstellen (z. B. einen Gong).
  4. Speichern legt die Datei im Kategorie-Ordner ab. Verwerfen fängt neu an.
  1. Target: voice pack, category and file name. Name stops the way they're called in the game so auto-assign can match them.
  2. Pick the microphone, Record, Stop – or load an existing file.
  3. Edit: listen, trim with From/To, prepend a file (e.g. a gong).
  4. Save puts the file into the category folder. Discard starts over.
Ziel festlegen, dann aufnehmen oder eine Datei laden.Set the target, then record or load a file.

SprachpaketeVoice packs

Seitenleiste › Community › SprachpaketeSidebar › Community › Voice Packs

Ein Sprachpaket ist ein Satz Textbausteine – Haltestellennamen, Umsteigen, Gongs, Zusatzansagen – mit seinem Preset aus dem Ansagengenerator.

A voice pack is a set of snippets – station names, transfers, gongs, extra announcements – together with its announcement generator preset.

Installierte SprachpaketeInstalled voice packs

  • Aktivieren öffnet den Ansagengenerator mit diesem Paket und erzeugt sofort alle Ansagen neu. Damit sind die Ansagen im Spiel ausgetauscht. Beim aktiven Paket heißt der Knopf Neu erzeugen.
  • Einstellungen öffnet das Paket im Ansagengenerator, ohne zu exportieren.
  • Der Stift neben dem Namen benennt das Paket um. Der Name steht in Pack.json und geht beim Teilen mit.
  • Activate opens the Announcement Generator with this pack and regenerates every announcement straight away, which swaps the announcements in the game. For the active pack the button reads Regenerate.
  • Settings opens the pack in the Announcement Generator without exporting.
  • The pencil next to the name renames the pack. The name is stored in Pack.json and is shared with the pack.

HerunterladenDownloading

Unter Verfügbare Sprachpakete suchen und Installieren klicken. Danach springt die App in den Ansagengenerator, mit dem neuen Paket ausgewählt.

Search under Available voice packs and click Install. The app then opens the Announcement Generator with the new pack selected.

Eigenes Paket teilenSharing your own pack

Dafür musst du mit Discord angemeldet sein. Paket wählen: CTS-Tools zeigt vorher, was hochgeladen wird, und die Gesamtgröße (höchstens 150 MB). Name und Beschreibung eintragen, Hochladen. Ein Fenster zeigt den Fortschritt: am Server anmelden, Paket packen, hochladen. Abbrechen stoppt den Upload.

You need to be signed in with Discord. Pick a pack: CTS-Tools shows what will be uploaded and the total size (150 MB at most). Enter a name and description, then Upload. A window shows the progress: signing in to the server, packing, uploading. Cancel stops the upload.

Hinweis: Hochgeladen werden die Audiodateien der fünf Textbaustein-Ordner (.wav, .mp3, .mp4, .m4a, .wma), das Preset und der Paketname. Nicht dabei sind die fertigen Ansagen deines Spielstands und deine Zuordnung Haltestelle → Aufnahme.

Note: Uploaded are the audio files of the five snippet folders (.wav, .mp3, .mp4, .m4a, .wma), the preset and the pack name. Your game's finished announcements and your stop → recording assignments are not included.

Installiertes Paket „Vienna (since 2012)“ mit dem Status „Aktiv“, darunter die Pakete der Community.The installed pack “Vienna (since 2012)” marked active, with the community packs below.

EinstellungenSettings

Seitenleiste › ganz unten › EinstellungenSidebar › bottom › Settings

  • Sprache: Deutsch oder Englisch, für die ganze App.
  • Konto: Anmeldung mit Discord. Freiwillig, aber nötig zum Hochladen von Sprachpaketen.
  • Updates: CTS-Tools sucht beim Start im Hintergrund nach einer neuen Version und zeigt dann oben einen Hinweis. Das Update wird geladen, die Signatur geprüft, danach startet die App neu.
  • Language: German or English, for the whole app.
  • Account: sign in with Discord. Optional, but needed to upload voice packs.
  • Updates: CTS-Tools checks for a new version in the background at startup and shows a banner at the top when there is one. The update is downloaded, its signature checked, and the app restarts.
Sprache, Konto, Updates und Versionsinfo.Language, account, updates and version info.

Dateien & OrdnerFiles & folders

Textbausteine und SprachpaketeSnippets and voice packs

Dokumente\ViewApp\CityTransportSim\Textbausteine\
├─ Haltestellennamen\      Hauptbahnhof.mp3, Amtsstrasse.mp3 …
├─ UmsteigenZurLinie\      1.mp3, 1A.mp3, 2A.mp3 …  (Dateiname = Linienbezeichnung)
├─ UmsteigenZuDenLinien\   Einleitung, z. B. „Umsteigen zu den Linien“
├─ Zusatzansagen\          Endstation, „und“, „in Richtung“, S-Bahn …
├─ Gongs\
├─ Preset.json             Einstellungen des Ansagengenerators
├─ Pack.json               Name des Pakets, z. B. „Vienna (since 2012)“
└─ <weiteres Paket>\       gleicher Aufbau, z. B. ein heruntergeladenes Paket
Documents\ViewApp\CityTransportSim\Textbausteine\
├─ Haltestellennamen\      station names: Hauptbahnhof.mp3, Amtsstrasse.mp3 …
├─ UmsteigenZurLinie\      one file per line: 1.mp3, 1A.mp3, 2A.mp3 …
├─ UmsteigenZuDenLinien\   transfer lead-in, e.g. “change to lines”
├─ Zusatzansagen\          extras: terminus, “and”, “towards”, S-Bahn …
├─ Gongs\
├─ Preset.json             announcement generator settings
├─ Pack.json               pack name, e.g. “Vienna (since 2012)”
└─ <another pack>\        same layout, e.g. a downloaded pack

Die Kategorie-Ordner direkt im Hauptordner bilden das Standard-Paket. Jeder Unterordner mit demselben Aufbau ist ein weiteres Sprachpaket. Die Ordnernamen sind fest und bleiben auch in der englischen App deutsch.

The category folders directly in the root form the standard pack; every subfolder with the same layout is another voice pack. The folder names are fixed and stay German in the English app too.

Ansage-Dateien fürs SpielAnnouncement files for the game

Das Spiel liest die Ansagen aus Dokumente\ViewApp\CityTransportSim\Announcements\<Karte>\<Spielstand>. Der Dateiname legt fest, wann eine Ansage läuft:

The game reads announcements from Documents\ViewApp\CityTransportSim\Announcements\<map>\<save>. The file name decides when an announcement plays:

DateiFileBedeutungMeaning
101_1_0.wavLinie 101 (interne Nummer), Route 1, Halt 0 – die erste HaltestelleLine 101 (internal number), route 1, stop 0 – the first stop
101_2_11.wavLinie 101, Route 2, Halt 11Line 101, route 2, stop 11
Jingle.wavJingle vor Ansagen – wird beim Generieren nie angefasstJingle before announcements – never touched when generating
JingleSpecialAnnouncements.wavJingle für Sonderansagen – wird ebenfalls nie angefasstJingle for special announcements – never touched either
_Backup\…Alte Ansagen, gesichert vom Ansagengenerator – das Spiel ignoriert den OrdnerOld announcements backed up by the generator – the game ignores this folder

Zuordnungen und EinstellungenAssignments and settings

Namen, Audio-Zuordnungen, Stationsgruppen und manuelle Umstiege liegen als JSON-Dateien unter %AppData%\CTStools: station-names.json, station-audio-map.json, station-groups.json, manual-transfer-audio.json. Die allgemeinen Einstellungen stehen in settings.json.

Names, audio assignments, station groups and manual transfers are stored as JSON files in %AppData%\CTStools: station-names.json, station-audio-map.json, station-groups.json, manual-transfer-audio.json. General settings live in settings.json.

Häufige FragenFAQ

Eine Ansage sagt keinen Haltestellennamen.An announcement doesn't say the station name.

Der Haltestelle ist keine Aufnahme zugeordnet. Auf der Seite Haltestellen „Nur Haltestellen ohne Audiodatei“ anhaken, zuordnen oder aufnehmen und neu generieren.

The stop has no recording assigned. On the Stations page tick “Show stops without audio file only”, assign or record one, then generate again.

Eine Umsteigelinie fehlt.A transfer line is missing.

In UmsteigenZurLinie fehlt die Aufnahme für diese Linie. Der Dateiname muss genau der Linienbezeichnung entsprechen, z. B. 2A.mp3. Liegen zwei Haltestellen nah beieinander, verknüpfe sie mit „Nur Umsteigen verknüpfen“.

There's no recording for that line in UmsteigenZurLinie. The file name has to match the line designation exactly, e.g. 2A.mp3. If two stops are next to each other, link them with “Link for transfers only”.

Wie bekomme ich alte Ansagen zurück?How do I get my old announcements back?

Wenn du „Mit Backup“ gewählt hast, liegen sie im Ansagen-Ordner unter _Backup\<Datum_Uhrzeit>. Einfach zurückkopieren.

If you chose “With backup”, they're in the announcements folder under _Backup\<date_time>. Copy them back.

Ich habe im Spiel Linien geändert.I changed lines in the game.

Auf der Seite Linien das Savegame neu einlesen (Pfeil-Knopf), dann neu generieren – oder auf der Seite Sprachpakete beim aktiven Paket Neu erzeugen.

Re-read the savegame on the Lines page (arrow button), then generate again – or click Regenerate on the active pack on the Voice Packs page.

Ein Sprachpaket soll anders heißen.I want to rename a voice pack.

Auf der Seite Sprachpakete auf den Stift neben dem Namen klicken.

Click the pencil next to its name on the Voice Packs page.