Warcraft III: The Frozen Throne

From LANCommander
Revision as of 19:53, 10 August 2023 by DoctorDalek (talk | contribs)
Developers
Blizzard Entertainment
Publishers
Sierra Entertainment

Capcom

Blizzard Entertainment
Release Date
Windows: July 3, 2002
Genres
Real Time Strategy (RTS)

Strategy

View at PCGamingWiki

Actions

Name Path Arguments Working Directory Primary
Play Warcraft III: Reign of Chaos Warcraft III.exe True
Play Warcraft III: The Frozen Throne FrozenThrone.exe True
World Editor World Editor.exe False

Name Change Script

$NewName = $args[0]
$InstallDir = $PSScriptRoot

if ($NewName.Length -gt 24) {
    $NewName = $NewName.Substring(0, 24)
}

New-Item -Path "HKCU:\SOFTWARE\Blizzard Entertainment"
New-Item -Path "HKCU:\SOFTWARE\Blizzard Entertainment\Warcraft III"
New-Item -Path "HKCU:\SOFTWARE\Blizzard Entertainment\Warcraft III\String"

New-ItemProperty -Path "HKCU:\SOFTWARE\Blizzard Entertainment\Warcraft III\String" -Name "userlocal" -Value $NewName -Force

Install Script

$NewName = $args[0]
$InstallDir = $PSScriptRoot

if ($NewName.Length -gt 24) {
    $NewName = $NewName.Substring(0, 24)
}

New-Item -Path "HKCU:\SOFTWARE\Blizzard Entertainment"
New-Item -Path "HKCU:\SOFTWARE\Blizzard Entertainment\Warcraft III"
New-Item -Path "HKCU:\SOFTWARE\Blizzard Entertainment\Warcraft III\DelOption0"
New-Item -Path "HKCU:\SOFTWARE\Blizzard Entertainment\Warcraft III\DelOption1"
New-Item -Path "HKCU:\SOFTWARE\Blizzard Entertainment\Warcraft III\DelOption2"
New-Item -Path "HKCU:\SOFTWARE\Blizzard Entertainment\Warcraft III\DelOption3"
New-Item -Path "HKCU:\SOFTWARE\Blizzard Entertainment\Warcraft III\String"

New-ItemProperty -Path "HKCU:\SOFTWARE\Blizzard Entertainment\Warcraft III\" -Name "InstallPath" -Value $InstallDir -Force
New-ItemProperty -Path "HKCU:\SOFTWARE\Blizzard Entertainment\Warcraft III\" -Name "InstallPathX" -Value $InstallDir -Force
New-ItemProperty -Path "HKCU:\SOFTWARE\Blizzard Entertainment\Warcraft III\" -Name "Program" -Value "$InstallDir\Warcraft III.exe" -Force
New-ItemProperty -Path "HKCU:\SOFTWARE\Blizzard Entertainment\Warcraft III\" -Name "ProgramX" -Value "$InstallDir\Frozen Throne.exe" -Force

New-ItemProperty -Path "HKCU:\SOFTWARE\Blizzard Entertainment\Warcraft III\DelOption0" -Name "File0" -Value "w3z" -Force
New-ItemProperty -Path "HKCU:\SOFTWARE\Blizzard Entertainment\Warcraft III\DelOption0" -Name "File1" -Value "w3v" -Force
New-ItemProperty -Path "HKCU:\SOFTWARE\Blizzard Entertainment\Warcraft III\DelOption0" -Name "File2" -Value "w3p" -Force
New-ItemProperty -Path "HKCU:\SOFTWARE\Blizzard Entertainment\Warcraft III\DelOption0" -Name "Path0" -Value "$InstallDir\save" -Force
New-ItemProperty -Path "HKCU:\SOFTWARE\Blizzard Entertainment\Warcraft III\DelOption0" -Name "Path1" -Value "$InstallDir\save" -Force
New-ItemProperty -Path "HKCU:\SOFTWARE\Blizzard Entertainment\Warcraft III\DelOption0" -Name "Path2" -Value "$InstallDir\save" -Force

New-ItemProperty -Path "HKCU:\SOFTWARE\Blizzard Entertainment\Warcraft III\DelOption1" -Name "File0" -Value "w3g" -Force
New-ItemProperty -Path "HKCU:\SOFTWARE\Blizzard Entertainment\Warcraft III\DelOption1" -Name "Path0" -Value "$InstallDir\replay" -Force

New-ItemProperty -Path "HKCU:\SOFTWARE\Blizzard Entertainment\Warcraft III\DelOption2" -Name "File0" -Value "log" -Force
New-ItemProperty -Path "HKCU:\SOFTWARE\Blizzard Entertainment\Warcraft III\DelOption2" -Name "File1" -Value "txt" -Force
New-ItemProperty -Path "HKCU:\SOFTWARE\Blizzard Entertainment\Warcraft III\DelOption2" -Name "File2" -Value "w3g" -Force
New-ItemProperty -Path "HKCU:\SOFTWARE\Blizzard Entertainment\Warcraft III\DelOption2" -Name "File3" -Value "j" -Force
New-ItemProperty -Path "HKCU:\SOFTWARE\Blizzard Entertainment\Warcraft III\DelOption2" -Name "Path0" -Value "$InstallDir\Logs" -Force
New-ItemProperty -Path "HKCU:\SOFTWARE\Blizzard Entertainment\Warcraft III\DelOption2" -Name "Path1" -Value "$InstallDir\Logs" -Force
New-ItemProperty -Path "HKCU:\SOFTWARE\Blizzard Entertainment\Warcraft III\DelOption2" -Name "Path2" -Value "$InstallDir\Logs" -Force
New-ItemProperty -Path "HKCU:\SOFTWARE\Blizzard Entertainment\Warcraft III\DelOption2" -Name "Path3" -Value "$InstallDir\Logs" -Force

New-ItemProperty -Path "HKCU:\SOFTWARE\Blizzard Entertainment\Warcraft III\DelOption3" -Name "File0" -Value "txt" -Force
New-ItemProperty -Path "HKCU:\SOFTWARE\Blizzard Entertainment\Warcraft III\DelOption3" -Name "Path0" -Value "$InstallDir\Errors" -Force

New-ItemProperty -Path "HKCU:\SOFTWARE\Blizzard Entertainment\Warcraft III\String" -Name "userlocal" -Value $NewName -Force

Key Change Script

This script requires admin access to function properly

Warcraft III stores the game's CD key encrypted in the war3.mpq and war3x.mpq files in the game's installation directory. There is currently no known way to change this through command-line-only. Instead, we have to rely on key changers. Provided below are AutoHotkey scripts to automate this process. For ease of distribution, it is recommended that you compile the AutoHotkey script to an .exe executable. This will allow you to run the script without having AutoHotkey installed on the client machine.

AutoHotkey Scripts

Change Warcraft III Key

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
#WinActivateForce  ; Recommended for new scripts due to its superior speed and reliability.
SetTitleMatchMode, 2

Key = %1%

Run, cdkey.exe
WinWait, ahk_exe cdkey.exe
WinGetActiveTitle, ChangerTitle
Sleep, 100
Send, K
Send, Vintage{Tab}

StringMid, KeyPart1, Key, 1, 6
StringMid, KeyPart2, Key, 8, 4
StringMid, KeyPart3, Key, 13, 6
StringMid, KeyPart4, Key, 20, 4
StringMid, KeyPart5, Key, 25, 6

Send, %keyPart1%{Tab}
Send, %keyPart2%{Tab}
Send, %keyPart3%{Tab}
Send, %keyPart4%{Tab}
Send, %keyPart5%{Enter}

Sleep, 100

WinActivate, %ChangerTitle%
WinWaitActive, %ChangerTitle%
Send, X

return

Change Warcraft III: The Frozen Throne Key

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
#WinActivateForce  ; Recommended for new scripts due to its superior speed and reliability.
SetTitleMatchMode, 2

Key = %1%

Run, FTkey.exe
WinWait, ahk_exe FTkey.exe
WinGetActiveTitle, ChangerTitle
Send, C

StringMid, KeyPart1, Key, 1, 6
StringMid, KeyPart2, Key, 8, 4
StringMid, KeyPart3, Key, 13, 6
StringMid, KeyPart4, Key, 20, 4
StringMid, KeyPart5, Key, 25, 6

Send, %keyPart1%{Tab}
Send, %keyPart2%{Tab}
Send, %keyPart3%{Tab}
Send, %keyPart4%{Tab}
Send, %keyPart5%{Enter}

Sleep, 100

WinActivate, %ChangerTitle%
WinWaitActive, %ChangerTitle%

Send, X

return

PowerShell Script

cd "$InstallDir\Warcraft III Key Changer"
Start-Process "Change WarCraft III CD Key.exe" -ArgumentList "$($args[0])" -Wait
Start-Process "Change WarCraft III TFT CD Key.exe" -ArgumentList "$($args[0])" -Wait