-
Notifications
You must be signed in to change notification settings - Fork 0
AI Bandits json breakdown

ARRAY - array is an ordered list of values, it can be easily recognized by being enclosed in square brackets []. Elements inside array are separated by commas. Content of the array can hold mixed data types like strings, numbers, objects, or other arrays.
INTEGER - Numeric data type, for example "accuracy": 75.0,
STRING - Simple text representing structured data, for example "name": "Petrovka_West",
SWITCH/BOOLEAN - Simple numeric or alphabetical switch to turn features on or off, GroupOne=on(precise group), None=false (disabled), example
"crashsites": None,
Integer
This line represents
the current version of the mod, never change this on your own
Switch
Debug function for admins only, its a switch to turn the visibility of sniper triggers on or off.
Trigger is shown as blue box on a target location, it can be adjusted direction - wise, but not distance-wise, this is because
limited visual range of the NPC, making these triggers in a distance they cannot see on would make no sense.
Remeber to always set this to 0 after you are done debuging
Switch
Deletes all items at zero vector (coordinates 0 0 0). This switch should only be used when items spawn/drop at those coordinates (occasional bug)
String
Controls NPCs by helicrash sites. AI Bandits allows you to place either entire patrols or loners one by one to crash sites.
For now AI Bandits only support helicrash sites. You should remember one thing when deciding whether to use this feature or not, AI Bandits are unpredictable
and tend to walk away if they chose so, by turning this feature on, you may end up with AI freely wandering around the map as often is the case.
They do not behave like other AI mods standing and guarding the crashed helicopter, so take this into consideration.
Values:
None (No NPC on helicrash sites)
Random (Any group picked randomly from all groups created)
<Group Name> (Assigns specific group of you liking)
Switch
Switch to turn car and its crew damage on and off. This is selfexlanatory i guess, it allows the AI Bandits to shoot and deal damage to passing car and it's passengers.
For now, the higher the speed, the higher probability that the AI actually hits the car and destroys the components (radiator, wheels or sparkplug) and one-taps the crew inside due to bullet velocity and car velocity being actually additive. It will work this way untill we figure out some appropriate way to take the car speed into account
Object
An array of patrols you have created, this block contains every single group of NPCs with all its properties like coordinates, names, clothes and so on
String
The name of the group, this name has 2 functions.
First is just informative for you to know where the NPC group actually is. The other purpose is to spawn certain AI group using triggers with SpawnerBubaku mod. If a patrol name is added into SpawnerBubaku json name: parameter it will spawn that group by rules defined in SpawnerBubaku, but with properties defined in DynamicAIB.json like weapons, group composition, dog, whether it throws grenades or not a so on. Snipers cannot be spawned by SpawnerBubaku using this method as trigger cannot spawn another trigger
example:
"name": "Balota",
String
Tells the game which faction is the group part of. Values Bandits or Guards. There is difference between Guards and Bandits.
Bandits do not attack zombies and are not attacked by zombies. Guards do attack zombies, Bandits, players who mean imminent danger (raised weapons or hands) and animals marked with IsDangerous flag like bears or wolves. Guards are attacked by zombies but can defend themselves.
Array
This part is an array of coordinates that determine the AI group planed route from point A to point B.
Array
This is a array for the NPC class names. In DayZ, each survivor has its own name, the list of these names can be found here. The only exception is Mirek, Mirek does NOT exist in AI Bandits, he was renamed to Adam.
Bandit AI NPC class names consist of 2 parts, first is prefix telling the game that the NPC is from Bandit AI mod, the prefix is "BanditAI_". The second part is the actual name of the survivor model you can find in the link above.
Lets take model named Irena. By adding the BanditAI_ prefix you will tell the game that you want a Bandit AI NPC with Irenas face and body, the final NPC class will be BanditAI_Irena.
The amount of class names always equals the amount of NPCs in the patrol
"npcclasses": ["BanditAI_Irena"],
Array
This part is for defining weapons and weapon sets. You can use predefined presets, single weapon or multiple weapons and even mixed, Example:
Single weapon
"weaponpool": ["Hatchet","SplittingAxe","CombatKnife"],
preset
"weaponpool": ["Predefined_AKM"],
or mixed
"weaponpool": ["Predefined_AKM","CombatKnife","Hatchet"],
If you use the first method without "predefined_" prefix, all weapons will be WITHOUT attachments, this is a good way to use melee weapons like baseball bats, axes, knives and so on. Weapons are drawn RANDOMLY, if you want something to have higher chance to be drawn you have to repeat it several times like this:
"weaponpool": ["Hatchet","Hatchet","Hatchet","Hatchet","CombatKnife"], with this Hatchet has a chance of 1:4 that it will be used instead of combat knife, the more times you repeat this, the higher the chance. If you want a 100% chance, use only one specific item.
Integer
Defines the accuracy of NPCs, values are from 0 to 100, the higher the value, the more accurate NPCs are. AI Bandits cannot "use" things per-se, so whether there is an optics or flashlight on the weapon doesnt matter, it has no impact on the accuracy. Shooting is build upon technology called raycast which ensures that AI will shoot only what it actually sees. Imagine it like sun rays but for eyes, if there is nothing, the rays go through, if there is something in the way the rays can't go through and it casts a shadow. Raycast works same way
Integer
Defines the percentual chance for the NPC or patrol to throw the grenades, value 1-100 (-1 to disable completely). When setting this up remember, that grenades are very dangerous and are doing very high damage. AI Bandits take cover when they throw the grenades to prevent injury
Integer
Numbers representing types of dogs like Dobermann, Rottweiler, German Shepperd and so on. You have to install DayZ-Dog mod to use this feature. Values 1 to 35 for dog type or 0 to disable dog completely. Only the group leader who is randomly picked from the NPC pool does have a dog, so there is one dog per group. List of DayZ-Dog dogs can be found here
Object
This block contains AI Bandits properties such as clothing slots (head, mask, body, vest, gloves and so on) as well as loot definition.
If a mask (any, even balaclava) is present in Mask slot, the dog (if present) will autoequip dog gas mask. AI Bandits can wear and use headtorches, headtorches will autoswitch on when in dark area or at night, even without the battery
Array
This part is for defining loot that the NPC drops when killed. Loot drop is randomized. If you want to set a priority to some item (the chance that it drops), but retain randomization, just repeat the item you preffer. The more times this item is repeated, the higher the chance. Example:
"loot": ["Apple", "Apple", "Apple", "Apple", "Knife"]
Array
This block is for your snipers, different style of NPCs who are using triggers to focus on a certain location to shoot upon whatever enters the trigger area. This block's structure is exactly the same as for patrols, except for 3 additional values. These are sniper specific additional data.
"positions":
Array
This is an array that defines the positions snipers will spawn on, you can use either one fixed possition for the sniper to spawn at all times or you can use multiple coordinates to spawn the sniper randomly on any of these coordinates.
"fixedpos":
Switch
Should the sniper NPC try to be in the place at all times without moving? This is experimental feature and may or may not work, values are 1=true (yes), 0=false (no)
"triggerpos":
Coordinates for the sniper trigger, its size is fixed, but possition can be altered. You can enable vizual representation of the triggers by setting "showtriggers": value to 1
Array
This part is for building weapon presets, it contains weapons class names as well as classnames of the weapon attachments like optics, butstocks, hanguards, magazines, ghillie wraps and so on and it always needs to have the Predefined_ prefix. Remeber that different attachments fit different weapon types, so pay attention when listing them
"name": "Predefined_AKM", - This is the name of the preset, you can name it however you want
"weapon": "AKM", - The actual class name of the gun, class names can be found in types
"attachments": ["Mag_AKM_30Rnd","AK_WoodHndgrd","AK_WoodBttstck"] - List of attachments that can be used on the weapon