System Requirements
Requires Microsoft .NET Framework 4.5.2
Download
You can download our vanilla loot tables and the loot table compiler binaries from our Download page.
Usage
Create a batch file to execute the loot table compiler. After the loot compiler ran, it will create an output file at the location you have specified. Put the content of that file into your exile_server_config.pbo/config.cpp and replace any existing CfgExileLootServer config with that.
com.exilemod.lootcompiler.exe <item group file> <loot table file> <output file>
Example #1
Assuming the .exe and all the other files are in the same directory:
com.exilemod.lootcompiler.exe LootItemGroups.h LootTables.h CfgExileLootServer.hpp
Example # 2
In case the .exe and the other files are not in the same directory:
"C:\@Exile\03 Tools\com.exilemod.lootcompiler.exe" "C:\@Exile\02 Source Code\exile_server_config\pre-config\LootItemGroups.h" "C:\@Exile\02 Source Code\exile_server_config\pre-config\LootTables.h" "C:\@Exile\02 Source Code\exile_server_config\config\CfgExileLootServer.hpp"
Loot Item Group File
The item group file is used to bundle items into logical groups. The advantage of using groups is, that you do not have to link every single item with a respective loot table, but only the group instead. The loot table compiler will parse, resolve and expand your input files into a format that can be used by Exile while running in the Arma 3 server.
Syntax
The syntax of this file is as rudimentary as it can get. You can define as many item groups as you want. Each item group is defined by a "> " and its name. Be aware that the name must not contain any numbers, special characters or whitespace. Only use pure alphabetical letters.
> Item Group Name Spawn Chance, Arma Item Class Name
The spawn chance is not a percental value. It defines the number of occurrences of one item in that item group. When Exile drops one loot item, it picks a random one from the given list. By using lower
It is advised to not use very high occurrences to not blow up the resulting item group (and loot tables). If you end up defining loot spawn chances that have the same greatest common divisor, divide all defined spawn chances by that. If you for example defined "5, 10, 10, 25", which have 5 as the greatest common divisor the same spawn chances can be represented as "1, 2, 2, 5". The reason to do that is to keep the number of items in a resulting config as low as possible to achieve maximum server performance.
Example
> Food // Sum = 5 1, Exile_Item_CookingPot // 1 * 100 / 5 = 20% 2, Exile_Item_CanOpener // 2 * 100 / 5 = 40% 2, Exile_Item_Matches // 2 * 100 / 5 = 40% > Drinks // Sum = 14 1, Exile_Item_Beer // 1 * 100 / 14 = ~ 7.14% 1, Exile_Item_EnergyDrink // 1 * 100 / 14 = ~ 7.14% 1, Exile_Item_PlasticBottleFreshWater // 1 * 100 / 14 = ~ 7.14% 1, Exile_Item_PowerDrink // 1 * 100 / 14 = ~ 7.14% 2, Exile_Item_MountainDupe // 2 * 100 / 14 = ~14.28% 3, Exile_Item_ChocolateMilk // 3 * 100 / 14 = ~21.42% 5, Exile_Item_PlasticBottleDirtyWater // 5 * 100 / 14 = ~35.71%
Important
Do NOT add weapons to your loot tables that spawn with attachments, as this will allow endless duping! Use the variant without attachments.
Loot Table File
This file bundles item groups into a single loot table, which is then later bound to a building in exile_server_config.pbo/config.cpp/CfgBuildings. The syntax is exactly the same as for item groups.
Syntax
> Loot Table Name Spawn Chance, Item Group Name
Example
> Industrial // Sum = 23 1, Restraints // 1 * 100 / 23 = ~ 4,34% 3, RoadFlares // 3 * 100 / 23 = ~13,04% 5, Vehicle // 5 * 100 / 23 = ~21,73% 6, Trash // 6 * 100 / 23 = ~26,08% 8, IndustrialItems // 8 * 100 / 23 = ~34,78%
Working with percentages
The format of both loot tables and loot item groups work on total sums. If you manage your total sum to be 100, you get a nice and human-readable overview of percentages.
// in LootTables.h > Industrial 20, HandGrenades // 20% chance to spawn hand grenades in industrial buildings 80, Trash // 80% chance to spawn trash in industrial buildings // in LootItemGroups.h > HandGrenades 50, HandGrenade // 50% chance when spawning hand grenades 50, MiniGrenade // 50% chance when spawning hand grenades > Tash 40, Exile_Item_CookingPot // 40% chance when spawning trash 40, Exile_Item_CanOpener // 40% chance when spawning trash 20, Exile_Item_Matches // 20% chance when spawning trash