Main Menu

Mafia I General:
The Story
The Characters
The City
The Missions
The Cars
The Secret Cars
The Music

Mafia I Tips & Tutorials:
Game Tips
Easter Eggs
Freeride Extreme Guide
Car Model Names List
Car Top Speed List
Car Photo Gallery

Member List
Private Messaging
Hall of Fame

Contact Us
Last 20 Forum Posts:
Post: 1
The Mafioso Mod
Last post by AMadeMan in Mafia Mods on Jul 18, 2018 at 15:42:38

Post: 2
Sector editing
Last post by AsaSK in Ask a Modder - Modding on Jul 17, 2018 at 21:09:33

Post: 3
Mazda RX-7 VeilSide Fortune (Tokyo Drift)
Last post by brokenneedlecaa76 in Mafia Mods on Jul 17, 2018 at 19:25:54

Post: 4
M Editor
Last post by brokenneedlecaa76 in Mafia Mods on Jul 17, 2018 at 19:21:50

Post: 5
What makes glass breakable?
Last post by flovivi in Ask a Modder - Modding on Jul 16, 2018 at 23:45:31

Post: 6
Mafia LTSR Mod Soviet Lithuania
Last post by AMadeMan in Mafia Mods on Jul 16, 2018 at 21:25:21

Post: 7
Altering Pedestrians
Last post by brokenneedlecaa76 in Ask a Modder - Modding on Jul 15, 2018 at 00:08:56

Post: 8
Changing race direction
Last post by brokenneedlecaa76 in Modding Tutorials on Jul 14, 2018 at 23:21:41

Post: 9
how to make map for countryside
Last post by brokenneedlecaa76 in Mafia Mods on Jul 14, 2018 at 23:09:09

Post: 10
Mafia 2: Modding Tookit (Very Experimental)
Last post by brokenneedlecaa76 in Mafia Mods on Jul 14, 2018 at 23:02:59

Post: 11
Mafia Freeride-Expansion Country+city
Last post by brokenneedlecaa76 in Mafia Mods on Jul 14, 2018 at 22:58:51

Post: 12
Looking for latest 3DS Max export script
Last post by AsaSK in Ask a Modder - Tools on Jul 14, 2018 at 14:18:18

Post: 13
Show Us Yer Goods
Last post by Muggy in Off-Topic on Jul 09, 2018 at 12:12:33

Post: 14
Mafia 2 - Is it possible to pass the tunnel without stopping
Last post by AMadeMan in Mafia 2 Game on Jul 08, 2018 at 21:04:26

Post: 15
What are you listening to...The Return
Last post by Muggy in Off-Topic on Jul 05, 2018 at 00:19:21

Post: 16
MAFIA 2 - a way to import modded objects into the scene
Last post by T3mas1 in Mafia Mods on Jul 04, 2018 at 20:13:04

Post: 17
The Titanic Mod
Last post by AMadeMan in Mafia Mods on Jul 01, 2018 at 20:42:31

Post: 18
World's first proper custom Mafia character
Last post by ASM. in Mafia Mods on Jul 01, 2018 at 18:17:39

Post: 19
MafiaCon v1.2 Help
Last post by ASM. in Ask a Modder - Tools on Jul 01, 2018 at 00:13:21

Post: 20
Did 2K Czech buy 3D Assets for Mafia2?
Last post by flovivi in Mafia 2 Game on Jun 30, 2018 at 20:25:56 Forums
Up Down

Posts since last visit
View your posts
Unanswered posts
arrow Last 5 Pictures:
Up Down

Last 10 Comments:
Farfalle et toma...
Chick n Spicy Ri...
Beef Stew with B...
Beef Stew with B...
Beef Stew with B...
Mafia PC CD-ROM ...
Mafia PC CD-ROM ...

Gallery Statistics:
519 pictures
10 albums
 Basic scripting tutorial  
This tutorial lists the functions and usages of some of the more common scripting terms. It also provides a do-it-yourself guide which uses all of these functions.

Part 1: The Terms
These are the common scripting terms you will learn to use in this tutorial.

findactor #, "name"
Most of your scripts will revolve around actors. Actors can be anything in the game world. For the purposes of this tutorial we will choose a trash can as an actor.

Open Capone, and load the mission entitled FREERIDE. Pick your favorite trash can on the street. Once you've picked on out, hold down Ctrl and left-click the object to select it. In the right hand corner of the screen
there will be several dropdown menus. Click the one that says "Description." The name here is the unique name of your actor. Write this into your findactor script.

I chose the trash can called "popel." "Popel" is located behind Lucas Bertone's. My findactor script now looks like this:

findactor #, "popel"

Now choose a number for your trash can. It is not recommended to use 0 an actor number. I chose 2 as my number. Now my script looks like this:

findactor 2, "popel"

*From now on I can refer to this actor as 2 in all my other scripts.

dim_act #
This determines the number of actors allowed in your script. It does not have to be exact. It must be equal or larger than the total number of actors you will actually use.
To ensure that you won't go over the allowed number, put this in your script:

dim_act 99

*This allows 99 actors, which you probably will not be using.

dim_flt #
This allows for the total number of variables in your script. This is for more advanced modders, and beginners need not bother with it. It operates the same way as dim_act, however, so you might as well put it in your script.

dim_flt 99

*Variables are very complex, and will not be covered in this tutorial, as I myself do not fully understand them.

dim_frm #
This sets the number of frames in your script. Again, this works the same way as the first dim_ scripts. Apply it in the same way.

dim_frm #

*You may be wondering what frames are. You've just determined how many you will have, but you do not know what they do yet. They are covered below.

findframe #, "name"
This works in essentially the same way as the findactor script. Frames are measures of location in Mafia, and they determine where an object will spawn. In this tutorial we will learn how to spawn new objects, so this is a useful

In order to set your frame's location, you must first choose an object from the Capone map. I chose a yellow steel drum behind Lucas Bertone's. Its name is "xbarel 25." "Xbarel 25" will set the location for my frame, but it needs a number.

Since the number 2 is already taken, I will use 3. Now my script looks like this:

findframe 3, "xbarel 25"

*You should write down the names and numbers of all your actors and frames if you intend to use a lot of them.

commandblock #
This sets whether several commands can be processed at the same time, or must go frame by frame.

It toggles between On and Off. Setting the number as 1 turns it on. 0 turns it off.

findnearactor xx, yy, zz
xx is the actor that the command searches from. yy is the new actor's ID. zz is the type of actor it will be. The list of actors that can be chosen are as follows:

Player, Enemy, Car, Detector, Door, Railway, Box, Bottle, Traffic_person, Traffic_car, Bridge, Dog, Airplane, Turnout, Pumper, Race camera

I do not know what some of these actors are. I don't know:

Detector, Turnout, Race camera

Let's say you want to spawn a new pedestrian, and you want the pedestrian to be near "popel," the trash can behind Lucas'. xx would equal 1, because 1 is the number assigned to "popel." yy would be a number of your choosing. For my new actor, I've chosen 3. For zz simply fill in the type of actor you want from the list. I want a dog, so I'll choose Dog. Now my script looks like this:

findnearactor 1, 4, Dog

*Now you're halfway there. You've selected what type of actor you want, but you don't have it yet. The next command covers that.

actor_duplicate xx, yy, zz
This duplicates the actor xx and makes the duplicate number yy. zz must be set to 0 or the new actor will be frozen.

Since I picked a Dog actor and named it 4, I'll duplicate 4 and make the duplicate named 5. Now my script looks like this:

actor_duplicate 3, 4, 0

*Now I have a dog behind Lucas Bertone's! From now on the new actor will be referred to as its duplicate number. The actor it is copied from is now useless.

actor_setplacement xx, yy
This sets the frame (yy) that an actor (xx) will be in. I want my dog near the yellow steel drum behind Lucas, which is named "xbarel 25." Since I determined that the frame around "xbarel 25" is 3, I'll place my dog (5) by the drum (3). Now my script looks like this:

actor_setplacement 5, 3

*My dog is now waiting behind Lucas Bertone's, and near the yellow steel drum.

getactiveplayer #
This is a simple one. The # is the number you associate with Tommy. This is why I said not to name any other actors 0. I want Tommy to be 0. It's very simple. Now my script looks like this:

getactiveplayer 0

human_changemodel xx, "yy"
xx is the actor whose model is being changed, and "yy" is the model xx is being changed to. I want Tommy to change into a hooligan when the script is initiated, so my "yy" is "Hoolig02.i3d". To choose a model, find the .4ds file you like in the Models folder (after you've extracted it). Then, just change the .4ds to .i3d, and you've got your model. Now my script looks like this:

human_changemodel 0, "Hoolig02.i3d"

*Remember, 0 is the number assigned to Tommy by getactiveplayer. For the player ID you do not need a findactor script.

human_talk xx, ######, zz
This makes a character talk by playing a sound file from the game's archives. xx is the ID of an actor. ###### is a sound file's 6 digit number. zz is not needed. I want Tommy to say "OK, I'll do it," when the script starts. The sound ID for that phrase is 14010530. The ID for the Tommy is 0. Now my script looks like this:

human_talk 0, 14010530

"OK, I'll do it."

human_addweapon ww, xx, yy, zz
ww is the actor ID in this case, not xx. I repeat, WW is the actor ID here, NOT XX. yy is the amount of ammo the gun spawns with. zz is the extra ammo. So, if I want Tommy to spawn with a Colt 1911 that has 5 shots in the clip and 3 bullets in Tommy's pocket, I'll make yy=5 and zz=3. I'll also need to know the Colt 1911's ID. The IDs for all the weapons in the game are as follows:

0- Empty hands
1- Special Action
2- Knuckleduster
3- Knife
4- Baseball Bat
5- Molotov cocktail
6- Colt Detective Special
7- S&W model 27 Magnum
8- S&W model 10 M&P
9- Colt 1911
10- Thompson 1928
11- Pump shotgun
12- Saw off shotgun
13- US Rifle M1903 Springfield
14- Mosin-Nagant 1891/30
15- Grenade
16- Key
17- Bucket
18- Flashlight
19- Documents
20- Bar
21- Papers
22- Bomb
23- Door keys
24- Safe key
25- Crowbar
26- plane ticket
27- package
28- Wooden plank
29- Bottle
30- Small Key
31- Sword
32- Dog's Head
33- Thompson 1928 no sound
34- Pump action shotgun no sound

As you can see, the Colt 1911 is number 9. Now my script looks like this:

human_addweapon 0, 9, 5, 3

I have a gun. Not bad, huh?

human_getowner xx, #
This makes the car owned by actor xx whatever number you should choose. I want the car Tommy's in to be 10. Tommy's ID is 0, as mentioned previously. Now my script looks like this:

human_getowner 0, 10

This means that whatever car Tommy is currently in is labeled as 10, not just the one he starts Free Ride in.

enemy_move_to_car xx, yy[, zz]
This makes a character move to a car. xx is the car the character moves to. Despite the script name, the character in question does not have to be an enemy. yy is the seat that the character moves to. Note: this does not mean that the character will ENTER the car, simply that he will approach the specified window. The numbers for different seating positions are as follows:

0- driver?s door
1- front passenger
2- rear left
3- rear right

zz is whether or not the character will move running or walking. The defualt is walking, but it can be made to run by entering ,run.

You'll note that this script does not require an actor ID. This is because this command automatically detects what actor's script this is. I want this to happen when I approach a passenger in a taxi. I want him to walk. Now my script looks like this:

enemy_move_to_car 10, 0

*Remember that 10 is the ID of the car Tommy is currently in.

freeride_scoreadd xx
xx is the amount of money to add to your Free Ride counter. It's that simple. When I talk to my taxi passenger I want to get $10,000. Hey, if you bother to learn the script I think you deserve to cheat! Now my script looks like this:

freeride_scoreadd 10000

Bling bling!

enemy_vidim #
Toggles between on and off whether the player can see and hear his enemy. 1 is On, 0 is off. Now my script looks like this:

enemy_vidim 1

I wanna SEE my opponents!

Part 2: The Script
Now we have everything we need to compile a basic script. When we put these pieces together they should look like this:
[NOTE: Everything in brackets is there for your help, and should not be included in the actual script.]

?? [debug_me]

commandblock 1
enemy_vidim 1

dim_act 99
dim_flt 99
dim_frm 99

findframe 3, "xbarel 25"

getactiveplayer 0

human_getowner 0, 10
findactor 2, "popel"
findactor 11 <--[NOTE: Actor 11 is left blank so you can determine an actor for it later.]

//[NOTE: The slashed ensure that whatever is behind them will not be registered in the game.]
enemy_move_to_car 10, 0

human_talk 0, 14010530
human_addweapon 0, 9, 5, 3
human_changemodel 0, "Hoolig02.i3d"
freeride_scoreadd 10000

findnearactor 1, 4, Dog
actor_duplicate 3, 4, 0
actor_setplacement 5, 3

Part 3: Implementing the Script
This is the easiest part. Just copy all that script. Then open the "taxi_pas.dat" file in the Mafia Systems folder (providing, of course, that you've extracted it). You don't have the proper tool to open "taxi_pas.dat," so use notepad. Then, delete everything in the file and replace it with the script above.

This tutorial is made by Troy Zuniga.

 User Menu
User Avatar



Remember Me

Register a free account!

• Latest: thenight...
• Today: 0
• Total: 5537

• Total: 2
• Guests: 2
• Members: 0

17th October 2003
 Shout Box
Muggy shouts:
Oh well, maybe next time! Sad However credit due, England weren't totally disgraced.

Shouted at: 5:03am BST on Thu 12th Jul 2018

AsaSK shouts:
Hi ZaKlaus Smile

Shouted at: 10:38am BST on Tue 10th Jul 2018

Muggy shouts:
Not bad, thanks. Long time ZaKlaus and how are you?

Shouted at: 12:07pm BST on Mon 9th Jul 2018

ZaKlaus shouts:
Hello there. How are you guys?

Shouted at: 10:25am BST on Mon 9th Jul 2018

Muggy shouts:
LOL - Laugh out Loud

Shouted at: 3:22am BST on Sat 7th Jul 2018

AsaSK shouts:
World Cup fever = very loud drinking spaces.

Shouted at: 11:11pm BST on Fri 6th Jul 2018

Muggy shouts:
yeah! I watched the match up until the end of Extra Time; however when it came to the Penalty Shootout I couldn't watch so did something else on the old kompewter. Went back to see what was going on; in time to see JP save a penalty and Dier score his.

Shouted at: 5:51pm BST on Wed 4th Jul 2018

mammix shouts:
Incredible you actually won the penalties! Wink

Shouted at: 4:14pm BST on Wed 4th Jul 2018

Muggy shouts:
Well done England! Big Grin

Shouted at: 10:58pm BST on Tue 3rd Jul 2018

AsaSK shouts:
Any Czech speakers who can help me with a little something? Smile

Shouted at: 1:24am BST on Thu 21st Jun 2018

Muggy shouts:
just have Wink

Shouted at: 1:40pm BST on Wed 20th Jun 2018

AsaSK shouts:
Did you take a look at the latest Photo Gallery additions yet, Tim Wink

Shouted at: 9:53am BST on Wed 20th Jun 2018

Muggy shouts:
not sure yet Asa, but I see it also stars William DeMeo who was the voice actor for Paulie in Mafia CoLH. Apparently audiences love it but the so called profressional critics don't. Soimetimes if critics winge on it's actually good.

Shouted at: 11:31pm BST on Tue 19th Jun 2018

AsaSK shouts:
I think I wanted to give that a look. What do you think of the upcoming Gotti?

Shouted at: 11:04pm BST on Tue 19th Jun 2018

Muggy shouts:
Hyped to be accurate and even supposedly had collaboration from former mafioso Salvatore "Bill" Bonanno. I remember it being announced in 2006 but it failed. Short; bad missions; bad/absurd voice acting...

Shouted at: 3:56pm BST on Tue 19th Jun 2018

Muggy shouts:
Another game came to my mind which I played but did not want to finish because it was banally bad 'Made Man'

Shouted at: 3:52pm BST on Tue 19th Jun 2018

AsaSK shouts:
A couple of months ago I got a reply from William Demeo (Paulie) on Instagram Smile

Shouted at: 11:41am BST on Tue 19th Jun 2018

Muggy shouts:
We don't seem to have any new registrations for some time. Will have to find out from Chris K if there is a problem or not. :k

Shouted at: 7:35pm BST on Mon 18th Jun 2018

AsaSK shouts:
But ME was two years after Mafia! Zero excuses.

Shouted at: 1:37pm BST on Wed 13th Jun 2018

AsaSK shouts:
Kinpin was more in-depth but yeah the characters look like they've all had their faces done in with a spade LOL - Laugh out Loud

Shouted at: 1:36pm BST on Wed 13th Jun 2018

- History -

Log-in to Post a Shout
arrow Last 10 Downloads:
Up Down

Downloads statistics:
15 category's
Important Legal Notice