In this guide I’ll explain what counts for Conductor achievements and present you with 2 ways of reaching the final Level 5 logro. Unfortunately slow progress and announcement of shutting down the servers pushed me to look for a new approach to unlock these achievements.
What counts for Conductor achievements
With some testing I came to a conclusion that only the following counts for Conductor achievements:
- Online ranked games,
- Solo games against bots
- Tutorial games (sic!)
The progress for offline games (solo and tutorial) is stored locally.
The More Legit way
Sí, lo leíste bien, tutorial games count for the achievement and that’s what we’re gonna use.
Finishing one tutorial game takes ~70 seconds which is almost 4x faster than a game against bot (when farming).
70 seconds x 20,0000 games ~= 389 hours ~= 16 dias
We’ll use AutoHotkey, since going through tutorial 20,000 times manually would be extremely boring.
Below is my script, just make sure to:
- Run it always on the same PC – the progress is not saved on the cloud/servers,
- Use AutoHotkey v1.1, the script is not compatible with the newer version. You can download it from aquí.
- Set your Display resolution to 1920×1080,
- Run the game in Fullscreen mode,
- Run the game and the ahk script, then press F2 key to start the script,
- Stop the script with F3 key before you exit the game.
; This script will keep playing Ticket To Ride F2:: SetDefaultMouseSpeed,6 WinWaitActive Ticket to Ride Run() F3::ExitApp Run() { while true { StartNewTutorialGame() DrawTicket() si (CheckIsStuck()) { Reanudar() Seguir } PlayMiamiAtlanta() PlayAtlantaWashington() DrawSecondAndFourth() PlayWashingtonNewYork() DrawNewTicket() DrawFourthAndDeck() PlayNewYorkMontreal() DrawNewTicket() DrawFourthAndFifth() PlayMontrealChicago() DrawSecondAndDeck() PlayChicagoDuluth() DrawSecondAndDeck() PlayDuluthDenver() ConfirmLastTurn() Draw2Deck() ClickForwardAndQuit() } } StartNewTutorialGame() { ;Click Play Click, 713, 299 Dormir, 1000 ;Click Tutorial Click, 1061, 139 Dormir, 1000 ;Click Go Click, 1000, 839 Dormir, 1000 } DrawTicket() { Hacer clic, 1846, 345 Dormir, 1000 Hacer clic, 1846, 903 Dormir, 1000 } PlayMiamiAtlanta() { Hacer clic, 1000, 959 Dormir, 500 Hacer clic, 1506, 883 Dormir, 1000 } PlayAtlantaWashington() { Hacer clic, 1000, 959 Dormir, 500 Hacer clic, 1496, 653 Dormir, 1000 } DrawSecondAndFourth() { Dormir, 2000 DrawSecond() DrawFourth() } PlayWashingtonNewYork() { Hacer clic, 1000, 959 Dormir, 500 Hacer clic, 1566, 405 Dormir, 1000 } DrawNewTicket() { Dormir, 1000 ;Click Go Click, 1000, 939 Dormir, 1000 ;Click Ticket Pile Click, 1846, 100 Dormir, 1000 DrawTicket() Dormir, 1000 } DrawFourthAndDeck() { Dormir, 2000 DrawFourth() DrawFromDeck() } PlayNewYorkMontreal() { Hacer clic, 850, 959 Dormir, 500 Hacer clic, 1566, 305 Dormir, 1000 } DrawFourthAndFifth() { Dormir, 2000 DrawFourth() DrawFifth() } PlayMontrealChicago() { Hacer clic, 1000, 959 Dormir, 500 Hacer clic, 1366, 305 Dormir, 1000 } DrawSecondAndDeck() { Dormir, 1000 DrawSecond() DrawFromDeck() } PlayChicagoDuluth() { Hacer clic, 1000, 959 Dormir, 500 Hacer clic, 1166, 365 Dormir, 1000 } PlayDuluthDenver() { Hacer clic, 1000, 959 Dormir, 500 Hacer clic, 876, 445 Dormir, 1000 } Draw2Deck() { Dormir, 1000 DrawFromDeck() DrawFromDeck() } ConfirmLastTurn() { Dormir, 2000 ;Click Go Click, 1000, 839 Dormir, 1000 Enviar, {Ingresar 100} } DrawFirst() { } DrawSecond() { Hacer clic, 1846, 345 Dormir, 1000 } DrawThird() { } DrawFourth() { Hacer clic, 1846, 557 Dormir, 1000 } DrawFifth() { Hacer clic, 1846, 757 Dormir, 1000 } DrawFromDeck() { Hacer clic, 1846, 803 Dormir, 1000 } ClickForwardAndQuit() { Dormir, 1000 ; Forward Click, 1446, 957 Dormir, 1000 ; Quit Click, 877, 42 Dormir, 1000 } CheckIsStuck() { PixelGetColor, color, 1000, 550, RGB if (color = 0xF4EFE1) { Dormir, 1000 return true } demás { return false } } Reanudar() { Dormir, 1000 Enviar, {Escapar 100} Dormir, 1000 Enviar, {Escapar 100} Dormir, 1000 Enviar, {Ingresar 100} }
Feel free to experiment with DefaultMouseSpeed value and Sleep times, but I found above to be the most reliable. Tutorial sometimes get stuck during drawing the ticket, I’ve added some logic to restart it in case of that happening.
The Less Legit way
Si 390 hours is still too much and you feel like a bit of cheating is ok, then you can get there much much faster. The progress for offline games is stored locally in UserDefault.xml file. You can find it in local app data:
%localappdata%\Days of Wonder\Ticket to Ride\UserDefault.xml
Justo:
- Open the file in your favourite text editor (when the game is not running),
- Encontrar <NbSoloGamesPlayed> elemento
<NbSoloGamesPlayed>12345</NbSoloGamesPlayed>
- Update the value to 200000 (or whatever you want) y guarda el archivo.
- Run the game, done. (Actually you might need to play one more game, didn’t test that).