Difference between revisions of "CARS (IDE Section)"

From GTAMods Wiki
Jump to navigation Jump to search
(to prevent double "IDE Section")
(Vice City)
 
(49 intermediate revisions by 13 users not shown)
Line 1: Line 1:
 
{{Research}}
 
{{Research}}
 +
{{This|CARS redirects here. For the IPL section see [[CARS (IPL Section)]]}}
 
{{IdeSection
 
{{IdeSection
| name        = CARS
+
|name        = CARS
| game        = [[GTA III]], [[GTA VC]], [[GTA SA]], [[GTA IV]]
+
|game        = {{Icon|t}} {{Icon|4}}
| description = Used to define vehicles
+
|description = Used to define vehicles
 
}}
 
}}
'''CARS''' is a section in the [[item definition]] file. It is used to define vehicles and some their properties.
+
'''CARS''' is a section in the [[item definition]] file in [[GTA III]], [[Vice City]], [[San Andreas]], and [[GTA IV]]. It is used to define vehicles and some their properties.
  
==GTA III==
+
== Format ==
===Format===
+
Between GTA III and San Andreas, the class of a vehicle helps determine where it should spawn, with the help of [[hardcoded]] features and the [[script]]. The ''ignore'' class is special for its ability to prevent vehicles assigned to that class from spawning as a regular NPC vehicle in traffic. Peds can be assigned to drive classes of vehicle in the [[PEDS]] section of the IDE file.
This section is mainly used in the <code>default.ide</code> file. Each type of vehicle has its own format.
 
  
''Car''
+
=== GTA III ===
ID, ModelName, TxdName, Type, HandlingID, GameName, Class, Frequency, Level, Comprules, WheelID, WheelScale
+
This section is mainly used in the <code>{{Dir|3}}\data\default.ide</code> file. Each type of vehicle has its own format.
 
+
{{Pre|
''Boat and Train''
+
cars
ID, ModelName, TxdName, Type, HandlingID, GameName, Class, Frequency, Level, Comprules
+
# type car
 
+
Id, ModelName, TxdName, Type, HandlingId, GameName, Class, Frq, Lvl, Comprules, WheelModelId, WheelScale
''Plane''
+
# type boat
ID, ModelName, TxdName, Type, HandlingID, GameName, Class, Frequency, Level, Comprules, LODModel
+
Id, ModelName, TxdName, Type, HandlingId, GameName, Class, Frq, Lvl, Comprules
 +
# type train
 +
Id, ModelName, TxdName, Type, HandlingId, GameName, Class, Frq, Lvl, Comprules
 +
# type heli
 +
Id, ModelName, TxdName, Type, HandlingId, GameName, Class, Frq, Lvl, Comprules
 +
# type plane
 +
Id, ModelName, TxdName, Type, HandlingId, GameName, Class, Frq, Lvl, Comprules, LODModel
 +
end
 +
}}
  
{|{{Prettytable}} width="100%"
+
{|class="wikitable center-col-1 center-col-2" width="100%"
!width="250px"|Identifier
+
!style="width: 3em;"|{{Icon|3}}
 +
!style="width: 12em;"|Identifier
 +
!style="width: 6em;" |Type
 
!Description
 
!Description
 
|-
 
|-
|<center>ID</center>||Unique model ID
+
|A ||Id ||integer ||Unique object ID.
 +
|-
 +
|B ||ModelName ||string ||Name of the <code>.dff</code> [[model file]] without extension.
 
|-
 
|-
|<center>ModelName</center>||Name of the .dff [[model file]], without extension
+
|C ||TxdName ||string ||Name of the <code>.txd</code> [[texture dictionary]] without extension.
 
|-
 
|-
|<center>TxdName</center>||Name of the .txd [[texture dictionary]], without extension
+
|D ||Type ||string ||Type of vehicle, which includes ''car'', ''boat'', ''train'', ''heli'' (NPC helicopter), ''plane'' (NPC plane), and ''bike''.<br>This data determines the class used to instantiate the vehicle and changing it may crash the game. The ''bike'' type is partially defined in the game code but cannot be used.
 
|-
 
|-
|<center>Type</center>||Type of vehicle, which includes ''car'', ''boat'', ''train'', and ''plane''<br>This data is related to hardcoded functions and must not be changed or else it might crash the game
+
|E ||HandlingId ||string ||Name corresponding to its handling data in the <code>[[handling.cfg]]</code> file.
 
|-
 
|-
|<center>HandlingID</center>||Name corresponding to its handling data in the [[handling.cfg]] file
+
|F ||GameName ||string ||Name corresponding to its [[GXT]] key, case sensitive and must be seven characters or less!<br>Vehicles with an invalid name will show up as ''MODELNAME missing'' when entered
 
|-
 
|-
|<center>GameName</center>||Name corresponding to its [[GXT]] entry, case sensitive and must be seven characters or less!<br>Invalid name will show up as ''NAME missing''
+
|G ||Class ||string ||Class of the vehicle.
 +
* poorfamily
 +
* richfamily
 +
* executive
 +
* worker
 +
* special
 +
* big
 +
* taxi
 +
* ignore
 
|-
 
|-
|<center>Class</center>||Class of the vehicle{{Ref|1|[*]}}
+
|H ||Frq ||integer ||Frequency of the vehicle spawning randomly on the streets.
 
|-
 
|-
|<center>Frequency</center>||Frequency of the vehicle spawning randomly on the streets
+
|I ||Lvl ||integer ||unknown <!--Island appearance-->
 
|-
 
|-
|<center>Level</center>||unknown
+
|J ||Comprules ||hex ||Component rules, alters how vehicle models' "extras" behave, [[#Comprules|see below]] for list
 
|-
 
|-
|<center>Comprules</center>||unknown
+
|K ||{{a|l}} |
 +
* ''car'': WheelModelId
 +
* ''boat'': unused
 +
* ''train'': unused
 +
* ''heli'': unused
 +
* ''plane'': LODModel
 +
* ''bike'': unknown
 +
||integer ||
 +
* Model index of wheel model.
 +
* -
 +
* -
 +
* -
 +
* Model index of [[LOD]] model &ndash; can be any valid [[OBJS|object]].
 +
* unknown
 
|-
 
|-
|<center>WheelID</center>||ID number of wheel model{{Ref|2|[*]}}<br>Only available for type ''car'', has no effect if used on type ''boat''
+
|L ||{{a|l}} |
 +
* ''car'': WheelScale
 +
* ''boat'': unused
 +
* ''train'': unused
 +
* ''heli'': unused
 +
* ''plane'': unused
 +
* ''bike'': unknown
 +
||float ||
 +
* Scale of wheel and [[Collision File|collision]] models, 1.0 for original size of wheel and collision models
 +
* -
 +
* -
 +
* -
 +
* -
 +
* unknown
 +
|}
 +
 
 +
==== Comprules ====
 +
This is a list of all non-zero values used in the column.
 +
{|class="wikitable" width="100%"
 +
!style="width: 10em;" |Non-Zero Value
 +
!Effect
 +
!Vehicle(s)
 
|-
 
|-
|<center>WheelScale</center>||Scale of wheel and [[Collision File|collision]] models, 1.0 for original size of wheel and collision models<br>Only available for type ''car'', has no effect if used on type ''boat''
+
|0x1f10 ||Forces vehicle to always spawn with one of its first two extras. If a vehicle has more than two extras, one of the first two will always spawn and another extra also may spawn with either of the first two extras. Very rarely (likely due to a glitch) these vehicles can spawn without an extra. ||Taxi, Hoods Rumpo XL
 
|-
 
|-
|<center>LODModel</center>||ID number of LOD model, can be any valid vehicle model<br>Only available for type ''plane''
+
|0x2ff0 ||When it is raining, vehicle will spawn with its first extra. Vehicle may also spawn with other extras (if present in the model) in addition to the first extra. ||Stinger, Stallion
 
|}
 
|}
  
===Class===
+
==== Wheels ====
The class of a vehicle helps determines where a vehicle should spawn, with the help of [[hardcoded]] features and the [[script]]. The ''ignore'' class is special for its ability to prevent vehicles assigned to that class from spawning as a regular NPC vehicle in traffic. Peds can be assigned to drive a class of vehicle in the [[PEDS#Vehicle_Class|PEDS]] section of the IDE file. These are the classes that are available and used in the game.
 
  
*big
+
Wheel models are located in the <code>..\models\generic\wheels.DFF</code> file. Their textures are located in the <code>..\models\misc.txd</code> file. Just like the cars themselves they are defined inside the <code>..\data\default.ide</code> file by default. The following table shows the different wheels and their ID's.
*executive
 
*ignore
 
*poorfamily
 
*richfamily
 
*special
 
*worker
 
  
===Wheels===
+
{|class="wikitable"
Wheel models are located in the <code>wheels.DFF</code> file in the <code>models\Generic</code> folder. Wheel textures are located in the <code>MISC.TXD</code> file in the <code>models</code> folder. Wheels are defined in the <code>default.ide</code> file.
 
{| border="2" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0; border: 1px #aaa solid; border-collapse: collapse;"
 
 
!ID
 
!ID
 +
|{{a|c}}|160
 +
|{{a|c}}|161
 +
|{{a|c}}|162
 +
|{{a|c}}|163
 +
|{{a|c}}|164
 +
|{{a|c}}|165
 +
|{{a|c}}|166
 +
|-
 
!Image
 
!Image
 +
|[[File:wheel_sport64.png|50px|wheel_sport64]]
 +
|[[File:wheel_saloon64.png|50px|wheel_saloon64]]
 +
|[[File:wheel_lightvan64.png|50px|wheel_lightvan64]]
 +
|[[File:wheel_classic64.png|50px|wheel_classic64]]
 +
|[[File:wheel_alloy64.png|50px|wheel_alloy64]]
 +
|[[File:wheel_lighttruck64.png|50px|wheel_lighttruck64]]
 +
|[[File:wheel_smallcar64.png|50px|wheel_smallcar64]]
 +
|}
 +
 +
=== Vice City ===
 +
By default all cars are defined inside the <code>{{Dir|vc}}\data\default.ide</code> file. From GTA III, type ''train'' becomes unused but ''bike'' is used.
 +
 +
{{Pre|
 +
cars
 +
# type car
 +
Id, ModelName, TxdName, Type, HandlingId, GameName, Anims, Class, Frq, Lvl, Comprules, WheelModelId, WheelScale
 +
# type boat
 +
Id, ModelName, TxdName, Type, HandlingId, GameName, Anims, Class, Frq, Lvl, Comprules
 +
# type heli
 +
Id, ModelName, TxdName, Type, HandlingId, GameName, Anims, Class, Frq, Lvl, Comprules
 +
# type plane
 +
Id, ModelName, TxdName, Type, HandlingId, GameName, Anims, Class, Frq, Lvl, Comprules, LODModel
 +
# type bike
 +
Id, ModelName, TxdName, Type, HandlingId, GameName, Anims, Class, Frq, Lvl, Comprules, SteeringAngle, WheelScale
 +
end
 +
}}
 +
 +
{|class="wikitable center-col-1 center-col-2" width="100%"
 +
!style="width: 3em;"|{{Icon|VC}}
 +
!style="width: 12em;"|Identifier
 +
!style="width: 6em;" |Type
 +
!Description
 +
|-
 +
|A ||Id ||integer ||Unique object ID.
 +
|-
 +
|B ||ModelName ||string ||Name of the <code>.dff</code> [[model file]] without extension.
 +
|-
 +
|C ||TxdName ||string ||Name of the <code>.txd</code> [[texture dictionary]] without extension.
 +
|-
 +
|D ||Type ||string ||Type of vehicle, which includes ''car'', ''boat'', ''train'', ''heli'' (NPC helicopter), ''plane'' (NPC plane), and ''bike''. The ''train'' type is never used in the game but is documented here for sake of completion.
 +
|-
 +
|E ||HandlingId ||string ||Name corresponding to its handling data in the <code>handling.cfg</code> file.
 +
|-
 +
|F ||GameName ||string ||Name corresponding to its [[GXT]] key, case sensitive and must be seven characters or less.<br>Invalid name will not show up in the game.
 
|-
 
|-
|160
+
|G ||Anims ||string ||Appropriate animation file mainly used on bikes.
|wheel_sport
 
 
|-
 
|-
|161
+
|H ||Class ||string ||Class of the vehicle.
|wheel_saloon
+
* normal
 +
* poorfamily
 +
* richfamily
 +
* executive
 +
* worker
 +
* big
 +
* taxi
 +
* moped
 +
* motorbike
 +
* leisureboat
 +
* workerboat
 +
* ignore
 
|-
 
|-
|162
+
|I ||Frq ||integer ||Frequency of the vehicle spawning randomly on the streets.
|wheel_lightvan
 
 
|-
 
|-
|163
+
|J ||Lvl ||integer ||unknown <!--Island appearance-->
|wheel_classic
 
 
|-
 
|-
|164
+
|K ||Comprules ||hex ||Component rules, alters how vehicle models' "extras" behave, [[#Comprules_2|see below]] for list
|wheel_alloy
 
 
|-
 
|-
|165
+
|L ||{{a|l}} |
|wheel_lighttruck
+
* ''car'': WheelID
 +
* ''boat'': unused
 +
* ''train'': unused
 +
* ''heli'': unused
 +
* ''plane'': LODModel
 +
* ''bike'': Steering angle
 +
||integer ||
 +
* Model index of wheel model.
 +
* -
 +
* -
 +
* -
 +
* Model index of [[LOD]] model &ndash; can be any valid [[OBJS|object]].
 +
* Steering angle (in degrees)
 
|-
 
|-
|166
+
|M ||{{a|l}} |
|wheel_smallcar
+
* ''car'': WheelScale
 +
* ''boat'': unused
 +
* ''train'': unused
 +
* ''heli'': unused
 +
* ''plane'': unused
 +
* ''bike'': WheelScale
 +
||float ||
 +
* Scale of wheel and collision models, 1.0 for original size of wheel and collision models
 +
* -
 +
* -
 +
* -
 +
* -
 +
* Scale of wheel collision model, 1.0 for original size of wheel collision models; wheel visually not affected
 
|}
 
|}
 +
<!--
 +
==== Level ====
 +
This column can be more easily read in binary (see [[Binary to decimal conversion#Decimal to binary|decimal to binary conversion]]). It is made of flags 1, 2, and 4 for levels 1, 2, and 3. The island levels are defined in the [[ZONE]] files.
 +
* {{GTAF|post|477801|1060533536|Explanation of levels cloumn}}
 +
-->
  
==Vice City==
+
==== Comprules ====
===Format===
+
This is a list of all non-zero values used in the column.
This section is mainly used in the <code>default.ide</code> file. Each type of vehicle has its own format.
+
{|class="wikitable" width="100%"
 +
!style="width: 10em;" |Non-Zero Value
 +
!Vehicle(s)
 +
|-
 +
|0x1f10 ||Taxi, Cabbie, Zebra Cab, Kaufman Cab
 +
|-
 +
|0x2ff0 ||Stinger, Stallion, Sabre, Sabre Turbo, Comet, Deluxo
 +
|-
 +
|0x4fff ||Flatbed, Hotring A, Hotring B, Bloodring Banger A, Bloodring Banger B
 +
|-
 +
|0x30123345 ||Caddy
 +
|}
  
''Car''
+
==== Wheels ====
ID, ModelName, TxdName, Type, HandlingID, GameName, Anims, Class, Frequency, Level, Comprules, WheelID, WheelScale
 
  
''Bike''
+
The location of the definition files, models and textures are just the same as for ''GTA III''. However there are some different textures and models. The following table shows all ''Vice City'' wheels and their ID's.
ID, ModelName, TxdName, Type, HandlingID, GameName, Anims, Class, Frequency, Level, Comprules, Unknown, WheelScale
 
  
''Boat and Heli''
+
{|class="wikitable"
ID, ModelName, TxdName, Type, HandlingID, GameName, Anims, Class, Frequency, Level, Comprules
+
!colspan="2" |ID
 +
|{{a|c}}|237
 +
|{{a|c}}|238
 +
|{{a|c}}|239
 +
|{{a|c}}|250
 +
|{{a|c}}|251
 +
|{{a|c}}|252
 +
|{{a|c}}|253
 +
|{{a|c}}|254
 +
|{{a|c}}|255
 +
|{{a|c}}|256
 +
|-
 +
!rowspan="2" |Image
 +
!PC/PS2
 +
|[[File:Wheel_rim.png|50px|wheel_rim]]
 +
|[[File:Wheel_offroad.png|50px|wheel_offroad]]
 +
|[[File:Wheel_truck.png|50px|wheel_truck]]
 +
|[[File:Wheel_sport.png|50px|wheel_sport]]
 +
|[[File:Wheel_saloon.png|50px|wheel_saloon]]
 +
|[[File:Wheel_lightvan.png|50px|wheel_lightvan]]
 +
|[[File:Wheel_classic.png|50px|wheel_classic]]
 +
|[[File:Wheel_alloy.png|50px|wheel_alloy]]
 +
|[[File:Wheel_lighttruck.png|50px|wheel_lighttruck]]
 +
|[[File:Wheel_smallcar.png|50px|wheel_smallcar]]
 +
|-
 +
!Xbox
 +
|[[File:Wheel_rimx.png|50px|wheel_rim]]
 +
|[[File:Wheel_offroadx.png|50px|wheel_offroad]]
 +
|[[File:Wheel_truckx.png|50px|wheel_truck]]
 +
|[[File:Wheel_sportx.png|50px|wheel_sport]]
 +
|[[File:Wheel_saloonx.png|50px|wheel_saloon]]
 +
|[[File:Wheel_lightvanx.png|50px|wheel_lightvan]]
 +
|[[File:Wheel_classicx.png|50px|wheel_classic]]
 +
|[[File:Wheel_alloyx.png|50px|wheel_alloy]]
 +
|[[File:Wheel_lighttruckx.png|50px|wheel_lighttruck]]
 +
|[[File:Wheel_smallcarx.png|50px|wheel_smallcar]]
 +
|}
  
''Plane''
+
=== San Andreas ===
ID, ModelName, TxdName, Type, HandlingID, GameName, Anims, Class, Frequency, Level, Comprules, LODModel
 
  
{|{{Prettytable}} width="100%"
+
By default all cars are defined inside the <code>{{Dir|sa}}\data\vehicles.ide</code> file.
 +
{{Pre|
 +
cars
 +
# type car
 +
Id, ModelName, TxdName, Type, HandlingID, GameName, Anims, Class, Frequency, Flags, Comprules, WheelID, WheelScale_Front, WheelScale_Rear, Unknown_value
 +
# type boat
 +
Id, ModelName, TxdName, Type, HandlingID, GameName, Anims, Class, Frequency, Flags, Comprules
 +
end
 +
}}
 +
 
 +
{|class="wikitable center-col-1" width="100%"
 
!width="250px"|Identifier
 
!width="250px"|Identifier
 
!Description
 
!Description
 
|-
 
|-
|<center>ID</center>||Unique model ID
+
|Id||integer||Unique model ID
 
|-
 
|-
|<center>ModelName</center>||Name of the .dff [[model file]], without extension
+
|ModelName||string||Name of the <code>.dff</code> ''model file'' without extension.
 
|-
 
|-
|<center>TxdName</center>||Name of the .txd [[texture dictionary]], without extension
+
|TxdName||string||Name of the <code>.txd</code> ''texture dictionary'' without extension.
 
|-
 
|-
|<center>Type</center>||Type of vehicle, which includes ''car'', ''bike'', ''boat'', ''plane'', and ''heli''; flyable helicopters are type ''car''
+
|Type||string||Type of vehicle, which includes ''trailer'', ''bmx'', ''bike'', ''train'', ''boat'', ''plane'', ''heli'', ''quad'', ''mtruck'' and ''car''
 
|-
 
|-
|<center>HandlingID</center>||Name corresponding to its handling data in the [[handling.cfg]] file.
+
|HandlingID||string||Name corresponding to its handling data in the ''handling.cfg'' file.
 
|-
 
|-
|<center>GameName</center>||Name corresponding to its [[GXT]] entry, case sensitive and must be seven characters or less!<br>Invalid name will not show up in the game
+
|GameName||string||Name corresponding to its [[GXT]] key, case sensitive and must be seven characters or less.<br>Invalid name will not show up in the game.
 
|-
 
|-
|<center>Anims</center>||Appropriate animation file mainly used on bikes
+
|Anims||string||Appropriate character animation
 
|-
 
|-
|<center>Class</center>||Class of the vehicle{{Ref|3|[*]}}
+
|Class||string||Class of the vehicle.
 +
* normal
 +
* poorfamily
 +
* richfamily
 +
* executive
 +
* worker
 +
* big
 +
* taxi
 +
* moped
 +
* motorbike
 +
* leisureboat
 +
* workerboat
 +
* bicycle
 +
* ignore
 
|-
 
|-
|<center>Frequency</center>||Frequency of the vehicle spawning randomly on the streets
+
|Frequency||integer||Frequency of the vehicle spawning randomly on the streets.
 
|-
 
|-
|<center>Level</center>||unknown
+
|Flags||integer||Unknown integer.
 
|-
 
|-
|<center>Comprules</center>||unknown
+
|Comprules||hex||Component rules, alters how vehicle models' "extras" behave, [[#Comprules_3|see below]] for list
 
|-
 
|-
|<center>WheelID</center>||ID number of wheel model{{Ref|4|[*]}}<br>Only available for type ''car'', has no effect if used on type ''boat''
+
|WheelID||integer||Wheel index, needs to be -1 for vehicles to use wheel model defined in the vehicle's model (wheels.dff is no longer used)
 
|-
 
|-
|<center>WheelScale</center>||Scale of wheel and [[Collision File|collision]] models for type ''car'', scale of wheel collision model for type ''bike'', 1.0 for original size of wheel and collision models<br>Only available for types ''car'' and ''bike'', has no effect if used on type ''boat''
+
|WheelScale_Front||float||Scale of front wheels and collision models for types ''car'', ''trailer'', ''quad'', ''mtruck'', ''bmx'' and ''bike''
 
|-
 
|-
|<center>LODModel</center>||ID number of LOD model, can be any valid vehicle model<br>Only available for type ''plane''
+
|WheelScale_Rear||float||Scale of rear wheels and collision models for types ''car'', ''trailer'', ''quad'', ''mtruck'', ''bmx'' and ''bike''
 +
|-
 +
|Wheel Upgrade Class||integer||The wheel set this vehicle relates to, the ids are equivalent to the ones defined in [[carmods.dat]]
 
|}
 
|}
  
===Class===
+
====Flags====
The class of a vehicle helps determines where a vehicle should spawn, with the help of [[hardcoded]] features and the [[script]]. The ''ignore'' class is special for its ability to prevent vehicles assigned to that class from spawning as a regular NPC vehicle in traffic. Peds can be assigned to drive a class of vehicle in the [[PEDS#Vehicle_Class_2|PEDS]] section of the IDE file. These are the classes that are available and used in the game.
+
According to the vehicles.ide file, flag 0x01 streams a vehicle out after it has been spawned once, and flag 0x02 whis is "used internally". There are 3 vehicles that use flag 0x01, none that use flag 0x02, and one that uses 0x07, which is not mentioned at all.
 +
{|class="wikitable" width="100%"
 +
!style="width: 10em;" |Non-Zero Value
 +
!Vehicle(s)
 +
|-
 +
|0x01||Dumper, Mr. Whoopee, Pizzaboy
 +
|-
 +
|0x07||Huntley
 +
|}
  
*big
+
====Comprules====
*executive
+
This is a list of all non-zero values used in the column.
*ignore
+
{|class="wikitable" width="100%"
*leisureboat
+
!style="width: 10em;" |Non-Zero Value
*moped
+
!Vehicle(s)
*motorbike
+
|-
*normal
+
|0x1012||Tram
*poorfamily
+
|-
*richfamily
+
|0x1f10||Taxi, Barracks Ol, Coach, Cabbie, Slamvan
*taxi
+
|-
*worker
+
|0x2ff0||Sabre, Comet, Savanna, Broadway, Tornado
*workerboat
+
|-
 +
|0x3012||Coast Guard
 +
|-
 +
|0x3210||Stallion
 +
|-
 +
|0x3f01||Reefer
 +
|-
 +
|0x3f10||Securicar
 +
|-
 +
|0x4fff||Speeder, Tropic, Flatbed, Hotring Racer A, Hotring Racer B, Bloodring Banger, DFT30
 +
|-
 +
|0x1f341210||NRG500
 +
|-
 +
|0x30123345||Caddy
 +
|-
 +
|0x3f341210||FCR900, BF400
 +
|}
 +
 
 +
==== Wheels ====
 +
Wheel models are now in the same model as the vehicle itself. The <code>wheels.dff</code> and <code>wheels.txd</code> are present but not used. If the "WheelID" is -1, the game will scale the wheel collision, but NOT the wheel model. If "WheelID" is 0, the game will scale the collision AND the wheel model, however this only works properly if the wheel model is set up properly before exporting.
 +
 
 +
=== GTA IV ===
  
===Wheels===
+
By default all cars are defined inside the <code>..\common\data\vehicles.ide</code> file.
Wheel models are located in the <code>wheels.DFF</code> file in the <code>models\generic</code> folder. Wheel textures are located in the <code>wheels.TXD</code> file in the <code>models\generic</code> folder. Wheels are defined in the <code>default.ide</code> file.
+
 
{| border="2" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0; border: 1px #aaa solid; border-collapse: collapse;"
+
{|class="wikitable center-col-1 center-col-2" width="100%"
!ID
+
!style="width: 3em;"|{{Icon|4}}
!Image
+
!style="width: 12em;"|Identifier
 +
!style="width: 6em;" |Type
 +
!Description
 +
|-
 +
|A ||ModelName ||string ||Name of the <code>[[WDR|.wdr]]</code> model file without extension.
 +
|-
 +
|B ||TxdName ||string ||Name of the <code>[[WTD|.wtd]]</code> texture dictionary without extension.
 +
|-
 +
|C ||Type ||string ||Type of vehicle, which includes ''car'', ''bike'', ''boat'', ''train'', ''heli'', and ''plane''.
 +
|-
 +
|D ||HandlingId ||string ||Name corresponding to its handling data in the <code>handling.dat</code> file.
 
|-
 
|-
|237
+
|E ||GameName ||string ||Name corresponding to its [[GXT]] key (changing this will also change the sound of the vehicle)
|wheel_rim
 
 
|-
 
|-
|238
+
|F ||Anims ||string ||Name of the animation used while entering and driving a vehicle from <code>anim.img</code> file.
|wheel_offroad
+
*VEH@STD - Standard Car
 +
*VEH@VAN - Van
 +
*VEH@LOW - Low to the ground
 +
*VEH@TRUCK - Truck
 +
*VEH@BUS - Bus
 +
*VEH@BIKE_FREEWAY - Freeway Motorcycle
 +
*VEH@BIKE_SCOOTER - Scooter
 +
*VEH@BIKE_SPT - Sports Bike
 +
*VEH@BIKE_DIRT - Dirt Bike
 +
*VEH@BIKE_CHOPPER - Chopper Motor Cycle
 +
*VEH@HELICOPTER - Helicopter
 +
*veh@boat_speed - Speed Boat
 +
*veh@boat_STAND_BIG - Big Boat, player stands while driving
 +
*veh@boat_standing - Boat that player stands while driving
 +
*VEH@TRAIN - Train
 
|-
 
|-
|239
+
|G ||Anims2 ||string ||Name of the secondary vehicle animation used from <code>anim.img</code> file.
|wheel_truck
+
*NULL - Ignored
 +
*VEH@HELICOPTER_XX_H
 +
*VEH@HELI_ANNIH
 +
*VEH@VAN_LL_LO, _LR1_LF1, _HL1_HI1, _FO2_FO2, _XX_LE1, _FO1_FO1, _RI1_LE1, _RI2_LE2, _RI3_LE3
 +
*VEH@STD_LO1_LO1, _LO2_LO2, _LO3_LO3, _LO4_LO4, _LO5_LO5, _LE1_RI1, _RI2_LE2, _DF8, _RI1, _RI3, _XX_RI1, _XX_RI2, _RI1_LO1, _RI2_LO2, _RI3_LO3, _FO1,
 +
*VEH@LOW_INFERNUS, _CONV, _LE1_RI1, _LE2_RI2, _LU1_RI1, _LU2_RI2, _HI_HI, _HI2_HI2, _HI3_HI3, _HI4_HI4, _XX_LO1
 +
*VEH@TRUCK_BA_XX, _LE1_RI1, _LO1_LO1, _PHANTOM
 
|-
 
|-
|250
+
|H ||Frq ||integer ||Frequency of the vehicle spawning randomly on the streets.
|wheel_sport
 
 
|-
 
|-
|251
+
|I ||MaxNum ||integer ||Maximum number of vehicles to exist at a time.
|wheel_saloon
 
 
|-
 
|-
|252
+
|J,K ||WheelRadius ||float[2] ||
|wheel_lightvan
 
 
|-
 
|-
|253
+
|L ||DefDirtLevel ||float ||Dirt level of traffic vehicles that includes a range from set value to 1.0.<br>Supported values range from 0.0 (clean) to 1.0 (dirty).
|wheel_classic
 
 
|-
 
|-
|254
+
|M ||LodMult ||integer ||
|wheel_alloy
 
 
|-
 
|-
|255
+
|N ||Swankness ||float ||
|wheel_lighttruck
 
 
|-
 
|-
|256
+
|O ||Flags ||string ||
|wheel_smallcar
+
* noboot
 +
* smallworker
 +
* big
 +
* onlyduringofficehours
 +
* bootinfront
 +
* isvan
 +
* avoidturns
 +
* livery
 +
* liveryextra
 +
* sports
 +
* delivery
 +
* noambocc
 +
* onlyonhighways - spawn only on .NOD path, who uses 'Highway' Flag in 3th section of Flags.
 +
* ext_gang
 +
* ext_conv
 +
* ext_taxi
 +
* ext_rare
 +
* ext_requi
 +
* ext_strong
 +
* ext_script
 +
* ext_all
 +
* ext_sunroof
 +
* tallship
 +
* truckfx
 +
* truckenginefx
 +
* truckexhaustfx
 +
* truckfirefx
 +
* bangerexhaustfx
 
|}
 
|}
  
{{N|4|SA}}
+
== See also ==
 +
 
 +
* [[PEDS]]
 +
* [[CARS (IPL Section)]]
 +
* [[List of vehicles (III)]]
 +
* [[List of vehicles (VC)]]
 +
* [[List of vehicles (SA)]]
 +
 
 +
== External link ==
 +
* {{GTAF|530575|Component Rules explanation}}
 +
 
 +
{{N|4|SA|VC|3}}

Latest revision as of 20:02, 11 April 2024

CARS redirects here. For the IPL section see CARS (IPL Section)
CARS (IDE section)
Supported games:GTA III Vice City San Andreas GTA IV
Brief description:Used to define vehicles
IDE Sections:
2DFX AMAT ANIM CARS HIER HAND MLO OBJS
PATH PEDS TANM TOBJ TREE TXDP WEAP

CARS is a section in the item definition file in GTA III, Vice City, San Andreas, and GTA IV. It is used to define vehicles and some their properties.

Format

Between GTA III and San Andreas, the class of a vehicle helps determine where it should spawn, with the help of hardcoded features and the script. The ignore class is special for its ability to prevent vehicles assigned to that class from spawning as a regular NPC vehicle in traffic. Peds can be assigned to drive classes of vehicle in the PEDS section of the IDE file.

GTA III

This section is mainly used in the .\data\default.ide file. Each type of vehicle has its own format.

cars
# type car
Id, ModelName, TxdName, Type, HandlingId, GameName, Class, Frq, Lvl, Comprules, WheelModelId, WheelScale
# type boat
Id, ModelName, TxdName, Type, HandlingId, GameName, Class, Frq, Lvl, Comprules
# type train
Id, ModelName, TxdName, Type, HandlingId, GameName, Class, Frq, Lvl, Comprules
# type heli
Id, ModelName, TxdName, Type, HandlingId, GameName, Class, Frq, Lvl, Comprules
# type plane
Id, ModelName, TxdName, Type, HandlingId, GameName, Class, Frq, Lvl, Comprules, LODModel
end
GTA III Identifier Type Description
A Id integer Unique object ID.
B ModelName string Name of the .dff model file without extension.
C TxdName string Name of the .txd texture dictionary without extension.
D Type string Type of vehicle, which includes car, boat, train, heli (NPC helicopter), plane (NPC plane), and bike.
This data determines the class used to instantiate the vehicle and changing it may crash the game. The bike type is partially defined in the game code but cannot be used.
E HandlingId string Name corresponding to its handling data in the handling.cfg file.
F GameName string Name corresponding to its GXT key, case sensitive and must be seven characters or less!
Vehicles with an invalid name will show up as MODELNAME missing when entered
G Class string Class of the vehicle.
  • poorfamily
  • richfamily
  • executive
  • worker
  • special
  • big
  • taxi
  • ignore
H Frq integer Frequency of the vehicle spawning randomly on the streets.
I Lvl integer unknown
J Comprules hex Component rules, alters how vehicle models' "extras" behave, see below for list
K
  • car: WheelModelId
  • boat: unused
  • train: unused
  • heli: unused
  • plane: LODModel
  • bike: unknown
integer
  • Model index of wheel model.
  • -
  • -
  • -
  • Model index of LOD model – can be any valid object.
  • unknown
L
  • car: WheelScale
  • boat: unused
  • train: unused
  • heli: unused
  • plane: unused
  • bike: unknown
float
  • Scale of wheel and collision models, 1.0 for original size of wheel and collision models
  • -
  • -
  • -
  • -
  • unknown

Comprules

This is a list of all non-zero values used in the column.

Non-Zero Value Effect Vehicle(s)
0x1f10 Forces vehicle to always spawn with one of its first two extras. If a vehicle has more than two extras, one of the first two will always spawn and another extra also may spawn with either of the first two extras. Very rarely (likely due to a glitch) these vehicles can spawn without an extra. Taxi, Hoods Rumpo XL
0x2ff0 When it is raining, vehicle will spawn with its first extra. Vehicle may also spawn with other extras (if present in the model) in addition to the first extra. Stinger, Stallion

Wheels

Wheel models are located in the ..\models\generic\wheels.DFF file. Their textures are located in the ..\models\misc.txd file. Just like the cars themselves they are defined inside the ..\data\default.ide file by default. The following table shows the different wheels and their ID's.

ID 160 161 162 163 164 165 166
Image wheel_sport64 wheel_saloon64 wheel_lightvan64 wheel_classic64 wheel_alloy64 wheel_lighttruck64 wheel_smallcar64

Vice City

By default all cars are defined inside the .\data\default.ide file. From GTA III, type train becomes unused but bike is used.

cars
# type car
Id, ModelName, TxdName, Type, HandlingId, GameName, Anims, Class, Frq, Lvl, Comprules, WheelModelId, WheelScale
# type boat
Id, ModelName, TxdName, Type, HandlingId, GameName, Anims, Class, Frq, Lvl, Comprules
# type heli
Id, ModelName, TxdName, Type, HandlingId, GameName, Anims, Class, Frq, Lvl, Comprules
# type plane
Id, ModelName, TxdName, Type, HandlingId, GameName, Anims, Class, Frq, Lvl, Comprules, LODModel
# type bike
Id, ModelName, TxdName, Type, HandlingId, GameName, Anims, Class, Frq, Lvl, Comprules, SteeringAngle, WheelScale
end
Vice City Identifier Type Description
A Id integer Unique object ID.
B ModelName string Name of the .dff model file without extension.
C TxdName string Name of the .txd texture dictionary without extension.
D Type string Type of vehicle, which includes car, boat, train, heli (NPC helicopter), plane (NPC plane), and bike. The train type is never used in the game but is documented here for sake of completion.
E HandlingId string Name corresponding to its handling data in the handling.cfg file.
F GameName string Name corresponding to its GXT key, case sensitive and must be seven characters or less.
Invalid name will not show up in the game.
G Anims string Appropriate animation file mainly used on bikes.
H Class string Class of the vehicle.
  • normal
  • poorfamily
  • richfamily
  • executive
  • worker
  • big
  • taxi
  • moped
  • motorbike
  • leisureboat
  • workerboat
  • ignore
I Frq integer Frequency of the vehicle spawning randomly on the streets.
J Lvl integer unknown
K Comprules hex Component rules, alters how vehicle models' "extras" behave, see below for list
L
  • car: WheelID
  • boat: unused
  • train: unused
  • heli: unused
  • plane: LODModel
  • bike: Steering angle
integer
  • Model index of wheel model.
  • -
  • -
  • -
  • Model index of LOD model – can be any valid object.
  • Steering angle (in degrees)
M
  • car: WheelScale
  • boat: unused
  • train: unused
  • heli: unused
  • plane: unused
  • bike: WheelScale
float
  • Scale of wheel and collision models, 1.0 for original size of wheel and collision models
  • -
  • -
  • -
  • -
  • Scale of wheel collision model, 1.0 for original size of wheel collision models; wheel visually not affected

Comprules

This is a list of all non-zero values used in the column.

Non-Zero Value Vehicle(s)
0x1f10 Taxi, Cabbie, Zebra Cab, Kaufman Cab
0x2ff0 Stinger, Stallion, Sabre, Sabre Turbo, Comet, Deluxo
0x4fff Flatbed, Hotring A, Hotring B, Bloodring Banger A, Bloodring Banger B
0x30123345 Caddy

Wheels

The location of the definition files, models and textures are just the same as for GTA III. However there are some different textures and models. The following table shows all Vice City wheels and their ID's.

ID 237 238 239 250 251 252 253 254 255 256
Image PC/PS2 wheel_rim wheel_offroad wheel_truck wheel_sport wheel_saloon wheel_lightvan wheel_classic wheel_alloy wheel_lighttruck wheel_smallcar
Xbox wheel_rim wheel_offroad wheel_truck wheel_sport wheel_saloon wheel_lightvan wheel_classic wheel_alloy wheel_lighttruck wheel_smallcar

San Andreas

By default all cars are defined inside the .\data\vehicles.ide file.

cars
# type car
Id, ModelName, TxdName, Type, HandlingID, GameName, Anims, Class, Frequency, Flags, Comprules, WheelID, WheelScale_Front, WheelScale_Rear, Unknown_value
# type boat
Id, ModelName, TxdName, Type, HandlingID, GameName, Anims, Class, Frequency, Flags, Comprules
end
Identifier Description
Id integer Unique model ID
ModelName string Name of the .dff model file without extension.
TxdName string Name of the .txd texture dictionary without extension.
Type string Type of vehicle, which includes trailer, bmx, bike, train, boat, plane, heli, quad, mtruck and car
HandlingID string Name corresponding to its handling data in the handling.cfg file.
GameName string Name corresponding to its GXT key, case sensitive and must be seven characters or less.
Invalid name will not show up in the game.
Anims string Appropriate character animation
Class string Class of the vehicle.
  • normal
  • poorfamily
  • richfamily
  • executive
  • worker
  • big
  • taxi
  • moped
  • motorbike
  • leisureboat
  • workerboat
  • bicycle
  • ignore
Frequency integer Frequency of the vehicle spawning randomly on the streets.
Flags integer Unknown integer.
Comprules hex Component rules, alters how vehicle models' "extras" behave, see below for list
WheelID integer Wheel index, needs to be -1 for vehicles to use wheel model defined in the vehicle's model (wheels.dff is no longer used)
WheelScale_Front float Scale of front wheels and collision models for types car, trailer, quad, mtruck, bmx and bike
WheelScale_Rear float Scale of rear wheels and collision models for types car, trailer, quad, mtruck, bmx and bike
Wheel Upgrade Class integer The wheel set this vehicle relates to, the ids are equivalent to the ones defined in carmods.dat

Flags

According to the vehicles.ide file, flag 0x01 streams a vehicle out after it has been spawned once, and flag 0x02 whis is "used internally". There are 3 vehicles that use flag 0x01, none that use flag 0x02, and one that uses 0x07, which is not mentioned at all.

Non-Zero Value Vehicle(s)
0x01 Dumper, Mr. Whoopee, Pizzaboy
0x07 Huntley

Comprules

This is a list of all non-zero values used in the column.

Non-Zero Value Vehicle(s)
0x1012 Tram
0x1f10 Taxi, Barracks Ol, Coach, Cabbie, Slamvan
0x2ff0 Sabre, Comet, Savanna, Broadway, Tornado
0x3012 Coast Guard
0x3210 Stallion
0x3f01 Reefer
0x3f10 Securicar
0x4fff Speeder, Tropic, Flatbed, Hotring Racer A, Hotring Racer B, Bloodring Banger, DFT30
0x1f341210 NRG500
0x30123345 Caddy
0x3f341210 FCR900, BF400

Wheels

Wheel models are now in the same model as the vehicle itself. The wheels.dff and wheels.txd are present but not used. If the "WheelID" is -1, the game will scale the wheel collision, but NOT the wheel model. If "WheelID" is 0, the game will scale the collision AND the wheel model, however this only works properly if the wheel model is set up properly before exporting.

GTA IV

By default all cars are defined inside the ..\common\data\vehicles.ide file.

GTA IV Identifier Type Description
A ModelName string Name of the .wdr model file without extension.
B TxdName string Name of the .wtd texture dictionary without extension.
C Type string Type of vehicle, which includes car, bike, boat, train, heli, and plane.
D HandlingId string Name corresponding to its handling data in the handling.dat file.
E GameName string Name corresponding to its GXT key (changing this will also change the sound of the vehicle)
F Anims string Name of the animation used while entering and driving a vehicle from anim.img file.
  • VEH@STD - Standard Car
  • VEH@VAN - Van
  • VEH@LOW - Low to the ground
  • VEH@TRUCK - Truck
  • VEH@BUS - Bus
  • VEH@BIKE_FREEWAY - Freeway Motorcycle
  • VEH@BIKE_SCOOTER - Scooter
  • VEH@BIKE_SPT - Sports Bike
  • VEH@BIKE_DIRT - Dirt Bike
  • VEH@BIKE_CHOPPER - Chopper Motor Cycle
  • VEH@HELICOPTER - Helicopter
  • veh@boat_speed - Speed Boat
  • veh@boat_STAND_BIG - Big Boat, player stands while driving
  • veh@boat_standing - Boat that player stands while driving
  • VEH@TRAIN - Train
G Anims2 string Name of the secondary vehicle animation used from anim.img file.
  • NULL - Ignored
  • VEH@HELICOPTER_XX_H
  • VEH@HELI_ANNIH
  • VEH@VAN_LL_LO, _LR1_LF1, _HL1_HI1, _FO2_FO2, _XX_LE1, _FO1_FO1, _RI1_LE1, _RI2_LE2, _RI3_LE3
  • VEH@STD_LO1_LO1, _LO2_LO2, _LO3_LO3, _LO4_LO4, _LO5_LO5, _LE1_RI1, _RI2_LE2, _DF8, _RI1, _RI3, _XX_RI1, _XX_RI2, _RI1_LO1, _RI2_LO2, _RI3_LO3, _FO1,
  • VEH@LOW_INFERNUS, _CONV, _LE1_RI1, _LE2_RI2, _LU1_RI1, _LU2_RI2, _HI_HI, _HI2_HI2, _HI3_HI3, _HI4_HI4, _XX_LO1
  • VEH@TRUCK_BA_XX, _LE1_RI1, _LO1_LO1, _PHANTOM
H Frq integer Frequency of the vehicle spawning randomly on the streets.
I MaxNum integer Maximum number of vehicles to exist at a time.
J,K WheelRadius float[2]
L DefDirtLevel float Dirt level of traffic vehicles that includes a range from set value to 1.0.
Supported values range from 0.0 (clean) to 1.0 (dirty).
M LodMult integer
N Swankness float
O Flags string
  • noboot
  • smallworker
  • big
  • onlyduringofficehours
  • bootinfront
  • isvan
  • avoidturns
  • livery
  • liveryextra
  • sports
  • delivery
  • noambocc
  • onlyonhighways - spawn only on .NOD path, who uses 'Highway' Flag in 3th section of Flags.
  • ext_gang
  • ext_conv
  • ext_taxi
  • ext_rare
  • ext_requi
  • ext_strong
  • ext_script
  • ext_all
  • ext_sunroof
  • tallship
  • truckfx
  • truckenginefx
  • truckexhaustfx
  • truckfirefx
  • bangerexhaustfx

See also

External link