To add variations to a ped model:
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=
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
[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
You can also set `Voice=` to use a specific ped's voice. Example:
[13]
Voice=7
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).
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
[280]
WANTED2_WEAPON22=24
WANTED2_GAN1_WEAPON22=23
WANTED1_COPCARLA_WEAPON22=24
WANTED3_COPCARLA_GAN1_WEAPON22=23
DisableOnMission=1
[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
To add vehicle variations:
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
[575]
Drivers=46,249
Passengers=245,243,237
ReplaceDriver=1
ReplacePassengers=1
[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++