ScriptStudio

From FIFA Manager Modding Wiki
Tool
ScriptStudio
Version 0.5.5
Author Dmitri

ScriptStudio is a tool for scripts development for FIFA Manager 07-14.

Language[edit | edit source]

A Universal Converter Project Scripting Syntax is used in ScriptStudio for scripts developing.

Interface[edit | edit source]

Term[edit | edit source]

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).

Elements[edit | edit source]

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[edit | edit source]

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.

Output[edit | edit source]

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".

File menu[edit | edit source]

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.

Edit menu[edit | edit source]

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.

Help menu[edit | edit source]

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.

Toolbar[edit | edit source]

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.

Versions[edit | edit source]

v0.5.5

fixed a problem with UCP mode switch

v0.5.3

now it's possible to switch between light and dark theme
now it's possible to disable auto-compile and set auto-compile delay
added new competition types (UCP Patch)

v0.5.2

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

v0.5.1

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

v0.5.0

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.)

v0.4.5

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

v0.4.4

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

v0.4.3

fixed direct references resolving for domestic competitions
added 'league_cup' and 'super_cup' to completer list

v0.4.2

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

v0.4.1

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

Links[edit | edit source]

ScriptStudio v0.5.5 on Dropbox

UCP Scripting on FIFA Manager Wiki