MISSION.INI
Files
Fil_MISSION.INI.html

Name

MISSION.INI - contains objects and actions for all missions

Location

gtadata\mission.ini

Availability

all GTA Demos, GTA Full Version

Description

This file contains the "logic" of the missions. If GTA was a pinball table, this would be the underside. It defines the works. Contained in this file are objects and actions that set them in motion when the player triggers them. A little programming experience helps when trying to understand the actions.

MISSION.INI Structure - Overall Structure of MISSION.INI

Mission ID Number and Config Statement - first part of a mission, contains general information

Object Code Section - second part of a mission, contains objects

Program Statement Section - third part of a mission, contains actions

Usage

MISSION.INI is a text file that can be modified by any editor that can handle large files. A search function comes in handy.

MISSION.INI Structure

This file contains information for several missions in sequence:

<Mission>
<Mission>
<Mission>
....

Every <Mission> consists of several parts:

[ID Number]
<Mission Config Statement>
<Object Codes>
-1
<Program Statements>
-1

After the final –1 follows the ID Number of the next mission.

Mission ID Number and Config Statement

Every Mission has a unique ID number. The first mission, "gangsta bang", has the ID [1] . The multiplayer missions have four-digit ids such as [1001].

The Mission Config Statement looks like this:

description, p1, map, p2,
p3 p4 p5 p6 p7 p8

Example:

Easy Liberty City NEW,  22, nyc.cmp, 0, 
100 1 1 1 1 0 

description is not used by the game but helps you find your way in MISSION.INI.
map is the name of the city map file that this mission uses; I will talk about these files below.
p7 indicates whether the mission will have police: 1=police, 0=no police
I do not know the meaning of p1-p6 and p8 yet.

See also: List of ID Numbers and Config Statements from the full game

Object Codes

This sections contains a list of objects that are used by a mission. Most are placed on the map when a mission starts (e.g. PARKED=parked car, POWERUP=crate with goodie). Some objects remain invisible and fulfill some other function (e.g. CARTRIGGER=triggers an action when a car is entered, MISSION_COUNTER=holds the number of completed jobs). These objects can be manipulated by program statements in the next section or start a program routine in that section when the player performs some action.

Object Codes look like this:

lineno (x,y,z) keyword p1 p2 ...
lineno 1 (x,y,z) keyword p1 p2 ...

Example:

0 1 (108,108,4) TELEPHONE 0 768 
262 (207,224,4) TRIGGER 4080 0 


lineno
All Objects are referred to by their unique number (range 0-32767). You may skip some numbers ( 1 2 4 5). I do not know if you can place them out of order (5 7 6).

1

Some keywords have it always, some never, and some sometimes (e.g. POWERUP has it 42 times, but appears 2459 times without it). I don't know why it's there.
(x,y,z)
Coarse 8-bit [(0,0,0) to (255,255,5)] or fine 14-bit [(0,0,0) to (16383,16383,320)] coordinates of the object.
keyword
One of 72 keywords that define the type of object.
p1 p2 ...
Depemding on the keyword, 2-5 parameters that define the object more closely.


See also: Object Codes Overview
, Coordinates

Program Statements

GTA responds to a players actions with programmed responses. Most often they are triggered by player when he passes the location of TRIGGER objects. Actions may alter the state of game objects and player attributes (e.g. DROP_WANTED_LEVEL ), display messages and advance the missions.

Program Statements look like this:

lineno keyword p1 p2 p3 p4 p5

Examples:

105 POWERUP_ON 528 0 0 0 0 
205 P_BRIEF_TIMED 0 0 0 18 1500 
210 ANSWER 72 0 420 10 2500 

lineno
All Statements are referred to by their unique number (range 0-32767). You may skip some numbers ( 1 2 4 5). I do not know if you can place them out of order (5 7 6).
keyword
One of 150 keywords that define the type of action.
p1 ... p5
5 parameters that define the action more closely, including object linenumbers, program statement linenumbers to jump to, timer intervals, or numbers of messages to display. Unused parameters are set to 0.


See also: Program Statements Overview

Notes

Information contributed by Michael Mendelsohn.

Bugs

It is unknown whether additional missions placed in MISSION.INI are acccessible from the game.

MISSION.INI

Last change: 27 Dez 1997

unofficial GTA Reference