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
MAFIA III likes/dislikes
Last post by Mr Robville in Mafia 3 Game on Mar 29, 2017 at 07:52:59

Post: 2
Mafia I. Trolleybus mod
Last post by madbob01 in Mafia Mods on Mar 28, 2017 at 18:10:45

Post: 3
Rotation via script
Last post by rays in Ask a Modder - Modding on Mar 28, 2017 at 16:22:13

Post: 4
Motorfield City Mod
Last post by T3mas1 in Mafia Mods on Mar 26, 2017 at 21:55:32

Post: 5
Orginal Cars - little refreshment project
Last post by Zsolti in Mafia Mods on Mar 25, 2017 at 17:46:20

Post: 6
Real Car Facing MOD v1.6
Last post by Zsolti in Mafia Mods on Mar 25, 2017 at 17:32:45

Post: 7
M Editor
Last post by KrumpolcPetr in Mafia Mods on Mar 22, 2017 at 21:44:57

Post: 8
Mission loading screen photos
Last post by haista__ in Mafia 1 Game on Mar 18, 2017 at 16:22:05

Post: 9
GAMMA setting
Last post by Muggy in Mafia I Help on Mar 17, 2017 at 04:21:24

Post: 10
Mafia - Happy Ending
Last post by rays in Mafia 1 Game on Mar 14, 2017 at 12:15:27

Post: 11
MAFIA: City of Woodland
Last post by Neutral in Mafia Mods on Mar 12, 2017 at 19:28:02

Post: 12
Bodyguard Mod
Last post by Ventilator in Mafia Mods on Mar 02, 2017 at 11:01:57

Post: 13
Cinematic Mafia
Last post by Welcome2Stonia in Mafia 1 Game on Feb 26, 2017 at 22:24:00

Post: 14
Mafia Pocket Edition (for Android)
Last post by Muggy in Mafia 1 Game on Feb 23, 2017 at 19:55:15

Post: 15
Is this possible as far as Mafia 3 modding goes?
Last post by gnampf in Ask a Modder - Modding on Feb 21, 2017 at 19:23:51

Post: 16
Return
Last post by Muggy in Introductions on Feb 21, 2017 at 12:59:06

Post: 17
Menju returns
Last post by menju in Introductions on Feb 20, 2017 at 11:52:32

Post: 18
Evantek
Last post by Evantek in Introductions on Feb 18, 2017 at 23:49:11

Post: 19
Matteo's Cheese Burger Modding Tips - 1 Hold the Pixels
Last post by Muggy in Modding Tutorials on Feb 18, 2017 at 18:11:08

Post: 20
building models
Last post by brokenneedlecaa76 in Modding Tutorials on Feb 18, 2017 at 14:37:02


MafiaScene.com Forums
 
Up Down

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

Last 10 Comments:
My Automobile
Secret cars city...
Chevrolet in bri...
[untitled]
Secret cars city...
[untitled]
Secret cars city...
Chevrolet in bri...
Cooooool..?
How about a bran...

Gallery Statistics:
447 pictures
10 albums
345 comments
60274 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: Cergy
• Today: 3
• Total: 4822

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

 
Since:
17th October 2003
 Shout Box
linukkis shouts:
Really? I kinda loved that one Big Grin

Shouted at: 12:05am BST on Tue 28th Mar 2017

 
Muggy shouts:
mind you the one where you have to bounce the car in time to the music is a booger as well. LOL - Laugh out Loud

Shouted at: 11:45pm BST on Mon 27th Mar 2017

 
Mr Robville shouts:
Worst mission in gaming history. Big smoke can't shoot for sh!t. Cheeky

Shouted at: 8:11am BST on Mon 27th Mar 2017

 
linukkis shouts:
Haha, never gets old Big Grin

Shouted at: 4:19pm BST on Sun 26th Mar 2017

 
lostinmafia_heav... shouts:
Playing that right now and can't pass it Smile

Shouted at: 2:14pm GMT on Fri 24th Mar 2017

 
AsaSK shouts:
You only had to follow the damn train, CJ!

Shouted at: 5:19am GMT on Fri 24th Mar 2017

 
menju shouts:
Thank you! I have some more screenshots with fresh advertisements ready Smile

Shouted at: 8:20am GMT on Thu 9th Feb 2017

 
Muggy shouts:
approved Smile

Shouted at: 8:50pm GMT on Sat 4th Feb 2017

 
menju shouts:
Thank you Muggy! I uploaded some new screenshots, have a look Wink

Shouted at: 8:28pm GMT on Sat 4th Feb 2017

 
Muggy shouts:
Hey Marek, long time man - good to see ya again. Smile

Shouted at: 12:36am GMT on Fri 3rd Feb 2017

 
menju shouts:
Hi guys! I hope to come more often now... Smile

Shouted at: 10:57pm GMT on Thu 2nd Feb 2017

 
AsaSK shouts:
Happy January 31st Wink

Shouted at: 11:35pm GMT on Tue 31st Jan 2017

 
manitas shouts:
Happy new year

Shouted at: 11:34pm GMT on Sun 1st Jan 2017

 
T3mas1 shouts:
Happy new year!

Shouted at: 2:44am GMT on Sun 1st Jan 2017

 
Muggy shouts:
Happy New Year everyone.

Shouted at: 2:37am GMT on Sun 1st Jan 2017

 
ZaKlaus shouts:
Happy new year !

Shouted at: 4:02pm GMT on Sat 31st Dec 2016

 
Mr Robville shouts:
Yeah, I'll probably consider M3 a game to just pick up every once in a while.

Shouted at: 5:30pm GMT on Mon 28th Nov 2016

 
Muggy shouts:
I stopped playing M3 because I got bored with it.. LOL - Laugh out Loud Fo4 was beckoning and I just couldn't resist.

Shouted at: 8:12pm GMT on Sun 27th Nov 2016

 
Mr Robville shouts:
I'm currently doing a playtrough of M1, and will do M2 afterwards. I think by the time I'm done it's around 10,- then I'll get it.

Shouted at: 9:56am GMT on Sun 27th Nov 2016

 
Muggy shouts:
very wise Mr R.

Shouted at: 8:47pm GMT on Sat 26th Nov 2016

 
- History -


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

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