Peds

To add variations to a ped model:

  1. Open "ModelVariations_Peds.ini".
  2. At the end of the file, enter the id (or the model name) of the model you want to add variations to, inside [] brackets (e.g if you want to add variations to a LS cop [280] or [lapd1])
  3. In a new line, enter the city you want then enter a '=' and then the id or model name of the variation you want to the city you want (e.g Global=155). You can find all the cities and areas below.
  4. You can use a comma to add multiple variations (e.g Global=155,167,28,285).

Example:

[7]
Global=heck1,155
LosSantos=249

Outside Los Santos heck1 and 155 will be used. Inside Los Santos all 3 will be used because heck1 and 155 are used everywhere and 249 is used in Los Santos.
You can only assign variations to the original game ped models.

 

To add more models go to the end of the file and repeat the above steps.

[7]
Global=heck1,155
LosSantos=249
[army]
Global=army,wmypizz,wmybell

 

This example changes the pizza guy (id 155) to a cop while you are in LS and a valet in LV:

[155]
LosSantos=280
LasVenturas=189

 

The parent model (the model inside the brackets) should be used only once (1 set of brackets). Each set of brackets must have one model inside.

Available cities and areas to use (Global is for every city):
Global
LosSantos
SanFierro
LasVenturas
Countryside
Desert
TierraRobada
BoneCounty
RedCounty
Blueberry
Montgomery
Dillimore
PalominoCreek
FlintCounty
Whetstone
AngelPine

 

You can also specify any zone in the game you want. All zones can be found in data\info.zon.
Example line from info.zon:

SFDWT1, 0, -1982.32, 744.17, -6.10352e-005, -1871.72, 1274.26, 200.0, 1, SFDWT

Add the zone name (first name on the line, all characters must be UPPERCASE) to the ini:

[155]
AngelPine=
SFDWT1=

If you have mods that add new zones you can use them but only if that mod has properly implemented them.
When in the pause menu map when you hover over them you should see their name. If you don't (for example if it only says San Andreas) then they will not work.

 

You can also have variations for specific interiors. Just use the interior's name.
This example replaces security in the Four Dragons casino with Triads:

[164]
TRICAS=117,118
[163]
TRICAS=117,118

You can find all the interior names here:
https://gtamods.com/wiki/Interior

 

You can use a "Wanted" filter on each ped to set which wanted level their variations appear in (Wanted1 to Wanted6). You must first add the variation to a city:

[280]
Global=155,167
Wanted1=155
Wanted2=167

On wanted level 1 (and when the player is not wanted) the LS cops will spawn as pizza guys.
On wanted level 2 the LS cops will spawn as Cluckin Bell guys.
On wanted level 3 and above they will spawn using both variations (no filter).
Each id in the filters must exist once.


The variations you add REPLACE the original. If you want the original to appear you must add it.
The variations will only appear in the city you added it in if the original spawns in that city by default.
You can add a variation many times (to the same line) to give it a higher priority (e.g Global=155,155,167).
If you add a variation to, for example, Red County and one to Montgomery they both will spawn in Montgomery because Montgomery is inside Red County (this does not apply to zones from info.zon).
You can set 'DontInheritBehaviour=1' on the parent model to stop variations from inheriting stats (fear/respect etc). Example:

[280]
LosSantos=wmypizz,wmybell
DontInheritBehaviour=1

Now the fast food guys that replace the cops will run away scared when hit.

 

You can set the variations on a city or zone to 0 to stop that ped from spawning there. For example, to stop MALE01 from spawning in Los Santos:

[7]
LosSantos=0

 

Variations set in zones will override variations set in cities unless you set MergeZonesWithCities to 1. Example:

[280]
LosSantos=18,20
GAN1=16,17
MergeZonesWithCities=1

Or you can just add the LosSantos variations to GAN1:

[280]
LosSantos=18,20
GAN1=16,17,18,20


You can also set `UseParentVoice=1` to make a variation sound like the parent ped. Example:

[280]
LosSantos=13
[13]
UseParentVoice=1

Now the female ped bfyst will sound just like any cop when it spawns as a variation, if it spawns like a normal ped it will still sound the same.

You can also set `Voice=` to use a specific ped's voice. Example:

[13]
Voice=7

Now the female ped bfyst will always sound like a guy.

Special Peds

You can also use 'special' peds that don't have an ID (e.g unused peds like MEDIATR or skin mods).
These peds can only be used by their model name since they don't have an ID.
To use them you must first enable them in 'ModelVariations.ini' by setting EnableSpecialPeds=1.
If you enable them you must have a limit adjuster installed like OpenLimitAdjuster or fastman92LimitAdjuster otherwise they will not work.
If you don't have one already I recommend OpenLimitAdjuster. If you use it, change the 'PedModels' setting from unlimited to something high like 5000.
You must also set "UseParentVoice" on each special ped otherwise they will all sound the same.
To use skin mods as variations you just add them in a folder in modloader then you use the filename (7 characters max) to add the variation.
For example, if you have myped.dff and myped.txd in modloader you can use them like this:

[280]
LosSantos=280,myped


The ini for the ped variations also contains the following options:

RecursiveVariations If enabled the parent models also use the variations of their variations. For example, id 280 has a variation with id 155 and id 155 has a variation 166 then 280 will also use the 166 variation.
UseParentVoices Makes the variations sound like their parent models by default. You can override this by setting 'UseParentVoice' to 0 or 1 on each model.
EnableCloneRemover Prevents peds from spawning if the same model of ped has already spawned.
CloneRemoverDisableOnMission Disables the clone remover function while on a mission (this includes side missions). This prevents some crashes in case a mission ped is removed.
CloneRemoverIncludeVehicleOccupants Whether clone remover affects vehicle occupants or not.
CloneRemoverSpawnDelay The time (in seconds) after which the ped will be allowed to spawn (only if the same model doesn't exist).
CloneRemoverIncludeVariations Determines whether a variation will spawn if a parent model has spawned and exist. Add the variation models here.
CloneRemoverExcludeModels Clone remover will not prevent models added to this option from spawning. Cop models and their variations must be here to prevent crashes.

 

'EnableCloneRemover' does not work for scripted peds.
You can use ";" (at the line start) to comment out a line.
Variations of CJ's Girlfriends are not supported.
Drug dealers only support added ped variations (IDs over 300).

Ped Weapons

To add weapon variations to a model (ModelVariations_PedWeapons.ini):

You can add variations to a specific weapon id (so the weapon variations will appear only if the ped has that weapon) or you can add a weapon to a specific slot (the weapon variations will replace any weapon in that slot).

The ped must already have that weapon (if the variations are for a specific weapon id) or any weapon in that slot (if the variations are for a slot).
Whether you choose WEAPON variations or SLOT variations the variation must be of the same slot (except for WEAPONFORCE). So you can only add pistols to pistols, shotguns to shotguns etc.

You can use the ped model instead of its id. (e.g [lapd1] instead of [280]). For the weapons you have to use the weapon id.

To add weapon id variations you add WEAPON plus the weapon id (these override the SLOT variations). Example:

[280]
WEAPON22=23,24

This replaces the LS cops' Pistol with either a Silenced Pistol or a Desert Eagle.

 

To add a slot variation you add SLOT plus the weapon id. Example:

[280]
SLOT2=23,24

 

You can also add weapon id and slot variations for specific zones.
To do so you add the zone name plus _WEAPON or _SLOT and then the weapon id. Example:

[280]
GAN1_SLOT2=24
GAN2_SLOT2=24

 

Zone variations replace global variations (e.g GAN1_SLOT2 replaces SLOT2) unless you set 'MergeZonesWithGlobal=1':

[280]
SLOT2=23
GAN1_SLOT2=24
GAN2_SLOT2=24
MergeZonesWithGlobal=1

 

You can use WEAPONFORCE to force a ped to spawn with specific weapons even if he doesn't have any weapons in that slot:

[280]
WEAPONFORCE=10,14
GAN1_WEAPONFORCE=18
GAN2_WEAPONFORCE=18
MergeZonesWithGlobal=1

 

You can use 'DisableOnMission' per model to disable variations while you are on a mission:

[280]
WEAPONFORCE=10,14
GAN1_WEAPONFORCE=18
GAN2_WEAPONFORCE=18
MergeZonesWithGlobal=1
DisableOnMission=1

 

You can add variations that work only when the ped is in a vehicle by adding the vehicle id or model name in front of WEAPONFORCE or WEAPON or SLOT.
If you choose to use the model name then you must use it everywhere (don't use both the id and name). Same with the id, if you use it don't use the name.
This also supports zones:

[280]
596_WEAPONFORCE=10,14
596_GAN1_WEAPONFORCE=18
596_GAN2_WEAPONFORCE=18
MergeZonesWithGlobal=1
DisableOnMission=1

If you also have non-vehicle settings the peds inside cars will use the vehicle id settings and the models on foot will use the normal settings.

[280]
WEAPON22=24
COPCARLA_WEAPON22=23
DisableOnMission=1

You can also add variations for specific wanted levels:

[280]
WANTED2_WEAPON22=24
WANTED2_GAN1_WEAPON22=23
WANTED1_COPCARLA_WEAPON22=24
WANTED3_COPCARLA_GAN1_WEAPON22=23
DisableOnMission=1

The more specific settings (e.g WANTED1_COPCARLA_WEAPON22) override the less specific settings (e.g COPCARLA_WEAPONFORCE). This does not apply to zones.

You can also use the [Global] selector to change the weapons of all peds:

[Global]
WEAPONFORCE=31
DisableOnMission=1


Weapon slots:
0 - Brass Knuckles and fist
1 - Melee weapons
2 - Pistols
3 - Shotguns
4 - Submachine guns
5 - Assault rifles
6 - Sniper and country rifles
7 - Heavy weapons
8 - Thrown
9 - Equipment (camera etc)
10 - Gifts (flowers etc)
11 - Goggles and parachute
12 - Satchel detonator

 

Weapon IDs: http://hotmist.ddo.jp/id/weapon.html

Vehicles

To add vehicle variations:

  1. Open "ModelVariations_Vehicles.ini"
  2. At the end of the file enter the id (or the model name) of the model you want to add variations inside [] brackets (e.g if you want to add variations to the car "Alpha" [602] or [alpha])
  3. In a new line, enter the city you want (you can find them in the peds example) then enter a '=' and then the id or model name of the variation you want to the city you want (e.g Global=602).
  4. You can use a comma to add multiple variations (e.g Global=421,405).
  5. (Optional) If you want you can add specific variations to appear during specific wanted levels.

You can specify any zone in the game you want. (See the Peds section above).
You can only assign variations to the original game vehicle models.

For example this replaces the LS cop car with a Merit at wanted level 1, a Sunrise at level 2 and both (since the entries are empty) at higher levels:

[596]
LosSantos=551,550
Wanted1=551
Wanted2=550

If you add the same variation to 2 or more models you must use “ParentModel” and set 1 model as the parent model (even if you set it to a different city/zone).

[596]
LosSantos=550
[598]
LosSantos=550
[550]
ParentModel=596


The variations must always be of the same type as the original model and with at least the same number of doors (e.g you cannot assign a bike as a variation to a car).
The "Wanted" options act as filters. You must first add the variation to a city. Each id and group in the filters must exist once.
The variations you add REPLACE the original. If you want the original to appear you must add it.
The variations will only appear in the city you added it in if the original spawns in that city by default.
You can add a variation many times (to the same line) to give it a higher priority.
You can set "ChangeOnlyParked=1" to a model to only change cars of that model that spawn parked, not cars in traffic.
You can set the variations on a city or zone to 0 to stop that vehicle from spawning there. For example, to stop Bobcat from spawning at Los Santos:

[422]
LosSantos=0


Variations set in zones will override variations set in cities unless you set MergeZonesWithCities to 1. Example:

[596]
Global=596,421
GAN1=507,405
MergeZonesWithCities=1


You can set an emergency car's variation light positions by setting "LightX" "LightY" "LightZ" and "LightWidth". These are float values (with a dot e.g 0.5).
You can also set the color by setting "LightR", "LightG", "LightB" and "LightA". It uses values from 0 to 255.
If the model has changing colors (like the cop cars) you can also use "LightR2", "LightG2", "LightB2" and "LightA2" the change the second color.
They must be set on the variation not on the original model.
Example:

[407]
Global=421
[421]
LightWidth=0.65
LightZ=-0.2
LightY=0.3
LightR=6
LightG=244
LightB=33
LightA=255
LightR2=255
LightG2=100
LightB2=99
LightA2=255


Vehicle occupants (driver and passengers)

You can specify the driver and passengers of the vehicle by using "Drivers=" and "Passengers=". Just add the models you want to appear as drivers or as passengers.

[575]
Drivers=46,249
Passengers=245,243,237
ReplaceDriver=1
ReplacePassengers=1

The options "ReplaceDriver" and "ReplacePassengers" allow you to choose whether you allow the original driver or passengers to spawn.
If you want the original driver or passengers to never spawn (only your added models will appear) set them to 1.
"Drivers=" and "Passengers=" affect the variations too (this does not apply to groups and vehicle model 570). So if you have added a variation then it will also spawn with these drivers and passengers.
If you just add them on vehicles that spawn as variations they will not work. You can only add them on parent vehicles.
You can make specific groups of vehicle occupants by adding ped models to "DriverGroupX" and "PassengerGroupX" (Replace the X with a number from 1 to 9). Both must be set.
You can set vehicles to appear only with the groups you added by setting "UseOnlyGroups" to 1 on the model you want. Otherwise half the time they will appear with other peds.
You can set "Passengers" to 0 to force vehicles to spawn without passengers.

You can specify wanted level filters, zones and cities for vehicle occupant groups. Example:

[490]
Global=596,421,507,405
DriverGroup1=249
PassengerGroup1=243,244,245
DriverGroup2=232
PassengerGroup2=236,234,235
DriverGroup3=29
PassengerGroup3=28,27
Wanted2=596,421,Group1
Wanted3=596,507,Group2
GAN1=Group1,Group3
LosSantos=Group2
UseOnlyGroups=1

What should happen in the above example:

The LS Police car will some times spawn as a Washington, an Elegant or a Sentinel.
In Los Santos it will always spawn with Group2 occupants only when it spawns as a Police Car. Outside LS it doesn't spawn, obviously, but if it did it would use all 3 Groups.
In GAN1 (which is the northern part of Ganton) it will spawn with Group1 or Group3 when it spawns as a Police Car.
During wanted level 2 it will only spawn as a Police Car or a Washington and with Group2 at LosSantos (invalid filter, no Group1 in Los Santos) and Group1 in GAN1 if it spawns as a Police Car.
During wanted level 3 it will only spawn as a Police Car or an Elegant and with Group2 at LosSantos and Group1 or Group3 in GAN1 (invalid filter, no Group2 in GAN1) if it spawns as a Police Car.

 

Wanted levels that don't have anything assigned spawn with all variations and occupants.

 

You can set car tuning parts for car models that spawn parked (the random ones only) and in traffic. Example:

[jester]
Global=exh_a_j,exh_c_j,fbmp_a_j,fbmp_c_j,nto_b_l,nto_b_s,nto_b_tw,rbmp_a_j,rbmp_c_j,spl_a_j_b,spl_c_j_b,rf_a_j,rf_c_j,wg_l_a_j,wg_l_c_j,nto_b_s
TuningFullBodykit=1

You just add them like you add variations (make sure there are no spaces). Each part spawns randomly.
'TuningFullBodykit' forces the front bumper, rear bumper and side skirts to spawn together.
Check carmods.dat for what tuning parts each car supports. Unsupported parts will cause a crash.
To add hydraulics to a car use 'hydralics'. To add bass boost use 'stereo'. To add paintjobs use 'paintjob1' to 'paintjob4'.
You can also use 'TuningRarity' on a model to set how often that car will appear with tuning parts. Higher values mean that they will appear more rarely.
'TuningRarity' on 0 means it will never appear with tuning parts. 1 means always. 2 means 50% of the time. 3 means 33% of the time, 4 means 25% and so on.
If you don't set TuningRarity, the default value (3) will be used.

 

The ini for the vehicle variations also contains the following options:

ChangeCarGenerators Enables variations for non-emergency parked cars.
ChangeScriptedCars Enables changing cars spawned in scripts and missions. WARNING: It may cause crashes or other bugs!
DisablePayAndSpray Stops law enforcement and emergency variations from being repaired at a Pay and Spray like the original cars.
EnableLights Needs EnableSiren to be 1. Enables lights on emergency car variations. You can adjust the position for each model.
EnableSideMissions Enables side missions for vehicle variations.
EnableSiren Enables the emergency car variations to have sirens.
EnableSpecialFeatures Enables some vehicle special features like water cannons on Firetruck and SWAT Tank variations.
LoadAllVehicles Forces all original vehicle models to be loaded in memory. This may help if you find that models with variations spawn more often.
ExcludeCarGeneratorModels Allows you to specify which parked models won't be changed if that model has variations.
ExcludeModelsFromInheritance Models in this option will retain their characteristics (occupant models, side missions etc) when added as a variation.

'LoadAllVehicles' may need a memory increasing mod (like OpenLimitAdjuster) if you have replaced many cars with HD models.
You can also use fastman92LimitAdjuster for side missions if you enable FLA's model special features and add your added vehicle in model_special_features.dat
For the 'EnableSpecialFeatures' option to work properly, you must ensure that FLA's model special features option is disabled.
Other FLA features, such as increasing ID limits, may also conflict with the 'EnableSpecialFeatures' option.

Vehicle IDs: http://weedarr.wikidot.com/veh


Recommended to use with added peds/weapons/vehicles.
Tutorial: https://www.youtube.com/watch?v=IOsIuoON_2E

Some vehicle special features may not work in which case you should use a mod that enables them like fastman92LimitAdjuster's model_special_features.
Most models are supported. If you want me to add support for a specific model you can report it at the sites mentioned in the readme.

Map with all zones
https://static.wikia.nocookie.net/gtawiki/images/4/40/TerritoriesNamesGTASA-map.png/revision/latest?cb=20160714130032

Recommended editor for ini files: Notepad++