Mafia is a 3D action game, played in the third person. The player assumes the role of a gangster in an American city of the 1930s, and gets a chance to live through gangster's rise and fall. In a spell-binding story of human hunger for power, he will experience everything that was taking place in the underworld during this stormy period: high-speed car chases, bootlegging, assassinations, and bank robberies. We set the story in a huge, fully-functional city, created 60 vehicles to choose from and more than 20 missions filled with non-stop action. The gameplay does not end there with over 40 little and large mods available, this game is great!

Mafiascript is the unofficial term for coding in Mafia. It is a simple sequence of commands which if put together properly can create stunning results. This tutorial is compiled from other source from friends.

Posted by pauliesgrandson on Apr 4th, 2006
Intermediate Client Side Coding.

The scripts, along with other data, are located in the later portion of scene2.bin files.
I'm not sure what the official name of this scripting language may be, so I just call it all Mafia script.

The only general-purpose variables available in Mafia script are elements of the array flt[] which are able to store integers, presumably 32-bit unsigned integers. I don't know Czech, but I'm assuming that flt is the abbreviation of a Czech word that may mean variable or something similar. (I would appreciate any input on this, very much.)

Like in good ol' BASIC programs I used to write on my ATARI 400, the dimensions of flt must be defined at the beginning of the script. To define flt[], use the keyword dim_flt nn, where nn is the number of elements (flt variables) you want to allocate for usage in the script.

dim_flt 5
In this example, your script may use 5 flt[] elements to store numbers (flt[0]...flt[4]).
To assign a value to an flt[] variable, use the keyword let.
let flt[0] = 10
let flt[1] = 30
In this example, the value 10 is stored in the variable flt[0] and the value 30 in the variable flt[1].
There is no string data type.
There are no global variables, variables that persist outside of a particular script except for those that are special system variables like player health, compass, etc.

This download contains much, much information which you will definately find useful. Some of it is slightly flawed but mostly solid.

To begin scripting mods for Mafia you will need some tools, (As always.) which will depend on what kind of mod you want to make.
car adder -

car changer -

Text editor -

weapon Value Editor -

Mafiahack -

Car Value Editor -

Data Xtractor -

Zmodeler -

Capone -

BscriptView -

The rest is self explanatory. Just use Data Xtractor to extract the dta files into folders. Then use DCED or BSV to look through the original missions.

Post a comment

You are not logged in, your comment will be anonymous unless you join the community. Or sign in with your social account:

Mafia: The City of Lost Heaven
Send Message
Release date
Released 2002
Game watch
Start tracking
Related Games
Mafia: The City of Lost Heaven
Mafia: The City of Lost Heaven First Person Shooter
Related Engines
LS3D Commercial Released 2002
Related Groups
Gathering of Developers
Gathering of Developers Developer & Publisher