Cómo jugar 20,000 Juegos en Ticket to Ride sin jugarlos realmente

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

  1. Open the file in your favourite text editor (when the game is not running),
  2. Encontrar <NbSoloGamesPlayed> elemento <NbSoloGamesPlayed>12345</NbSoloGamesPlayed>
  3. Update the value to 200000 (or whatever you want) y guarda el archivo.
  4. Run the game, done. (Actually you might need to play one more game, didn’t test that).
esta guía sobre Boleto para viajar fue escrito por PapaSmok. Puedes visitar la publicación original desde este Enlace. Si tiene alguna duda sobre esta guía, por favor no dude en comunicarse con nosotros aquí.

Sobre el Autor