Difference between revisions of "CARS (IDE Section)"
(→Vice City) |
|||
(54 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 | ||
− | | game = | + | |name = CARS |
− | | description = Used to define vehicles | + | |game = {{Icon|t}} {{Icon|4}} |
+ | |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. |
− | + | == 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 <code>{{Dir|3}}\data\default.ide</code> file. Each type of vehicle has its own format. | |
− | + | {{Pre| | |
− | + | 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 | ||
+ | }} | ||
− | {| | + | {|class="wikitable center-col-1 center-col-2" width="100%" |
− | !width=" | + | !style="width: 3em;"|{{Icon|3}} |
+ | !style="width: 12em;"|Identifier | ||
+ | !style="width: 6em;" |Type | ||
!Description | !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''.<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. |
|- | |- | ||
− | |< | + | |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>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 <!--Island appearance--> |
|- | |- | ||
− | | | + | |J ||Comprules ||hex ||Component rules, alters how vehicle models' "extras" behave, [[#Comprules|see below]] for list |
|- | |- | ||
− | | | + | |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 – can be any valid [[OBJS|object]]. | ||
+ | * unknown | ||
|- | |- | ||
− | | | + | |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) | ||
|- | |- | ||
− | | | + | |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 <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. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | {|class="wikitable" | |
− | |||
− | |||
!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. | ||
+ | |- | ||
+ | |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 <!--Island appearance--> | ||
+ | |- | ||
+ | |K ||Comprules ||hex ||Component rules, alters how vehicle models' "extras" behave, [[#Comprules_2|see below]] for list | ||
+ | |- | ||
+ | |L ||{{a|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 [[OBJS|object]]. | ||
+ | * Steering angle (in degrees) | ||
|- | |- | ||
− | | | + | |M ||{{a|l}} | |
− | | | + | * ''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}} | ||
+ | --> | ||
+ | |||
+ | ==== Comprules ==== | ||
+ | This is a list of all non-zero values used in the column. | ||
+ | {|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 |
− | | | + | |} |
+ | |||
+ | ==== 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. | ||
+ | |||
+ | {|class="wikitable" | ||
+ | !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 |
− | |wheel_lighttruck | + | !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 |
− | |wheel_smallcar | + | |[[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]] | ||
|} | |} | ||
− | == | + | === San Andreas === |
− | + | ||
− | + | 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 | ||
|- | |- | ||
− | |< | + | |Id||integer||Unique model ID |
+ | |- | ||
+ | |ModelName||string||Name of the <code>.dff</code> ''model file'' without extension. | ||
+ | |- | ||
+ | |TxdName||string||Name of the <code>.txd</code> ''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.<br>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, [[#Comprules_3|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. | ||
+ | {|class="wikitable" width="100%" | ||
+ | !style="width: 10em;" |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. | ||
+ | {|class="wikitable" width="100%" | ||
+ | !style="width: 10em;" |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 ==== |
− | The | + | 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 === | ||
− | + | By default all cars are defined inside the <code>..\common\data\vehicles.ide</code> file. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | === | + | {|class="wikitable center-col-1 center-col-2" width="100%" |
− | + | !style="width: 3em;"|{{Icon|4}} | |
− | + | !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. | ||
|- | |- | ||
− | | | + | |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 <code>anim.img</code> 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 <code>anim.img</code> 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.<br>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 | ||
|} | |} | ||
− | {{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
Supported games: | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Brief description: | Used to define vehicles | |||||||||||||||
IDE Sections:
|
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.
Contents
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
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.
|
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 |
|
integer | |
L |
|
float |
|
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 |
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
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.
|
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 |
|
integer | |
M |
|
float |
|
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 | ||||||||||
Xbox |
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.
|
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.
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.
|
G | Anims2 | string | Name of the secondary vehicle animation used from anim.img file.
|
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 |
|
See also
External link
- GTAForums: Component Rules explanation
Grand Theft Auto IV | |
---|---|
File Formats | .dat • .gxt • .ide • .img • .ipl • .nod • .sco • .rpf • .rrr • .wad • .wbd/.wbn • .wdd • .wdr • .wft • .whm • .wpl • .wtd |
Documentation | Audio • Bink Video • Cryptography • Cutscenes • GXT Text • Image listing • Keycodes • Map Listing • Native functions • Paths • Radar Blips • Radio Stations • Saves • Scenarios • VTable • Weapons |
Tools | ASI Loader • ENBSeries • G-Texture • GIMS IV • Ingame WPL Editor • IV Needle • OpenIV • SparkIV • XLiveLess • WPL Manager • X Mod Installer Alice • C++ Script Hook • .NET Script Hook • Scocl |
Tutorials | Importing Textures with OpenIV • Importing Textures with SparkIV |
Modifications | GTA Connected • Gostown IV • Four Multiplayer • IV Multiplayer • CitizenMP:IV Reloaded |
Useful links | Community portal • Discussion forums • Modding forums • Mods on GTAGarage.com |