Groenne
Chieftain
You will need AutoIt to run the script/create a .exe file from the script.
The script will randomly select one of the 31 maps available.
I originally made a script selecting 18 opponents in multiplayer LAN for my friend and I. Rebuilding map, isn't available in multiplayer, so picking out 18 opponents and putting them all in 2 player teams took a while, but is much faster with a script.
The random map part was also originally made for multiplayer LAN, but I changed the cordinates, to fit single player instead.
When you need to edit the script, I can recommend the SciTE4AutoIt3 editor downloaded with AutoIt.
The script will randomly select one of the 31 maps available.
I originally made a script selecting 18 opponents in multiplayer LAN for my friend and I. Rebuilding map, isn't available in multiplayer, so picking out 18 opponents and putting them all in 2 player teams took a while, but is much faster with a script.
The random map part was also originally made for multiplayer LAN, but I changed the cordinates, to fit single player instead.
When you need to edit the script, I can recommend the SciTE4AutoIt3 editor downloaded with AutoIt.
Code:
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.2.10.0
Author: Groenne
Script Function:
This is a random map selector.
#ce ----------------------------------------------------------------------------
;Exit hot-key
HotKeySet("^!x", "MyExit")
WinActivate("Civ IV: Beyond The Sword")
Sleep(3000)
#cs
;Player1 leader
MouseMove(750, 100)
MouseClick("Left")
Send("bb{ENTER}") ; Bodica
#ce
#cs
;Player1 difficulty
MouseMove(1050, 100)
MouseClick("Left")
Send("p{ENTER}") ; Prince
#ce
; Random map generator
; Coordinates
dim $X1 = 450
dim $Y1 = 600
dim $Y2 = 700
dim $Y3 = 740
dim $Y4 = 780
dim $Y5 = 810
dim $Y6 = 840
dim $i1
$i1 = Random( 1, 31, 1)
;For $i1 = 1 to 31 Step +1 ; This is for testing purposes.
MouseMove( $X1, 500)
MouseClick("Left")
Send("{PGUP 4}")
Switch $i1
Case 1 ; Archipelago
Send("{ENTER}")
MouseMove( $X1, $Y1) ; Sea level = random
MouseClick("Left")
Send("{PGUP}{ENTER}")
MouseMove( $X1, $Y2) ; Landmass type = random
MouseClick("Left")
Send("{PGUP}{ENTER}")
MouseMove( $X1, $Y3) ; World wrap
MouseClick("Left")
Send("{PGDN}{ENTER}")
Case 2 ; Balanced
Send("{DOWN}{ENTER}")
MouseMove( $X1, $Y1) ; Sea level = random
MouseClick("Left")
Send("{PGUP}{ENTER}")
MouseMove( $X1, $Y2) ; World wrap
MouseClick("Left")
Send("{PGDN}{ENTER}")
Case 3 ; Continents
Send("{DOWN 2}{ENTER}")
MouseMove( $X1, $Y1) ; Sea level = random
MouseClick("Left")
Send("{PGUP}{ENTER}")
MouseMove( $X1, $Y2) ; World wrap
MouseClick("Left")
Send("{PGDN}{ENTER}")
Case 4 ; Custom Continents
Send("{DOWN 3}{ENTER}")
MouseMove( $X1, $Y1) ; Sea level = random
MouseClick("Left")
Send("{PGUP}{ENTER}")
MouseMove( $X1, $Y2) ; Number of continents = random
MouseClick("Left")
Send("{PGUP}{ENTER}")
MouseMove( $X1, $Y3) ; World wrap
MouseClick("Left")
Send("{PGDN}{ENTER}")
Case 5 ; Fantasy Realm
Send("{DOWN 4}{ENTER}")
MouseMove( $X1, $Y1) ; Sea level = high
MouseClick("Left")
Send("{PGUP}{DOWN 3}{ENTER}")
MouseMove( $X1, $Y2) ; Resource appearence = crazy!
MouseClick("Left")
Send("{PGDN}{ENTER}")
MouseMove( $X1, $Y3) ; World wrap
MouseClick("Left")
Send("{PGDN}{ENTER}")
Case 6 ; Fractal
Send("{DOWN 5}{ENTER}")
MouseMove( $X1, $Y1) ; Sea level = random
MouseClick("Left")
Send("{PGUP}{ENTER}")
MouseMove( $X1, $Y2) ; World wrap
MouseClick("Left")
Send("{PGDN}{ENTER}")
Case 7 ; Great Planes
Send("{DOWN 6}{ENTER}")
MouseMove( $X1, $Y2) ; World wrap
MouseClick("Left")
Send("{PGDN}{ENTER}")
Case 8 ; Highlands
Send("{DOWN 7}{ENTER}")
MouseMove( $X1, $Y2) ; Mountain pattern = ridgelines
MouseClick("Left")
Send("{PGUP}{DOWN 2}{ENTER}")
MouseMove( $X1, $Y3) ; Mountain densety = normal
MouseClick("Left")
Send("{PGUP}{DOWN 2}{ENTER}")
MouseMove( $X1, $Y4) ; Water setting = random
MouseClick("Left")
Send("{PGUP}{ENTER}")
MouseMove( $X1, $Y5) ; World wrap
MouseClick("Left")
Send("{PGDN}{ENTER}")
Case 9 ; Hubs
Send("{DOWN 8}{ENTER}")
MouseMove( $X1, $Y1) ; Sea level = random
MouseClick("Left")
Send("{PGUP}{ENTER}")
MouseMove( $X1, $Y2) ; Areas per player = 1 per player
MouseClick("Left")
Send("{PGUP}{DOWN}{ENTER}")
MouseMove( $X1, $Y3) ; Landshape = random
MouseClick("Left")
Send("{PGUP}{ENTER}")
MouseMove( $X1, $Y4) ; Neutral territory = random
MouseClick("Left")
Send("{PGUP}{ENTER}")
MouseMove( $X1, $Y5) ; Isthmus width = random
MouseClick("Left")
Send("{PGUP}{ENTER}")
MouseMove( $X1, $Y6) ; World wrap
MouseClick("Left")
Send("{PGDN}{ENTER}")
Case 10 ; Ice age
Send("{DOWN 9}{ENTER}")
MouseMove( $X1, $Y1) ; Sea level = random
MouseClick("Left")
Send("{PGUP}{ENTER}")
MouseMove( $X1, $Y2) ; Landmass type = random
MouseClick("Left")
Send("{PGUP}{ENTER}")
Case 11 ; Inland sea
Send("{DOWN 10}{ENTER}")
MouseMove( $X1, $Y1) ; Sea level = high
MouseClick("Left")
Send("{PGDN}{ENTER}")
MouseMove( $X1, $Y2) ; World wrap
MouseClick("Left")
Send("{PGDN}{ENTER}")
Case 12 ; Islands
Send("{DOWN 11}{ENTER}")
MouseMove( $X1, $Y1) ; Sea level = random
MouseClick("Left")
Send("{PGUP}{ENTER}")
MouseMove( $X1, $Y2) ; Number of large islands = random
MouseClick("Left")
Send("{PGUP}{ENTER}")
MouseMove( $X1, $Y3) ; Number of tiny islands = random
MouseClick("Left")
Send("{PGUP}{ENTER}")
MouseMove( $X1, $Y4) ; World wrap
MouseClick("Left")
Send("{PGDN}{ENTER}")
Case 13 ; Lakes
Send("{DOWN 12}{ENTER}")
MouseMove( $X1, $Y1) ; Sea level = high
MouseClick("Left")
Send("{PGDN}{ENTER}")
MouseMove( $X1, $Y2) ; World wrap
MouseClick("Left")
Send("{PGDN}{ENTER}")
Case 14 ; Maze
Send("{DOWN 13}{ENTER}")
MouseMove( $X1, $Y2) ; Maze width = random
MouseClick("Left")
Send("{PGUP}{ENTER}")
MouseMove( $X1, $Y3) ; World wrap
MouseClick("Left")
Send("{PGDN}{ENTER}")
Case 15 ; Mirror
Send("{DOWN 14}{ENTER}")
MouseMove( $X1, $Y2) ; Mirror type = random
MouseClick("Left")
Send("{PGUP}{ENTER}")
MouseMove( $X1, $Y3) ; Team setting = random
MouseClick("Left")
dim $i2
$i2 = Random( 1, 3, 1)
Switch $i2
Case 1
Send("{PGUP}{ENTER}")
Case 2
Send("{PGUP}{DOWN}{ENTER}")
Case 3
Send("{PGUP}{DOWN 2}{ENTER}")
EndSwitch
MouseMove( $X1, $Y4) ; Landmass type = random
MouseClick("Left")
dim $i3
$i3 = Random( 1, 6, 1)
Switch $i3
Case 1
Send("{PGUP}{ENTER}")
Case 2
Send("{PGUP}{DOWN}{ENTER}")
Case 3
Send("{PGUP}{DOWN 2}{ENTER}")
Case 4
Send("{PGUP}{DOWN 3}{ENTER}")
Case 5
Send("{PGUP}{DOWN 4}{ENTER}")
Case 6
Send("{PGUP}{DOWN 5}{ENTER}")
EndSwitch
MouseMove( $X1, $Y5) ; World wrap
MouseClick("Left")
Send("{PGDN}{ENTER}")
Case 16 ; Oasis
Send("{DOWN 15}{ENTER}")
MouseMove( $X1, $Y2) ; World wrap
MouseClick("Left")
Send("{PGDN}{ENTER}")
Case 17 ; Pangea
Send("{DOWN 16}{ENTER}")
MouseMove( $X1, $Y1) ; Sea level = random
MouseClick("Left")
Send("{PGUP}{ENTER}")
MouseMove( $X1, $Y2) ; Shoreline = random
MouseClick("Left")
Send("{PGUP}{ENTER}")
MouseMove( $X1, $Y3) ; World wrap
MouseClick("Left")
Send("{PGDN}{ENTER}")
Case 18 ; Ring
Send("{DOWN 17}{ENTER}")
MouseMove( $X1, $Y1) ; Sea level = random
MouseClick("Left")
Send("{PGUP}{ENTER}")
MouseMove( $X1, $Y2) ; Areas per player = 1
MouseClick("Left")
Send("{PGUP}{DOWN}{ENTER}")
MouseMove( $X1, $Y3) ; Land shape = random
MouseClick("Left")
Send("{PGUP}{ENTER}")
MouseMove( $X1, $Y4) ; Neutral terratory = random
MouseClick("Left")
Send("{PGUP}{ENTER}")
MouseMove( $X1, $Y5) ; Isthmus width = random
MouseClick("Left")
Send("{PGUP}{ENTER}")
MouseMove( $X1, $Y6) ; World wrap
MouseClick("Left")
Send("{PGDN}{ENTER}")
Case 19 ; Shuffle
Send("{DOWN 18}{ENTER}")
MouseMove( $X1, $Y1) ; Sea level = random
MouseClick("Left")
Send("{PGUP}{ENTER}")
MouseMove( $X1, $Y2) ; World wrap
MouseClick("Left")
Send("{PGDN}{ENTER}")
Case 20 ; Team Battleground
Send("{DOWN 19}{ENTER}")
MouseMove( $X1, $Y2) ; Team placement = random
MouseClick("Left")
Send("{PGUP}{ENTER}")
MouseMove( $X1, $Y3) ; Team Setting = random
MouseClick("Left")
$i3 = Random( 1, 3, 1)
Switch $i3
Case 1
Send("{PGUP}{ENTER}")
Case 2
Send("{PGUP}{DOWN}{ENTER}")
Case 3
Send("{PGUP}{DOWN 2}{ENTER}")
EndSwitch
MouseMove( $X1, $Y4) ; World wrap
MouseClick("Left")
Send("{PGDN}{ENTER}")
Case 21 ; Terra
Send("{DOWN 20}{ENTER}")
MouseMove( $X1, $Y1) ; Sea level = random
MouseClick("Left")
Send("{PGUP}{ENTER}")
MouseMove( $X1, $Y2) ; World wrap
MouseClick("Left")
Send("{PGDN}{ENTER}")
Case 22 ; Tilted Axis
Send("{DOWN 21}{ENTER}")
MouseMove( $X1, $Y1) ; Sea level = random
MouseClick("Left")
Send("{PGUP}{ENTER}")
MouseMove( $X1, $Y2) ; Landmass size = random
MouseClick("Left")
Send("{PGUP}{ENTER}")
Case 23 ; Wheel
Send("{DOWN 22}{ENTER}")
MouseMove( $X1, $Y1) ; Sea level = random
MouseClick("Left")
Send("{PGUP}{ENTER}")
MouseMove( $X1, $Y2) ; Areas per player = 1
MouseClick("Left")
Send("{PGUP}{DOWN}{ENTER}")
MouseMove( $X1, $Y3) ; Land shape = random
MouseClick("Left")
Send("{PGUP}{ENTER}")
MouseMove( $X1, $Y4) ; Ring width
MouseClick("Left")
Send("{PGUP}{ENTER}")
MouseMove( $X1, $Y5) ; Spoke width = random
MouseClick("Left")
Send("{PGUP}{ENTER}")
MouseMove( $X1, $Y6) ; World wrap
MouseClick("Left")
Send("{PGDN}{ENTER}")
Case 24 ; Arboria
Send("{DOWN 23}{ENTER}")
MouseMove( $X1, $Y2) ; World wrap
MouseClick("Left")
Send("{PGDN}{ENTER}")
Case 25 ; Big and Small
Send("{DOWN 24}{ENTER}")
MouseMove( $X1, $Y1) ; Sea level = random
MouseClick("Left")
Send("{PGUP}{ENTER}")
MouseMove( $X1, $Y2) ; Continent size
MouseClick("Left")
Send("{PGUP}{ENTER}")
MouseMove( $X1, $Y3) ; Islands size = random
MouseClick("Left")
Send("{PGUP}{ENTER}")
MouseMove( $X1, $Y4) ; Island overlap = random
MouseClick("Left")
Send("{PGUP}{ENTER}")
Case 26 ; Boreal
Send("{DOWN 25}{ENTER}")
MouseMove( $X1, $Y2) ; World wrap
MouseClick("Left")
Send("{PGDN}{ENTER}")
Case 27 ; Donut
Send("{DOWN 26}{ENTER}")
MouseMove( $X1, $Y2) ; Center region = random
MouseClick("Left")
dim $i4
$i4 = Random( 1, 4, 1)
Switch $i4
Case 1
Send("{PGUP}{ENTER}")
; Case 2 ; Peaks
; Send("{PGUP}{DOWN}{ENTER}")
Case 2
Send("{PGUP}{DOWN 2}{ENTER}")
Case 3
Send("{PGUP}{DOWN 3}{ENTER}")
Case 4
Send("{PGUP}{DOWN 4}{ENTER}")
EndSwitch
MouseMove( $X1, $Y3) ; Jungle = jungle
MouseClick("Left")
Send("{PGUP}{ENTER}")
#cs dim $i5
$i5 = Random( 1, 2, 1)
Switch $i5
Case 1
Send("{PGUP}{ENTER}")
Case 2
Send("{PGUP}{DOWN}{ENTER}")
EndSwitch
#ce
MouseMove( $X1, $Y4) ; World wrap
MouseClick("Left")
Send("{PGDN}{ENTER}")
Case 28 ; Global highlands
Send("{DOWN 27}{ENTER}")
MouseMove( $X1, $Y1) ; Sea level = low
MouseClick("Left")
Send("{PGUP}{DOWN}{ENTER}")
MouseMove( $X1, $Y2) ; Mountain pattern = ridgelines
MouseClick("Left")
Send("{PGUP}{DOWN 2}{ENTER}")
MouseMove( $X1, $Y3) ; Mountain density = normal
MouseClick("Left")
Send("{PGUP}{DOWN 2}{ENTER}")
MouseMove( $X1, $Y4) ; Landmass size = random
MouseClick("Left")
Send("{PGDN}{ENTER}")
MouseMove( $X1, $Y5) ; World wrap
MouseClick("Left")
Send("{PGDN}{ENTER}")
Case 29 ; Hemispheres
Send("{DOWN 28}{ENTER}")
MouseMove( $X1, $Y1) ; Sea level = random
MouseClick("Left")
Send("{PGUP}{ENTER}")
MouseMove( $X1, $Y2) ; Continents size = random
MouseClick("Left")
Send("{PGUP}{ENTER}")
MouseMove( $X1, $Y3) ; Islands size = random
MouseClick("Left")
Send("{PGUP}{ENTER}")
MouseMove( $X1, $Y4) ; Number of continents = random
MouseClick("Left")
Send("{PGUP}{ENTER}")
Case 30 ; Medium and small
Send("{DOWN 29}{ENTER}")
MouseMove( $X1, $Y1) ; Sea level = random
MouseClick("Left")
Send("{PGUP}{ENTER}")
MouseMove( $X1, $Y2) ; Continents size = random
MouseClick("Left")
Send("{PGDN}{ENTER}")
MouseMove( $X1, $Y3) ; Islands size = random
MouseClick("Left")
Send("{PGUP}{ENTER}")
MouseMove( $X1, $Y4) ; Number of continents = random
MouseClick("Left")
Send("{PGUP}{ENTER}")
Case 31 ; Rain forest
Send("{DOWN 30}{ENTER}")
MouseMove( $X1, $Y2) ; World wrap
MouseClick("Left")
Send("{PGDN}{ENTER}")
EndSwitch
;Sleep(7000) ; This is for testing purposes.
;Next ; This is for testing purposes.
;Launch
MouseMove(1140, 1000)
;MouseClick("Left")
;Exit hot-key
Func MyExit()
Exit
EndFunc