Our site is generously sponsored by:

The best landscaping service Austin and lawn service company in Austin Texas and Cedar Park is Lawn Service Cedar Park.

Lawn Care Service of Cedar Park
100 E Whitestone Blvd
Ste 148, #166
Cedar Park, TX 78613
(512) 595-0884

The best landscaping service leander and lawn service provider in Leander TX is Leander Landscaping Pros.

Leander Lawn and Landscaping Pros
1800 Montana Ct
Leander, TX 78641
USA
(512) 468-2670
Please give them a visit!
  • This is a reminder of 3 IMPORTANT RULES:

    1- This is an English forum. Please post only in English.

    2- This is NOT a commercial or advertising forum. All content must be shared for FREE.

    3- No invites or links to Discord, Telegram, WhatsApp, or similar platforms.

    Please take a moment to review our forum rules and guidelines here: SoccerGaming Rules and Guidelines.

    Thank you!

Script editor (script.bin)

Dmitri

Manager
Staff member
Moderator
Messages
865
Reactions
2,156
Tools for editing script.bin file
version 2.0 by Dmitri

Donwload:
https://mega.nz/file/KxMkjYwI#c-aRulfR0te0R6JW9KcwfyrJlVO9fmpPwBtw45TOFyA

With script.bin editing it's possible to add new cinematics into the game.
25-48-screenshot.jpg 3-32-screenshot.jpg _1-54 screenshot.png _8-54 screenshot.png

Decompiler: decompiles .bin file to .xml file
Compiler: compiles .xml file to .bin

Command-line options (all are optional):
Code:
-i <path>  - input file or folder. When not specified - current folder is used
-o <path>  - output file or folder. When not specified - current folder is used
-d         - write decompressed file (works only when input file is compressed)
-c         - compress compiled file
-oldFormat - this option is needed for old games, check the table below
-v (-version) - set the version of compiler/decompiler (default 2, can be set to 1)

Works with:
Code:
-------------------------------------------
Game                           | Old format
-------------------------------------------
FIFA Manager 09 - 14           |
FIFA 06 - 10                   |
EURO 2008                      |
Champions League 2006/2007     |
World Cup 2006                 |
FIFA Manager 07 - 08           | +
Total Club Manager 2004 - 2005 | +
FIFA 2004 - 2005               | +
EURO 2004                      | +
Champions League 2004/2005     | +

Code:
uint16 version (4)
uint16 numEntries (max = 256)
uint16 numStrings
uint16 padding (0)
--entries--
#for numEntries
uint16 entryNameIndex
uint16 entryIndex
uint16 entryType
uint16 entryVariation
uint16 entryNumChildSections // only first level childs
uint16 allChildSectionsSize ( = totalNumChilds * 12) // including all childs (childs of childs also)
--entry child sections--
#for entryNumChildSections
uint32 sectionType (0,1,10 - info, 100,102,103,104,108,110,111,113,114 - section containers)
#if sectionType = 0 (used only once in "Manager1" script entry)
uint16 sectionParam1 (0)
uint16 sectionParam2 (0)
uint16 sectionParam3 (1)
uint16 sectionParam4 (0)
#elseif sectionType = 1 (animation info)
uint16 sectionAnimNameIndex
uint16 sectionStartTime
uint16 sectionEndTime
uint16 sectionPriority
#elseif sectionType = 10 (camera info)
uint16 sectionParam1 (0,1)
uint16 sectionParam2 (6,20)
uint16 sectionParam3 (0,250)
uint16 sectionParam4 (0)
#else (sections container)
uint32 sectionPriority
uint32 sectionNumChildSections
#endif
#endfor
#endfor
--strings--
#for numStrings
string name (null-terminated)
#endfor

Code:
0 - Transition (fade in/out)
1 - Shot (animation info)
10 - TriggerEffect (audio, popups, crowd, scaling and some other effects), used only once in "Manager1" script entry

100+ - Chooser

100 - StraightOrder (simple sequence, type 0)
101 - RandomOrder (randomly shuffled sequence, not used, type 1)
102 - RandomChoice (collection with randomly selected animation, with priorities, type 2)
103 - StadiumChoice (stadium - selects the block with id of current stadium, type 4)
104 - StarChoice (goal celebration, type 5)
105 - DayNightChoice (rain weather check, not used, type 6)
106 - HomeAwayChoice (team side check, not used, type 7)
107 - ManOfMatchChoice (not used, type 8)
108 - MatchIntensityHomeChoice (choice based on match intensity for home team, type 10)
109 - MatchIntensityAwayChoice (choice based on match intensity for away team, type 11)
110 - MatchIntensityChoice (choice based on average match intensity, type 12)
111 - PlayerStanceChoice (choice based on player stance: 0 - stands up, 1 - lays down, type 13)
112 - RandomChoiceNoRepeat (same as RandomChoice but avoids picking the same shot twice, type 3)
113 - PlayerFootChoice (choise based on player's preferred foot, type 9)
114 - ManagerChoise (randomly selected, but only if team controlled by human male manager, 50% probability, type 14)

Decompiled file example
1740322179333.png

Available sections in XML:
Code:
Script (root element)

ScriptEntry

Transition (fade in/out)
Shot (animation info)
Effect (audio, popups, crowd, scaling and some other effects)

Choosers:

StraightOrder (simple sequence)
RandomOrder (randomly shuffled sequence)
RandomChoice (collection with randomly selected animation)
StadiumChoice (selects depending on stadium id)
StarChoice (select depending on player id)
DayNightChoice (select depending on day/night)
HomeAwayChoice (select depending on home/away team)
ManOfMatchChoice
MatchIntensityHomeChoice (choice based on match intensity for home team)
MatchIntensityAwayChoice (choice based on match intensity for away team)
MatchIntensityChoice (choice based on average match intensity)
PlayerStanceChoice (choice based on player stance: 0 - stands up, 1 - lays down)
RandomChoiceNoRepeat (same as RandomChoice but avoids picking the same shot twice)
PlayerFootChoice (choise based on player's preferred foot)
There are also few undocumented chooser types, they are written in such format:
Code:
Chooser_X
Where X is a chooser ID.

Effect types
Code:
AUDIO (plays an audio file)
POPUP (displays a popup)
CROWD (crowd noise?)
SCALING (enables/disables scaling hack for fifa 07, make players fat or thin)
ACTION (related to substitutions)
SPECIAL
There are also few undocumented effect types, they are written in such format:
Code:
EFFECT_X
Where X is an effect ID.

 
Last edited:
at later fifas (FIFA 11 - 16 etc) u also have "data/nis/scripts.bin" :
but i think it is different if i checked at first sight...

there are no string names,
(but there is a "data/nis/nisnames.bin" file with names)
 
at later fifas (FIFA 11 - 16 etc) u also have "data/nis/scripts.bin" :
but i think it is different if i checked at first sight...

there are no string names,
(but there is a "data/nis/nisnames.bin" file with names)
Could be related. The "nis" word is also used in FIFA 07/08 in the context of scripts.
 
script.bin stores information about in-game cinematics. I'm working on a tool which will allow to edit this file easily.

With script.bin editing it's possible to add new cinematics into the game. My idea is to add cinematics from Champions League and Euro games, where such animations, as trophy holding, warming-up, and some other were present.
View attachment 80303 View attachment 80304 View attachment 80305 View attachment 80306

script.bin format
Code:
uint16 version (4)
uint16 numEntries (max = 256)
uint16 numStrings
uint16 padding (0)
--entries--
#for numEntries
uint16 entryNameIndex
uint16 entryIndex
uint16 entryType
uint16 entryVariation
uint16 entryNumChildSections
uint16 childSectionsSize ( = entryNumChildSections * 12)
--entry child sections--
#for entryNumChildSections
uint32 sectionType (0,1,10 - info, 100,102,103,104,108,110,111,113,114 - section containers)
#if sectionType = 0 (used only once in "Manager1" script entry)
uint16 sectionParam1 (0)
uint16 sectionParam2 (0)
uint16 sectionParam3 (1)
uint16 sectionParam4 (0)
#elseif sectionType = 1 (animation info)
uint16 sectionAnimNameIndex
uint16 sectionStartTime
uint16 sectionEndTime
uint16 sectionPriority
#elseif sectionType = 10 (camera info)
uint16 sectionParam1 (0,1)
uint16 sectionParam2 (6,20)
uint16 sectionParam3 (0,250)
uint16 sectionParam4 (0)
#else (sections container)
uint32 sectionPriority
uint32 sectionNumChildSections
#endif
#endfor
#endfor
--strings--
#for numStrings
string name (null-terminated)
#endfor

Section types
Code:
0 - unknown, used only once in "Manager1" script entry
1 - animation info
10 - camera info
100 - simple sequence, type 0
101 - randomly shuffled sequence (not used), type 1
102 - collection with randomly selected animation (with priorities), type 2
103 - stadium (selects the block with id of current stadium), type 4
104 - goal celebration, type 5
105 - unknown, rain weather check (not used), type 6
106 - unknown, team side check (not used), type 7
107 - unknown (not used), type 8
108 - unknown, match intensity check, type 10
109 - unknown, match intensity check (not used), type 11
110 - unknown, match intensity check, type 12
111 - unknown, type 13
112 - unknown (not used), type 3
113 - unknown, player preferred foot check, type 9
114 - manager animation: only human team, only male manager, 50% probability, type 14

Decompiled file example
View attachment 80308

Tool progress:
Decompiling - 100%
Compiling - 5% (work in progress)
Will they work for FIFA Manager games?
 
Hope this one works with mobile version of FIFA.
I'm trying to edit animations in FIFA 14 android version(via AM 10)
but not successful yet.

Amazing work bro!! I'm really into it
 
@Dmitri fantastic! , I'm eager to try this script editor. Once again thank you for your effort. Hope recompiling works soon .

Please update us when the editor is fully functional, as I'm about to dig into this tool , haha..just a tad excited , anyways super cool work!!
 
at later fifas (FIFA 11 - 16 etc) u also have "data/nis/scripts.bin" :
but i think it is different if i checked at first sight...

there are no string names,
(but there is a "data/nis/nisnames.bin" file with names)
Yes, I noticed too.. when I tried, the decompiler didn't work properly for such script.bin files, coming under nis.Just a string name alone was coming in the decompiled xml
 
Tools for editing script.bin file

Donwload:
https://www.mediafire.com/file/wfhwshbwwprcj6e/ScriptBinTools.zip/file

With script.bin editing it's possible to add new cinematics into the game.
View attachment 80303 View attachment 80304 View attachment 80305 View attachment 80306

Code:
Compiler and Decompiler for script.bin file
-------------------------------------------
version 1.0 by Dmitri

Decompiler: decompiles .bin file to .xml file
Compiler: compiles .xml file to .bin

Command-line options (all are optional):
-i <path>  - input file or folder. When not specified - current folder is used
-o <path>  - output file or folder. When not specified - current folder is used
-d         - write decompressed file (works only when input file is compressed)
-c         - compress compiled file
-oldFormat - this option is needed for old games, check the table below

Works with:
-------------------------------------------
Game                           | Old format
-------------------------------------------
FIFA Manager 09 - 14           |
FIFA 06 - 10                   |
EURO 2008                      |
Champions League 2006/2007     |
World Cup 2006                 |
FIFA Manager 07 - 08           | +
Total Club Manager 2004 - 2005 | +
FIFA 2004 - 2005               | +
EURO 2004                      | +
Champions League 2004/2005     | +

Code:
uint16 version (4)
uint16 numEntries (max = 256)
uint16 numStrings
uint16 padding (0)
--entries--
#for numEntries
uint16 entryNameIndex
uint16 entryIndex
uint16 entryType
uint16 entryVariation
uint16 entryNumChildSections // only first level childs
uint16 allChildSectionsSize ( = totalNumChilds * 12) // including all childs (childs of childs also)
--entry child sections--
#for entryNumChildSections
uint32 sectionType (0,1,10 - info, 100,102,103,104,108,110,111,113,114 - section containers)
#if sectionType = 0 (used only once in "Manager1" script entry)
uint16 sectionParam1 (0)
uint16 sectionParam2 (0)
uint16 sectionParam3 (1)
uint16 sectionParam4 (0)
#elseif sectionType = 1 (animation info)
uint16 sectionAnimNameIndex
uint16 sectionStartTime
uint16 sectionEndTime
uint16 sectionPriority
#elseif sectionType = 10 (camera info)
uint16 sectionParam1 (0,1)
uint16 sectionParam2 (6,20)
uint16 sectionParam3 (0,250)
uint16 sectionParam4 (0)
#else (sections container)
uint32 sectionPriority
uint32 sectionNumChildSections
#endif
#endfor
#endfor
--strings--
#for numStrings
string name (null-terminated)
#endfor

Code:
0 - unknown, used only once in "Manager1" script entry
1 - animation info
10 - camera info
100 - simple sequence, type 0
101 - randomly shuffled sequence (not used), type 1
102 - collection with randomly selected animation (with priorities), type 2
103 - stadium (selects the block with id of current stadium), type 4
104 - goal celebration, type 5
105 - unknown, rain weather check (not used), type 6
106 - unknown, team side check (not used), type 7
107 - unknown (not used), type 8
108 - unknown, match intensity check, type 10
109 - unknown, match intensity check (not used), type 11
110 - unknown, match intensity check, type 12
111 - unknown, type 13
112 - unknown (not used), type 3
113 - unknown, player preferred foot check, type 9
114 - manager animation: only human team, only male manager, 50% probability, type 14

Decompiled file example
View attachment 80308
Thank you! It would be great to decrypt the "attribdb.bin" and "attribdb.vlt" files (I saw them in PC games from FIFA 11 to FIFA 16 and in PS3/X360 games also). I think it contains values related to the gameplay. This will be a revolution
 

Attachments

  • FIFA 11 PC attribdb.zip
    365.4 KB · Views: 231
  • UEFA 06-07 XBOX360 attribdb.zip
    821.8 KB · Views: 237
Version 2.0 is available.
Improved readability of generated .xml file. Replaced "Blocks" with better names.
1740321604088.png

Available sections in XML:
Code:
Script (root element)

ScriptEntry

Transition (fade in/out)
Shot (animation info)
Effect (audio, popups, crowd, scaling and some other effects)

Choosers:

StraightOrder (simple sequence)
RandomOrder (randomly shuffled sequence)
RandomChoice (collection with randomly selected animation)
StadiumChoice (selects depending on stadium id)
StarChoice (select depending on player id)
DayNightChoice (select depending on day/night)
HomeAwayChoice (select depending on home/away team)
ManOfMatchChoice
MatchIntensityHomeChoice (choice based on match intensity for home team)
MatchIntensityAwayChoice (choice based on match intensity for away team)
MatchIntensityChoice (choice based on average match intensity)
PlayerStanceChoice (choice based on player stance: 0 - stands up, 1 - lays down)
RandomChoiceNoRepeat (same as RandomChoice but avoids picking the same shot twice)
PlayerFootChoice (choise based on player's preferred foot)
There are also few undocumented chooser types, they are written in such format:
Code:
Chooser_X
Where X is a chooser ID.

Effect types
Code:
AUDIO (plays an audio file)
POPUP (displays a popup)
CROWD (crowd noise?)
SCALING (enables/disables scaling hack for fifa 07, make players fat or thin)
ACTION (related to substitutions)
SPECIAL
There are also few undocumented effect types, they are written in such format:
Code:
EFFECT_X
Where X is an effect ID.
 
Last edited:
How it works: example
XML:
<ScriptEntry EntryName="07_End_Game_Lose_Small" EntryType="4" EntrySubType="3">
    <Chooser Type="StraightOrder" Param="1">
        <Effect Type="POPUP" Param1="44" Param2="360" Param3="10"/>
        <Chooser Type="RandomChoice" Param="1">
            <Shot Name="07_Lose_Small_Focus_01" StartTime="160" EndTime="400" Param="1"/>
            <Shot Name="07_Lose_Small_Focus_02" StartTime="270" EndTime="520" Param="1"/>
            <Shot Name="07_Lose_Small_Focus_03" StartTime="140" EndTime="360" Param="1"/>
            <Shot Name="07_Lose_Small_Focus_04" StartTime="0" EndTime="220" Param="1"/>
            <Shot Name="07_Lose_Small_Focus_05" StartTime="430" EndTime="630" Param="1"/>
        </Chooser>
        <Chooser Type="StadiumChoice" Param="1">
            <Chooser Type="StraightOrder" Param="8">
                <Shot Name="07_Endwide_Alpi_01" StartTime="0" EndTime="215" Param="1"/>
            </Chooser>
            <Chooser Type="StraightOrder" Param="102">
                <Shot Name="07_Endwide_Amsterdam_01" StartTime="0" EndTime="215" Param="1"/>
            </Chooser>
            <Chooser Type="StraightOrder" Param="13">
                <Shot Name="07_Endwide_Anfield_01" StartTime="0" EndTime="214" Param="1"/>
            </Chooser>
            <Chooser Type="StraightOrder" Param="104">
                <Shot Name="07_Endwide_Stamfordbridge_01" StartTime="0" EndTime="215" Param="1"/>
            </Chooser>
            <Chooser Type="StraightOrder" Param="111">
                <Shot Name="07_Endwide_Genericolympic_01" StartTime="0" EndTime="215" Param="1"/>
            </Chooser>
            <Chooser Type="StraightOrder" Param="103">
                <Shot Name="07_Endwide_Daegu_01" StartTime="0" EndTime="215" Param="1"/>
            </Chooser>
            <Chooser Type="StraightOrder" Param="155">
                <Shot Name="07_Endwide_Stamfordbridge_01" StartTime="0" EndTime="215" Param="1"/>
            </Chooser>
            <Chooser Type="StraightOrder" Param="1">
                <Shot Name="07_Endwide_Oldtrafford_01" StartTime="0" EndTime="215" Param="1"/>
            </Chooser>
            <Chooser Type="StraightOrder" Param="28">
                <Shot Name="07_Endwide_Stamfordbridge_01" StartTime="0" EndTime="215" Param="1"/>
            </Chooser>
            <Chooser Type="StraightOrder" Param="2">
                <Shot Name="07_Endwide_Bernabeau_01" StartTime="0" EndTime="215" Param="1"/>
            </Chooser>
            <Chooser Type="StraightOrder" Param="4">
                <Shot Name="07_Endwide_Gerland_01" StartTime="0" EndTime="215" Param="1"/>
            </Chooser>
            <Chooser Type="StraightOrder" Param="5">
                <Shot Name="07_Endwide_Sansiro_01" StartTime="0" EndTime="215" Param="1"/>
            </Chooser>
            <Chooser Type="StraightOrder" Param="6">
                <Shot Name="07_Endwide_Campnou_01" StartTime="0" EndTime="215" Param="1"/>
            </Chooser>
            <Chooser Type="StraightOrder" Param="7">
                <Shot Name="07_Endwide_Highbury_01" StartTime="0" EndTime="215" Param="1"/>
            </Chooser>
            <!-- ... !--/>
        </Chooser>
        <Transition Type="2" Length="60" Param="1" Fill="0"/>
    </Chooser>
</ScriptEntry>
XML:
<ScriptEntry EntryName="07_End_Game_Lose_Small" EntryType="4" EntrySubType="3">
The entry has type 4 and subtype 3. These types are important for the game when it decides which entry to lauch. Based on the name ("07_End_Game_Lose_Small"), we can guess this scene is launched when the team loses the match.
The entry consists of subsections:
XML:
    <Chooser Type="StraightOrder" Param="1">
"StraightOrder" chooser will chose all its child sections, in the specified order.
XML:
        <Effect Type="POPUP" Param1="44" Param2="360" Param3="10"/>
A popup with ID 44 is displayed (for 360 ms maybe)
XML:
        <Chooser Type="RandomChoice" Param="1">
            <Shot Name="07_Lose_Small_Focus_01" StartTime="160" EndTime="400" Param="1"/>
            <Shot Name="07_Lose_Small_Focus_02" StartTime="270" EndTime="520" Param="1"/>
            <Shot Name="07_Lose_Small_Focus_03" StartTime="140" EndTime="360" Param="1"/>
            <Shot Name="07_Lose_Small_Focus_04" StartTime="0" EndTime="220" Param="1"/>
            <Shot Name="07_Lose_Small_Focus_05" StartTime="430" EndTime="630" Param="1"/>
        </Chooser>
An animation file is randomly selected ("RandomChoice" chooser) from following files:
Code:
07_Lose_Small_Focus_01
07_Lose_Small_Focus_02
07_Lose_Small_Focus_03
07_Lose_Small_Focus_04
07_Lose_Small_Focus_05
XML:
        <Chooser Type="StadiumChoice" Param="1">
            <Chooser Type="StraightOrder" Param="8">
                <Shot Name="07_Endwide_Alpi_01" StartTime="0" EndTime="215" Param="1"/>
            </Chooser>
            <Chooser Type="StraightOrder" Param="102">
                <Shot Name="07_Endwide_Amsterdam_01" StartTime="0" EndTime="215" Param="1"/>
            </Chooser>
            <Chooser Type="StraightOrder" Param="13">
                <Shot Name="07_Endwide_Anfield_01" StartTime="0" EndTime="214" Param="1"/>
            </Chooser>
            <!-- ... !--/>
        </Chooser>
"StadiumChoice" will chose the child section with current stadium ID (stadium IDs of child sections are stored in Param attribute). For example, if current stadium ID is 102, this child section will be choosed:
XML:
            <Chooser Type="StraightOrder" Param="102">
                <Shot Name="07_Endwide_Amsterdam_01" StartTime="0" EndTime="215" Param="1"/>
            </Chooser>
XML:
<Transition Type="2" Length="60" Param="1" Fill="0"/>
Transition with type 2 and length 60 ms (1 second). Note that transition types are different in each game.
 
Back
Top