ScriptStudio is a tool for scripts development for FIFA Manager 07-14.
A Universal Converter Project Scripting Syntax is used in ScriptStudio for scripts developing.
source file - a file which contains code written in UCP Scripting Language.
compiled file - a file which contains code in FM scripting language.
compilation - a process of translatiing a source code (UCP Scripting Language) to compiled code (FM scripting language).
compiler - a part of ScriptStudio program which translates a source code (UCP Scripting Language) to compiled code (FM scripting language).
ScriptStudio interface consists of program menu, tool bar, source editor, compiler options, errors window and output window.
The Source editor is placed on the left side; that's a window where the code is written.
Compiler options contain few options to determine which errors should be shown/skipped.
Check teams - will display errors if there are competitions without teams (empty competitions).
Check names - will display errors if there are competitions without name.
Check matchdays - will display errors if there are competitions without matchdays.
Check bonuses - will display errors if there are competitions without bonuses (prize money) set.
The Error window is placed right under compiler options, it's a place where errors are displayed.
The Output window is placed under the Error window, it's a place where output (compiled code) is shown. It's possible to select and copy text from this window (it may be used as an alternative for "Compile To..." option).
There are 4 tabs in this window:
Script - The main compiled code. This code can be saved with "Compile To..." option or copied/pasted manually.
Fixture - CountryFixture file content. This code can be saved with "Compile To..." option (the second file) or copied/pasted manually. Used only for domestic competitions.
Data - A part of CountryData text, can be copied and pasted to CountryData file. Used only for domestic competitions.
Competitions List - a table with all generated competitions (some information about created competitions may be viewed here).
There are 3 menu options in ScriptStudio - "File", "Edit" and "Help".
Open - opens a source file. ScriptStudio source files normally have .ucpsc (UCP Script) extension. If you use this command when some unsaved script is opened - you will get a warning dialog which asks you if want to save the previous script. Ctrl+Shift+O combination can be used as well.
Save - saves a source file. When using first time (for a script which was not saved before) - it will ask you to select a folder where the script must be saved, and the script file name. Ctrl+S combination can be used as well.
Save As... - save a source file and choose the folder where the script must be saved, and the script file name. Ctrl+Shift+S combination can be used as well.
Compile To... - compiles current script and saves it to selected folder/file name. When you create a script for domestic competitions, the dialog for file saving will appear twice - first for CountryScript file, and the second for CountryFixture file. Ctrl+Shift+C combination can be used as well.
Decompile From... - not implemented currently.
Exit - closes the program. If you use this command when some unsaved script is opened - you will get a warning dialog which asks you if want to save the script.
Undo - un-do the last operation. Ctrl+Z combination can be used as well.
Redo - re-do the last operation. Ctrl+Shift+Z combination can be used as well.
Select All - select all source code. Ctrl+A combination can be used as well.
Documentation - opens an online documentation on the wiki. F1 key can be used as well.
About - shows a message box with information about current program version.
Some of Toolbar buttons repeat already presented options: Open, Save, Compile To... and Undo/Redo.
This is a Game version. Any game from FM 07 and up to FM 14 can be selected. There are some differences between each game version, some of them use features which do not work on other versions. FM 13 and FM 14 modes are identical.
This is a Compiling mode. There are 2 modes: Default and Universal. This mode is actual if you write a script for an older FM version (FM07 - FM12) and it determines how scripting instructions will be translated to these older versions.
In Universal mode, if you use some instruction which is not supported in the selected game version, the compiler will try to translate this instruction to an alternative instruction which is available in the selected game version.
For example, the getNationalTeam (GET NATIONAL TEAM) instruction is not supported in FM07. If you use this instruction in Default mode, you will get an error:
But in Universal mode, the compiler will translate the getNationalTeam (GET NATIONAL TEAM) instruction to GET NAT SOUTH AMERICA instruction, which can be used in FM07 and works the same way as GET_NATIONAL_TEAM.
This is a UCP Patch Mode trigger. It must be used when you create scripts for UCP Patch. It makes difference only when game version is set to FM13 or FM14. When this mode is enabled, the compiler will treat country IDs differently, since in the UCP Patch, Kosovo and New Caledonia countries were added. This trigger is enabled by default.
This is a Calendar helper. Not implemented currently.
This is a Flag calculator. It may be used to calculate special flags for leagues - transferflags, loanflags and otherflags.
dark theme is now used added an example for complete Germany league system 2018/2019 - with all leagues and cups BEG_END flag is now added for one-legged rounds in the country script
added Fixture and Data tabs for respective output text added Competitions List tab where all generated competitions are listed added NewCaledonia country (UCP Patch) added the UCP Path Mode trigger added predefined macros fixed constant redefinition error message fixed country id 207 resolving for FM07 fixed direct reference resolving for relegation competitions
added new type of links - weak links added support for hexadecimal numbers extended array-repeat syntax added array sorting option custom competition types are now possible implemented flag calculator added new competition types (UCP Patch) added new country names (North Macedonia, Eswatini, etc.)
fixed getInternationalTabLevelXToY level parameter fixed auto-generated fixtures list for leagues with 5 clubs changed the behaviour of universal get() command - now it doesn't limit the number of teams
fixed crash when using league/cup/round block in global space fixed cup format in external script file added a helper text for matchdays count for competitions when blockstartindex is set and it's not 0, the line with competitions count is not written
fixed direct references resolving for domestic competitions added 'league_cup' and 'super_cup' to completer list
fixed arrays inside #define directive fixed incorrect id for ROUND_FINAL_3RD_PLACE added #blockstartindex directive attendance and transfers multipliers for international competitions are set to 100 by default 'number of pools' value is set to 1 for international pools
fixed round flags MATCHDAYS2 is not written for international competitions when it's same as MATCHDAYS added Final3rdPlace enumeration for round type added #blockname directive added #replace directive minor improvements to output comments formatting