Main Menu
Home:
News

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

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

Members:
Member List
Private Messaging
Hall of Fame

Community:
Contact Us
 Forums
Last 20 Forum Posts:
 
Post: 1
Mod to make parking of cars happen more frequently
Last post by flovivi in Ask a Modder - Modding on Dec 10, 2018 at 10:07:08

Post: 2
Mafia Actually Really Remastered (By You, Not Yet)
Last post by AMadeMan in Mafia Mods on Dec 08, 2018 at 23:13:42

Post: 3
Mafia 2: Modding Tookit
Last post by T3mas1 in Mafia Mods on Dec 08, 2018 at 18:57:59

Post: 4
World's first proper custom Mafia character
Last post by Kamelot in Mafia Mods on Dec 08, 2018 at 18:09:53

Post: 5
MAFIA 2 - a way to import modded objects into the scene
Last post by T3mas1 in Mafia Mods on Dec 06, 2018 at 18:48:23

Post: 6
Remaster/redux/hd
Last post by AMadeMan in Mafia Mods on Dec 01, 2018 at 16:56:13

Post: 7
Taxi point
Last post by TondmiCZ in Ask a Modder - Modding on Nov 28, 2018 at 00:02:47

Post: 8
Convert .4ds to anything Blender can use ?
Last post by madmaxgamer in Ask a Modder - Modding on Nov 24, 2018 at 13:33:55

Post: 9
Mafia LTSR Mod Soviet Lithuania
Last post by AMadeMan in Mafia Mods on Nov 23, 2018 at 04:21:24

Post: 10
Mafia - Distance from the camera to the character
Last post by Reaper17 in Ask a Modder - Modding on Nov 22, 2018 at 18:26:38

Post: 11
Real Car Facing MOD v1.6
Last post by silent_gxg in Mafia Mods on Nov 22, 2018 at 15:29:12

Post: 12
Mafia Freeride-Expansion Country+city
Last post by AMadeMan in Mafia Mods on Nov 21, 2018 at 20:40:13

Post: 13
What are you listening to...The Return
Last post by Muggy in Off-Topic on Nov 19, 2018 at 10:23:24

Post: 14
Mafia pre-release screenshots (~400 screenshots!)
Last post by daviunic in Mafia 1 Game on Nov 18, 2018 at 09:29:59

Post: 15
Renegade's Mods 2018
Last post by Reaper17 in Mafia Mods on Nov 14, 2018 at 16:30:15

Post: 16
Changing race direction
Last post by Cukier in Modding Tutorials on Nov 13, 2018 at 19:38:01

Post: 17
Lost Heaven Multiplayer [CANCELLED]
Last post by Slade in Mafia Mods on Nov 13, 2018 at 15:06:05

Post: 18
You're going to need a chiropractor..
Last post by AsaSK in Mafia Mods on Nov 12, 2018 at 22:53:00

Post: 19
PS2/Xbox echo sounds
Last post by Hunter in Mafia Mods on Nov 12, 2018 at 16:21:58

Post: 20
Show Us Yer Goods
Last post by Hunter in Off-Topic on Nov 12, 2018 at 03:18:32


MafiaScene.com Forums
 
Up Down

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

Last 10 Comments:
Something in pro...
Something in pro...
Something in pro...
Something in pro...
Something in pro...
Something in pro...
behars Widescree...
behars Widescree...
Tommy demonstrat...
When Time Stoppe...

Gallery Statistics:
557 pictures
10 albums
426 comments
120682 views
 Facebook
 Basic scripting tutorial  
Introduction:
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
command.

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.

Credits
This tutorial is made by Troy Zuniga.

 User Menu
User Avatar

Username:

Password:

Remember Me

Register a free account!

Members:
• Latest: Tsigalko
• Today: 0
• Total: 5694

Online:
• Total: 2
• Guests: 1
• Members: 1
  • Muggy

 
Since:
17th October 2003
 Shout Box
AsaSK shouts:
Got an \'internal server error\' when trying to navigate to the site earlier, not sure if significant or not

Shouted at: 3:28pm GMT on Sat 1st Dec 2018

 
Muggy shouts:
anyone having problems logging in? If so I have left a message or should I say several messages on FB to Chris K.

Shouted at: 11:16pm GMT on Mon 26th Nov 2018

 
AMadeMan shouts:
5 years... damn

Shouted at: 6:49pm GMT on Sat 10th Nov 2018

 
AsaSK shouts:
It does suck. Try 5 years!

Shouted at: 5:36am GMT on Thu 8th Nov 2018

 
AMadeMan shouts:
I\'ve been having trouble with sleep myself recently. You gonna those nights sometimes.

Shouted at: 4:01pm GMT on Sat 3rd Nov 2018

 
AsaSK shouts:
Growing a bit tired of insomnia, ironically.

Shouted at: 12:06am GMT on Sat 3rd Nov 2018

 
AMadeMan shouts:
How are you doing guys? Smile

Shouted at: 10:15pm GMT on Mon 29th Oct 2018

 
AsaSK shouts:
Thanks for the suggestions!

Shouted at: 11:47pm BST on Tue 16th Oct 2018

 
mammix shouts:
mega.nz or dropbox

Shouted at: 10:00am BST on Sun 14th Oct 2018

 
AsaSK shouts:
Anyone recommend a good file hosting site?

Shouted at: 7:51pm BST on Sat 13th Oct 2018

 
Muggy shouts:
yoyo

Shouted at: 6:42pm BST on Mon 8th Oct 2018

 
AsaSK shouts:
oy

Shouted at: 3:51pm BST on Sun 7th Oct 2018

 
AMadeMan shouts:
yo

Shouted at: 11:23pm BST on Thu 4th Oct 2018

 
thedog12 shouts:
hi guys

Shouted at: 10:25pm BST on Wed 3rd Oct 2018

 
AsaSK shouts:
LOL - Laugh out Loud

Shouted at: 1:04am BST on Fri 28th Sep 2018

 
Muggy shouts:
...Oh! and make sure you use v1.1 straws - apparently the previous v1.0 had the propensity to go in reverse, causing people to suck instead of blow and ending up frog-eyed! Cheeky

Shouted at: 2:33pm BST on Thu 27th Sep 2018

 
Muggy shouts:
I think you're supposed to hold them with one hand and with the other shove a drinking straw in their backsides. Then blow very hard; that should extract their data. LOL - Laugh out Loud

Shouted at: 2:19pm BST on Thu 27th Sep 2018

 
AsaSK shouts:
How do I install frogs?

Shouted at: 12:16pm BST on Thu 27th Sep 2018

 
AsaSK shouts:
Yeah I preferred the ISIS seasons definitely, but he isn't dead in that Adam Reed promised this year the coma will get a storyline end and viewers won't be left hanging..

Shouted at: 10:33am BST on Sat 22nd Sep 2018

 
Hunter shouts:
Archer was great...but I agree that it kinda got lost at some point. Maybe when they left New York. Now he's dead so, anticlimactic end...

Shouted at: 8:39am BST on Sat 22nd Sep 2018

 
- History -


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

Downloads statistics:
533 downloads
15 category's
Important Legal Notice
Design Mafiascene.com.