[ EDIT ] Updated to version 3
Now you can define the version of the FSO executable and the mission name in a text file.
AutohotKey is not needed, just in case you want a new script.
I made this little script to automate the process of load a mission from the Desktop, on Windows.
I´m using it to learn and check some scripts, and if i´m not wrong, FSO must be restarted to load changes on scripts and other stuffs.
Just pressing F11 key FSO starts and goes to the mission, to close it again just press F12.
So with this script you can Open FSO and launch the mission unattended, as well you can close FSO with just a key.
The program is running on the Background until you kill it, so you can open and close FSO everytime you need.
I hope is useful for someone
, Here the link.
https://www.mediafire.com/?l80w5y7vyyiy9i3 Control Keys
-------------------
F11 = Load FSO version and mission.
F12 = Close FSO and abort keystrokes sequence
F9 = Abort keystrokes sequence
Control + F12 = Exit App
- In order to work properly you must copy these files in your FSO executable folder.
- You must setup your desire FSO executable and mission on the text files attached.
- You can change the FSO executable and mission with the program running.
FSOversion.txt ( Here you must define your FSO version, without extension )
FSOmission.txt ( Here you must define your FSO mission, without extension )
- You don´t need to install autohotkey, just in case you want to modify the script and compile a new one.
http://www.autohotkey.com/- This script will load your FSO executable, after that, executes a chained keystroke events just to simulate all the keystrokes needed to load a mission.
- You can change the sleep times values ( in ms ) to match your loading time process of your pc ( compile is necessary ), slowers pc´s may needs more time for loading...
- It works on Full Screen and Windowed mode because the program waits for FSO window to start.
- If the program finds any errors window it will stop until they fixed.
- The program launchs the executable, you must choose your mod with the launcher first.
- You must disable with FRED briefing menus if you want to go directly to the mission.
- I suppose that you always uses same pilot, so put the first on the list.
I put the code here in case the server crashes, remember is not LUA.
;--------------------------------------------------------
; Mission Launcher Script for FSO v3.0
; by coffeesoft
;--------------------------------------------------------
; Control Keys
; -------------------
; F11 = Load FSO version and mission.
; F12 = Close FSO and abort keystrokes sequence
; F9 = Abort keystrokes sequence
; Control + F12 = Exit App
; In order to work properly you must copy these files in your FSO executable folder.
; You must setup your desire FSO executable and mission on the text files attached.
; You can change the FSO executable and mission with the program running.
; FSOversion.txt ( Here you must define your FSO version, without extension )
; FSOmission.txt ( Here you must define your FSO mission, without extension )
;
; You don´t need to install autohotkey, just in case you want to modify the script and compile a new one.
; http://www.autohotkey.com/
; This script will load your FSO executable, after that, executes a chained keystroke events just to simulate all the keystrokes needed to load a mission.
; You can change the sleep times values ( in ms ) to match your loading time process of your pc ( compile is necessary ), slowers pc´s may needs more time for loading...
; It works on Full Screen and Windowed mode because the program waits for FSO window to start.
; If the program finds any errors window it will stop until they fixed.
; The program launchs the executable, you must choose your mod with the launcher first.
; You must disable with FRED briefing menus if you want to go directly to the mission.
; I suppose that you always uses same pilot, so put the first on the list.
; All characters after ; will be ignored
; Assigned Key, load FSO, activate FSO window and start keystrokes sequence
;------------------------------------------------------------------
FileRead, version, %A_ScriptDir%\FSOversion.txt
FileRead, mission, %A_ScriptDir%\FSOmission.txt
f11::
FileRead, version, %A_ScriptDir%\FSOversion.txt
FileRead, mission, %A_ScriptDir%\FSOmission.txt
; 1 - Run FSO executable and wait for it
; --------------------------------------------------------
IfWinExist, ahk_class FreeSpace2Class
{
TrayTip, AutoHotKey, FSO Already Loaded, 2
return
}
else
if version =
{
TrayTip, AutoHotKey, Choose your FSO executable, 1
sleep, 1000
Reload
return
}
else
if mission =
{
TrayTip, AutoHotKey, Choose your mission, 1
sleep, 1000
Reload
return
}
else
TrayTip, AutoHotKey, Loading FSO, 2
FileRead, version, %A_ScriptDir%\FSOversion.txt
FileRead, mission, %A_ScriptDir%\FSOmission.txt
sleep, 500
run, %A_ScriptDir%\%version%.exe $ -start_mission %mission%
sleep, 500
WinWait, ahk_class FreeSpace2Class
IfWinExist, ahk_class FreeSpace2Class
WinActivate, ahk_class FreeSpace2Class
sleep, 3000
IfWinExist, Error!
{
TrayTip, AutoHotKey, Errors detected - Aborting Sequence, 2
sleep, 2000
WinActivate, Error!
Process, Close, %version%.exe
Reload
return
}
else
; 2 - Skip Intro Video ( Space )
; -------------------------------------------
TrayTip, AutoHotKey, SPACE, 2
WinActivate, ahk_class FreeSpace2Class
Send {Space 1}
sleep, 4000
; 3 - Load Default Pilot ( Enter )
; --------------------------------------------
TrayTip, AutoHotKey, ENTER, 2
WinActivate, ahk_class FreeSpace2Class
Send {Enter 1}
sleep, 500
return
; Assigned Key, close FSO and abort keystrokes sequence
;-------------------------------------------------------------------------------------
f12::
FileRead, version, %A_ScriptDir%\FSOversion.txt
FileRead, mission, %A_ScriptDir%\FSOmission.txt
TrayTip, AutoHotKey, Closing FSO, 2
sleep, 500
Process, Close, %version%.exe
reload
return
; Assigned Key, abort keystrokes sequence
;--------------------------------------------------------------
f9::
FileRead, version, %A_ScriptDir%\FSOversion.txt
FileRead, mission, %A_ScriptDir%\FSOmission.txt
TrayTip, AutoHotKey, Aborting Keys Sequence, 2
reload
return
; Assigned Key, Exit App
;------------------------------------
^f12::
TrayTip, AutoHotKey, Closing App, 2
exitapp