Jump to content

Expanded Building Loot Spawn Files


General Zaroff

Recommended Posts

I found a number of requests for these when I was looking for them, but couldn't find them, so I decided to generate them myself.

 

Here are loot spawn configuration files that equate most of the MAP_EU building class IDs to existing class IDs. They also add some root, mid-level, and high-level building classes like "construction", "MilitaryOffice", and "Biotech" to the existing classes that can be re-used by developers. 

 

The German residences... the big supermarkets... the alternate control tower and military offices ...  all the training facility "killhouses"  -- they're all worked out here. The one killhouse that had been spawned out has further been redefined as military instead of residential, as it should be. Useful and interesting buildings like the big bio-tech facility, the additional factories, the various homes, residences -- all included. Some of the big, more interesting burned out and ruined residential blocks that present interesting combat opportunities across floors and catwalks are also spawned out.

 

Only the large supermarket models have items distributed through the shelves, display cases, and various tables. I've made no attempt to populate tables and shelves in other models.

 

Some of the older vanilla Chernarus industrial area models that have catwalks and walkways have had spawn points added along the walkways and landings.

 

I've not used any of the "African" buildings yet, and so none are included. There's also a series of new rowhouses that I haven't yet tackled.

 

Most of the small no-entry homes and barns have been included with roaming zed specs. A few that have large porches have spawn points on their porches.

 

This is syntactically correct, and a great number of them have been tested and verified, but I won't guarantee them to be perfect.

 

 

 

http://www.ericpeterson.info/dztools/ExpandedBuildingLoot.zip

 

 

Link to comment
Share on other sites

Please let me know how they work for you. I'll incorporate fixes and revisions as necessary. I'm actively using them on my server now but haven't had the chance to go through each and every building myself yet.

 

I should also have noted that the basic spawn points represent some revisions with respect to the default loot. I've removed MAAWs ammo and weapons, for example, and tweaked a lot of things. My server's focus is almost entirely player-versus-AI, so loot is skewed to make base-building a little easier, and in general to help players stay alive faced with constant threat.

Link to comment
Share on other sites

There are three main purposes to these files.

 

(1) Addition of loot and zed spawn positions to buildings in MBG_buildings2 and ...3 that previously had none. You can use these buildings, building construction BIScripts through the editor or inserting them through other means, but the constructions will be barren and dead and boring. You can build entire towns... and not a single zed or loot pile will spawn because there were no spawn locations specified by the default Epoch install. These files add spawn locations for a large number of those buildings that previously had none.

 

(2) When you use the editor, the BIScript that's generated under Epoch frequently uses class IDs which are redundant. That is, the editor inserts an unfinished factory as MAP_A_BuildingWIP, but this building was previously identified as Land_A_BuildingWIP. A loot spec for the latter exists, but not for the former. You can fix this by editing the script manually before you install it, changing one class into the other, but it's easier just to let the revised files above subclass the MAP_ variety from the Land_ version. Which means no editing of the script is necessary; you can use it right out of the editor. ( This subclassing is not complete. I will make further changes to include a few more MAP_ versions I omitted, so some editing for some buildings is still necessary.... )

 

(3) Epoch makes base building difficult by limiting key supplies like mortar. I've revised pretty much the entire loot system to make building supplies more common everywhere they appear, and I've tweaked the distribution to make things like mortar about as common as other components. You may not want these changes. More on that in a moment.

 

 

Additionally, I've made changes to the way some buildings spawn loot entirely. For example, one of the "killhouses" -- I think killhouse4 -- has a loot spec in basic Epoch, but it's a "residential" class building. The killhouses, for people who may not know, are simplistic cinderblock and slab constructs typical of what you'd find on military and security training courses. They are specifically designed for combat and counter-terrorism training scenarios and have none of the amenities of "real" buildings. They are fireproof and highly damage resistant. Thus, they shouldn't be "residential". I've spawned out all of the killhouses and the related "killwarehouse" as "military".

 

An example: I've used all of the killhouses to build a typical counter-terrorism training "town square" as an adjunct to a new, smaller airfield in the convenient area west of NWAF. There's also a residential area -- using the "German" houses, most of which did not previously have loot specifications, and a dense military industrial zone centered on an additional airstrip. I've installed an instance of one of the big supermarkets as the centerpiece of the military residential area, across the street from an instance of the German pub. This area is very heavily loaded with hostile AI on foot, mounted, and airborne, so dense loading with military hardware and supplies makes sense -- the focus being on combat rather than simple survival. Some of these buildings -- particularly the biotech facility and the big supermarket -- are extremely dense with loot, so they should be reserved for particularly difficult areas unless you adjust the odds.

 

If someone wants to use the new building spawn info on top of a default loot spawn setup, they'd need to graft the new parts of these files into their default files. And of course you'd need to set up your server for custom loot in the first place... I haven't even attempted to cover that, since it's been covered in detail elsewhere.

Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...

Negative. At least, not in one swell foop. My cfgbuildingpos.hpp file relies upon some new classes I've generated in the other files. However, you could revise the class specifications in the position file to remove those. You could reclassify the biotech facility, for example, as an "Industrial" building instead of using my new Biotech class. You'd also have to remove references to my Construction and MilitaryOffice classes.

 

I think if you changed all instances of Biotech to Industrial or Office, and all instances of MilitaryOffice to Military, and all instances of Construction to Industrial, you should be OK. I think that's all of the new ones.....

Link to comment
Share on other sites

I am as using the Origins Taviana map as well. So many empty buildings... I'm looking at a ton of instructions for custom loot tables but none that I've seen so far reverence how to add loot to existing buildings.... Not sure how to go about figuring out what the classnames of those buildings are though...

Link to comment
Share on other sites

Here are Origins specific buildings loot positions.

 

Add them to your CfgBuildingPos.hpp file:

 

//ORIGINS


class Land_tav_Barrack2 : Military {
lootPos[] = {{1.24634,4.12891,-0.68939},{1.14526,0.330078,-0.721592},{-1.6864,3.8418,-0.710402},{-2.18811,-2.91602,-0.692757},{1.37219,-0.96875,-0.653217}};
};
class Land_tav_Ind_Pec_03_nov : Industrial {
lootPos[] = {{7.11816,-21.1865,-5.36023},{3.15234,-9.58789,-5.35023},{8.6377,1.13916,-5.34023},{-0.453125,-0.964355,-5.34023},{-13.3867,-10.0005,-5.33023},{-7.76953,-10.0313,-5.32023},{-8.60352,-15.8286,-3.96721},{-9.10742,-12.6348,-2.47037},{-13.2656,-9.32764,-2.45037},{11.7871,-7.78174,5.82546},{-1.21582,-13.377,5.83546},{-0.919922,19.687,4.09103}};
};
class Land_tav_tovarna2 : Industrial {
lootPos[] = {{-11.6309,7.2052,-5.55933},{-12.0674,2.56909,-5.55933},{-4.89355,6.6394,-5.55933},{-3.74121,2.90393,-3.89665},{-12.8672,1.44519,-2.23135},{-12.415,8.1311,-2.23135},{-12.7236,4.11255,-2.23135},{-3.99805,8.9801,-2.23156},{-7.33105,8.44214,-2.23156},{-4.55371,5.22644,-2.23156},{-11.4746,2.92114,1.66661},{-11.0703,8.13818,1.66661},{-4.67578,7.32678,1.62174},{-2.68262,3.44763,3.4243},{-13.1953,-8.95862,3.4243},{-8.80859,-0.443481,0.401226},{-12.1328,-0.149414,0.424298},{-2.03418,6.61414,-5.55933},{0.239258,1.72278,-5.59793},{6.22461,-3.948,-4.61825},{-6.39355,-8.24353,-5.59541},{-10.8496,-6.91211,-5.56572},{-6.77637,-1.73083,-5.56019}};
};
class Land_tav_Ind_Pec_03 : Industrial {
lootPos[] = {{7.11816,-21.1865,-5.36023},{3.15234,-9.58789,-5.35023},{8.6377,1.13916,-5.34023},{-0.453125,-0.964355,-5.34023},{-13.3867,-10.0005,-5.33023},{-7.76953,-10.0313,-5.32023},{-8.60352,-15.8286,-3.96721},{-9.10742,-12.6348,-2.47037},{-13.2656,-9.32764,-2.45037},{11.7871,-7.78174,5.82546},{-1.21582,-13.377,5.83546},{-0.919922,19.687,4.09103}};
};
class Land_Ind_Mlyn_01 : Industrial {
lootPos[] = {{-6.88525,2.5332,9.12113},{-7.21045,2.59473,3.08799},{-2.69336,8.43848,0.18856},{-2.80615,8.02051,-7.77156}};
};
class Land_Ind_Mlyn_03 : Industrial {
lootPos[] = {{-7.87793,6.75293,-4.22196},{2.31104,1.54102,-4.20196},{2.45068,-7.54883,-4.22196}};
};
class Land_Ind_SiloVelke_02 : Industrial {
lootPos[] = {{9.44531,0.0566406,17.7159},{-6.57422,0.0644531,17.7059}};
};
class Land_Ind_SiloVelke_01 : Industrial {
lootPos[] = {{1.86816,6.25781,11.9014},{1.64258,-1.85742,11.8514},{-5.67188,3.04297,11.8514},{2.01172,-1.57813,-5.45222},{2.01367,7.23047,-5.46222}};
};
class Land_Ind_Pec_03b : Industrial {
lootPos[] = {{1.79883,-17.834,5.72049},{-2.71094,10.7085,5.71049},{-2.08105,19.0791,3.96606},{0.714844,25.252,3.96606}};
};
class Land_Ind_Expedice_3 : Industrial {
lootPos[] = {{1.86475,-5.73145,2.15865},{2.06738,6.79297,2.11729},{-1.11279,17.6689,2.10161}};
};
class Land_tav_HouseV2_01B : Residential {
maxRoaming = 2;
lootPos[] = {{-8.60889,2.91016,1.15648},{-9.13623,-0.748047,1.16798},{-4.93896,3.45801,1.15673},{-1.05664,2.22168,1.15663},{-2.76758,-1.0625,5.43909},{-7.48486,0.986328,5.44909},{-1.41699,4.82129,5.45909},{1.76758,-0.648438,6.17909},{6.99365,4.53906,5.42909},{1.5249,1.26465,5.42909}};
};
class Land_tav_guardhouse : Military {
maxRoaming = 2;
lootPos[] = {{0.0205078,2.83789,-1.70791},{4.25977,-0.359375,-1.68791},{-1,-0.617188,-1.71791},{0.952148,-3.15527,-1.71791},{-2.46191,-3.07129,-1.03791},{-2.44434,3.08691,-1.6907}};
};
class Land_tav_houseblock_b1: Residential {
maxRoaming = 3;
lootPos[] = {{6.16602,-2.40234,-7.09656},{5.99219,-3.0376,-6.73656},{6.06055,-2.62744,-6.38656},{6.36719,-2.94043,-6.38656},{6.14258,-3.62988,-7.08656},{8.55469,-2.19043,-6.73656},{8.50977,-1.9873,-6.38656},{8.92773,-2.39551,-6.02656},{8.98438,-2.92773,-6.02656},{8.90625,-1.74219,-6.73656},{6.72266,0.808594,-6.69656},{7.74023,0.877441,-6.67656},{3.38672,0.787598,-6.78656},{9.625,2.33789,-7.28656},{-5.52734,2.25049,-7.27885},{9.87305,-2.16895,-7.27656},{4.27734,-1.25732,-7.27656}};
};
class Land_tav_houseblock_b4_in : Residential {
maxRoaming = 3;
lootPos[] = {{0.396484,-1.99609,-7.30457},{1.09375,0.0253906,-3.32612},{-4.12305,2.87305,-3.28612},{-3.9248,2.96777,-2.54612},{-1.61133,3.08398,-2.29612},{-5.28711,-2.0791,-3.28612},{-1.53418,-3.94531,-3.31612},{5.0625,-2.58496,-2.78612},{0.839844,-3.99707,-3.30612},{-5.37305,0.949219,-3.31612}};
};
class Land_tav_HouseV_2L : Residential {
maxRoaming = 3;
lootPos[] = {{2.94727,-4.0979,-3.05021},{0.294922,-1.46436,-3.05999},{0.492188,3.06396,-4.07833},{4.24219,1.87793,-4.00904},{-2.95117,2.56055,-4.05833},{-1.30078,-3.3042,-1.13694},{2.68555,-4.24805,-1.13486},{-3.62109,2.62524,-0.594858},{1.5,3.74561,-0.394857},{-2.23633,-4.28052,-4.07968}};
};
class LAND_Domek_zluty_BEZ : Residential {
maxRoaming = 3;
lootPos[] = {{6.47559,2.75781,-2.42348},{-0.326416,-0.212891,-2.42361},{0.686768,3.92773,-2.40346},{-5.34692,3.45313,-1.53343},{-7.04883,-0.207031,-2.42347},{-6.91846,-3.81055,-2.42358},{-2.61182,-4.18945,-2.42365}};
};
class Land_Bulding_r : Residential {
maxRoaming = 3;
lootPos[] = {{-11.9141,-7.70056,-3.11493},{-5.33789,-8.85352,-3.11493},{9.89453,-8.91663,-3.12493},{3.5957,0.791138,-3.11493},{-0.537109,4.53772,-2.80493},{-4.25781,6.32971,0.5368},{3.08203,1.11963,0.546801},{-6.57617,-8.63171,0.5368},{-4.57422,12.075,0.5368},{-20.6484,-12.1409,0.5368},{-17.916,-16.7217,0.546801},{8.28711,-15.3203,0.5368},{13.3633,-1.95349,0.5268}};
};
class LAND_x : Default {
minRoaming = 0;
maxRoaming = 1;
zombieClass[] = {};
lootPos[] = {};
};

class Land_zombie_spawn : Default {
minRoaming = 0;
maxRoaming = 1;
zombieClass[] = {"z_Mutant"};
lootPos[] = {};
};

class Land_dumruina_mini : Residential {
maxRoaming = 3;
lootPos[] = {};
};

class Land_statek_hl_bud : Residential {
maxRoaming = 3;
lootPos[] = {};
};

class LAND_HouseBlock_D1_ex1 : Residential {
maxRoaming = 3;
lootPos[] = {};
};

class LAND_HouseBlock_D1 : Residential {
maxRoaming = 3;
lootPos[] = {};
};
class LAND_hockej_stadion : Residential {
maxRoaming = 3;
lootPos[] = {};
};
class LAND_Big_Panelka : Residential {
maxRoaming = 6;
lootPos[] = {{2.72461, -0.673828, -14.7521}, {3.56104, 3.88281, -14.7521}, {8.94434, -1.90771, -14.7521}, {10.9814, 0.0883789, -14.7519}};
};

class LAND_small_Panelka : Residential {
maxRoaming = 3;
lootPos[] = {};
};
class Land_statek_brana : Farm {
maxRoaming = 3;
lootPos[] = {};
};
class Land_Statek_kulna : Farm {
maxRoaming = 3;
lootPos[] = {};
};
class LAND_domek05 : Residential {
maxRoaming = 7;
lootPos[] = {
{-4.85107,-1.41309,-2.79727},
{-4.92188,1.28662,-2.79728},
{0.280273,-1.30566,-2.79728},
{2.28516,-1.74805,-2.79727},
{4.56299,0.943848,-2.79727}
};
};

class LAND_ZalChata : Residential {
maxRoaming = 2;
lootPos[] = {{-0.405273, -3.00085, -0.631011}};
};

class LAND_hotel_rivera2 : Residential {
maxRoaming = 4;//15
lootPos[] = {{-6.81641, -8.87415, -0.227416}, {-6.94629, 2.83325, -0.395831}};
};

class LAND_hotel_rivera1 : Residential {
maxRoaming = 5;//15
lootPos[] = {{10.8145, 4.72375, -0.209453}, {2.43164, 6.83557, -0.271956}, {-6.52734, 5.13611, -0.358277}};
};

class LAND_bus_depo : Industrial {
maxRoaming = 5;//15
lootPos[] = {
{46.2207,-12.0498,-11.023},
{41.7188,-16.0869,-11.023},
{33.9932,-27.4717,-11.023},
{34.5576,-22.0527,-11.023},
{27.3032,-11.8188,-11.023},
{20.5039,-15.9302,-11.023},
{22.4487,-38.8652,-11.023},
{12.3018,-33.7637,-11.023},
{12.332,-27.6064,-11.023},
{8.68701,-11.834,-11.023},
{-6.22607,-15.6729,-11.023},
{-6.7002,-26.4194,-11.023},
{-9.30078,-38.2964,-11.023},
{-17.5396,-40.0762,-11.023},
{-17.5771,-20.0938,-11.023},
{-12.4268,-9.27393,-11.023},
{-23.0518,-24.9692,-11.023},
{-40.2495,-25.6689,-11.023},
{-34.6821,-15.707,-11.023},
{-22.8115,-2.72607,-11.023},
{-23.3408,15.585,-11.023},
{-30.1621,35.708,-11.023},
{-23.6079,32.4619,-11.023}
};
};

class LAND_casino : Residential {
maxRoaming = 5;//50
lootPos[] = {};
};

class LAND_Parlament : Residential {
maxRoaming = 5;//50
lootPos[] = {{14.3896, 16.248, -8.68905}, {9.83301, -8.93848, -8.68905}, {10.9756, -22.2969, -8.68905}, {-3.5752, -15.6768, -8.68905}, {-10.0947, -3.38965, -8.68905}, {-32.4775, -11.9082, -9.15828}, {-41.9609, -6.90527, -8.68905}, {-20.8779, -0.0322266, -8.68905}, {-23.3994, 9.42383, -8.68905}, {-36.8359, 12.3271, -8.68905}, {-23.6777, 6.11328, -4.44803}, {-23.1836, 0.365234, -4.44803}, {-37.2666, 3.17383, -4.44803}, {-11.3096, -14.624, -1.5775}, {-16.0293, -2.89355, -1.5775}, {-9.78906, 17.9072, -1.00882}, {2.22656, 22.0771, 1.06898}, {6.81738, 18.7188, -0.604359}, {15.8086, 10.7207, -1.5775}, {12.6025, -14.8164, -1.5775}, {11.9072, -23.6543, -1.5775}, {-6.1748, -23.7324, -1.5775}};
};

class LAND_Galerie : Residential {
lootChance = 0.2;
maxRoaming = 5;//50
lootPos[] = {{2.2998, -15.3848, -4.03873}, {-3.52148, -5.5752, -4.03873}, {-0.500977, 6.52051, -4.03873}, {3.08398, 17.0322, -4.03873}, {7.05078, 21.6533, -4.03873}, {15.0928, 20.6689, -4.03873}, {9.73145, 13.6855, -4.03873}, {6.77148, 6.11621, -4.03873}, {10.415, -5.66602, -4.03873}, {17.2861, -0.505859, -4.03873}, {14.792, -11.7266, -4.03873}, {7.39355, -9.91992, -4.03873}, {11.9824, -23.0996, -4.03873}, {17.0127, -22.916, -4.03873}, {-6.96387, -22.4404, -4.03873}, {-16.3311, -20.2607, -4.03873}, {-8.69629, -12.6553, -4.03873}, {-15.2529, -3.19043, -4.03873}, {-12.7793, 0.00878906, -4.03873}, {-7.13867, 5.29004, -4.03873}, {-12.3525, 16.9082, -4.03873}, {-16.9336, 11.4092, -4.03873}, {-17.1719, 23.0137, -4.03873}, {-0.325195, 23.165, -2.77151}, {2.25293, 10.8838, -0.0799408}, {-0.390625, -21.5742, -0.0799408}, {-15.8799, -21.9678, -0.0799408}, {-8.38184, -15.25, -0.0799408}, {-15.9922, -3.94824, -0.0799408}, {-9.87598, 2.06152, -0.0799408}, {-15.7168, 20.9795, -0.0799408}, {-7.92676, 21.0273, -0.0799408}, {7.29199, 21.8848, -0.0799408}, {9.74707, 14.2617, -0.0799408}, {16.7217, 15.6582, -0.0799408}, {15.3125, 4.15234, -0.0799408}, {9.31543, -2.77637, -0.0799408}, {8.64258, -12.2246, -0.0799408}, {15.874, -15.8506, -0.0799408}, {8.00195, -22.6797, -0.0799408}};
};

class LAND_Stojan_Bus : Residential {
maxRoaming = 5;//15
lootPos[] = {{-0.432617,-4.72363,-2.94725},{-0.138672,2.72168,-2.94725},{-0.0273438,14.0723,-2.94725}};
};

class LAND_dum_patrovy03 : Residential {
maxRoaming = 5;//10
lootPos[] = {};
};

class LAND_Cinzak_long : Residential {
maxRoaming = 1;//5
lootPos[] = {};
};

class LAND_Cinzak_corner2 : Residential {
maxRoaming = 1;//5
lootPos[] = {};
};

class LAND_Cinzak_long_centr : Residential {
maxRoaming = 1;//5
lootPos[] = {};
};

class LAND_Cinzak_corner : Residential {
maxRoaming = 1;//5
lootPos[] = {};
};

class LAND_Cinzak_long_double : Residential {
maxRoaming = 1;//5
lootPos[] = {};
};

class LAND_spital : Hospital {
maxRoaming = 10;//30
lootPos[] = {{26.7461, 5.39746, -20.3688}, {27.5381, -11.8232, -20.3688}, {27.3848, -4.24023, -20.3688}, {16.9307, -1.49316, -20.3688}, {4.95117, -14.4082, -20.3688}, {-0.453125, -8.0293, -20.3688}, {-3.30566, 0.111328, -20.3688}, {-16.3809, 0.611328, -20.3688}, {-15.084, 5.4375, -20.3688}};
};

class LAND_Podloubi_double_low : Residential {
maxRoaming = 3; //5
lootPos[] = {};
};

class LAND_Podloubi_End_Low_1 : Residential {
maxRoaming = 3;//5
lootPos[] = {};
};

class LAND_Podloubi_End_Low_2 : Residential {
maxRoaming = 3; //5
lootPos[] = {};
};

class LAND_Garaz_velka : Industrial {
maxRoaming = 3;//30
lootPos[] = {{23.1904, 13.9424, 2.01991}, {3.24121, -11.0928, 2.00445}, {-18.8145, -6.86035, 1.98736}, {-1.86914, 31.0566, -0.0248146}, {9.60156, 6.1709, -1.75024}, {-16.4717, -7.5293, -1.77044}, {-1.99414, 24.2988, -3.8975}, {5.67578, 14.3477, -5.51864}, {18.374, 7.62695, -5.5088}, {12.4443, -6.52539, -5.51339}, {-22.5498, -19.5303, -5.54051}};
};

class LAND_Hotel_Marcomio : Residential {
maxRoaming = 3;//30
lootPos[] = {};
};

class LAND_shopping_sab2 : Supermarket {
maxRoaming = 3;//30
lootPos[] = {{-3.02246, -9.18652, -3.66148}, {2.74121, -0.436523, -3.66148}, {-2.81445, 9.39941, -3.66148}, {-8.21387, 8.58105, -3.66148}, {-4.8252,20.6104,-3.66148},{3.1748,21.4014,-3.66148}, {-11.0781, -11.707, -3.66148}, {-11.3047, -1.60938, -3.66148}, {7.66602, -10.1807, -3.66148}, {9.92285,-2.89453,-3.66148}, {-19.9063, -0.12207, -6.70006}, {23.7676, 4.64551, -3.65215}, {11.5693, 3.95996, -3.65815}, {10.6963, 10.0068, -3.65599}};
};

class LAND_Nadrazi_sabina : Residential {
maxRoaming = 5;//50
lootPos[] = {{9.3916, 2.6377, -18.609}, {12.6191, -13.3779, -18.083}, {-12.0859, -13.4141, -18.0592}, {-10.3867, 11.1563, -20.5584}, {18.3037, 25.9717, -23.8341}, {-16.3701, 27.2012, -24.99}, {-28.5869, 29.3105, -24.99}, {-31.9834, -6.94727, -18.0517}, {-21.3545, -38.3887, -12.6001}, {-5.75586, -43.291, -12.6138}, {9.58203, -38.4443, -12.5712}, {19.1826, -42.4551, -12.5954}, {-1.72852, -27.6846, -22.0921}, {19.6211, -30.2168, -22.0318}, {28.9629, -26.2432, -21.9936}};
};

class LAND_dum_patrovy06 : Residential {
maxRoaming = 3;//5
lootPos[] = {};
};

class LAND_Autosalon : Residential {
maxRoaming = 4;//40
lootPos[] = {{-0.675781, -2.78906, -8.88722}, {9.98242, 0.103516, -8.88722}, {13.1133, 11.5215, -8.88722}, {18.6689, 20.7617, -8.88722}, {7.25781, 17.5869, -8.88722}, {-1.80371, 22.6143, -8.88722}, {-20.9941, -4.5752, -1.02026}, {-8.07324, 19.542, -1.02026}, {-4.66113, 9.11816, -1.02026}, {3.75293, 8.75488, -1.02026}, {13.1406, 19.0322, -1.02026}, {15.6494, 4.32324, -1.02026}};
};

class LAND_Banka : Residential {
maxRoaming = 5;//5
lootPos[] = {{3.83691, -15.7803, -25.6122}, {5.27539, -7.64551, -25.6122}, {13.2227, -7.44336, -25.6122}, {11.8125, -11.6328, -25.6122}};
};

class LAND_Muzeum : Residential {
maxRoaming = 15;//40
lootPos[] = {};
};

class LAND_big_church : Church {
maxRoaming = 3;//20
lootPos[] = {};
};

class LAND_Ruske_kolo : Residential {
maxRoaming = 3;//10
lootPos[] = {};
};

class LAND_Bufet : Residential {
maxRoaming = 3;//15
lootPos[] = {{10.9902, -1.64453, -1.7135}, {6.53027, -2.49707, -1.7135}, {4.9541, -6.72949, -1.7135}, {-1.73047, -12.3477, -1.7135}, {3.03809, -3.75781, -1.7135}, {-4.38379, -7.69727, -1.7135}, {-0.751953, -1.2002, -1.7135}, {6.97559, 4.30762, -1.7135}, {-0.258789, 2.55762, -1.7135}, {-6.70898, 3.5918, -1.7135}, {-7.43555, -5.5752, -1.7135}};
};

class LAND_Bus_Stojan_Bud : Residential {
maxRoaming = 3;//15
lootPos[] = {};
};

class LAND_Cinzak_roh2 : Residential {
maxRoaming = 3;//20
lootPos[] = {};
};

class LAND_Cinzak_roh3 : Residential {
maxRoaming = 3;//20
lootPos[] = {};
};

class LAND_Cinzak_trojuhlenik : Residential {
maxRoaming = 3;//20
lootPos[] = {};
};

class LAND_kanovka_budova : Industrial {
maxRoaming = 3;//10
lootPos[] = {{-4.93652, -3.72852, -6.58418}, {-6.65625, 10.7012, -6.58418}};
};

class LAND_kanovka_budova_snich : Industrial {
maxRoaming = 3;//10
lootPos[] = {{-12.3037,-0.175781,-7.46695},{-6.47119,-8.65234,-7.46695},{-4.81348,-3.49023,-7.46695}};
};

class LAND_HouseV_2I_snow : Residential {
maxRoaming = 3;//5
lootPos[] = {};
};

class LAND_bouda1_zima : Residential {
maxRoaming = 3;//5
lootPos[] = {};
};

class LAND_kasarna_brana : Military {
maxRoaming = 3;//5
lootPos[] = {};
};

class LAND_kasarna : Military {
maxRoaming = 3;//5
lootPos[] = {};
};

class LAND_kasarna_prujezd : Military {
maxRoaming = 3;//5
lootPos[] = {};
};

class LAND_kasarna_rohova : Military {
maxRoaming = 3;//5
lootPos[] = {};
};

class LAND_watertower1 : Residential {
maxRoaming = 3;//5
lootPos[] = {};
};

class OSShDY_base : Residential {
maxRoaming = 3;//20
lootPos[] = {};
};

class CD2 : Residential {
maxRoaming = 3;//20
lootPos[] = {};
};

class Ds : Residential {
maxRoaming = 3;//20
lootPos[] = {};
};

class Land_afbarabizna : Residential {
maxRoaming = 10;
lootPos[] = {{5.24512, 5.37036, -4.19494}, {5.20117, -1.52295, -4.22117}, {-2.97363, -1.07031, -4.22117}, {-2.50391, 5.43677, -4.22117}, {5.04004, -0.233643, -0.168262}};
};

class Land_fuelstation_army : Military {
maxRoaming = 3;
lootPos[] = {};
};

class Land_ryb_domek : Residential {
maxRoaming = 2;
lootPos[] = {{-0.0595703, -1.03418, -2.015}};
};

class Land_benzina_schnell : Industrial {
maxRoaming = 7;
lootPos[] = {};
};

class Land_chilovej_dum_mini : Residential {
maxRoaming = 3;
lootPos[] = {2.51221, 2.39453, -2.86942};
};

//Origins Wrecks
class Land_zygul_wrecked : Residential {
maxRoaming = 1;
lootPos[] = {};
};
class Land_sedan_weck : Residential {
maxRoaming = 1;
lootPos[] = {};
};
class Land_Trabant_wreck : Residential {
maxRoaming = 1;
lootPos[] = {};
};
class Land_kamaz_hasic : Residential {
minRoaming = 1;
maxRoaming = 1;
zombieClass[] = {"ori_pozarnik","ori_pozarnik","ori_pozarnik","ori_zombie6Ln"};
lootPos[] = {};
};

Link to comment
Share on other sites

Installation instructions (as best I can make out this appears to be working on my server)

 

1. Paste files in root of your mission folder  in a folder called "customloot"

 

2. add this line to the very top of your description.ext           

#include "customloot\cfgbuildingloot.hpp"

3. add this line to your init.sqf below your other variables

DZE_MissionLootTable= True;

I've read elsewhere that you should put the line in description.ext underenath ""enableItemsDropping = 0;" but I haven't tested that yet

Link to comment
Share on other sites

Chaingun427, that's correct; these are the basic steps to use my files.

 

BUT... as I've said before, there are quite a few other embedded changes in these files that some admins may not want. I really ramp up the frequency of base-building materials, for example. I also eliminate all forms of launchers... re-balance quite a few of the weapons spawns... etc. This is not intended as a simple addition to the average server, but as a resource for the advanced server developer.

 

I am working now on many of the residences and buildings in categories which for me were previously unused. I will be posting some fairly massive additions to these files within a couple weeks to include the various apartment buildings, shanties... etc.

 

Cen, thank you for posting the Taviana Origins building loot spawn data. I believe some of those buildings are relabeled in the Epoch build. I will integrate any Epoch building data I find there with my mods for any Epoch developer.

Link to comment
Share on other sites

Chaingun427, that's correct; these are the basic steps to use my files.

 

BUT... as I've said before, there are quite a few other embedded changes in these files that some admins may not want. I really ramp up the frequency of base-building materials, for example. I also eliminate all forms of launchers... re-balance quite a few of the weapons spawns... etc. This is not intended as a simple addition to the average server, but as a resource for the advanced server developer.

 

I am working now on many of the residences and buildings in categories which for me were previously unused. I will be posting some fairly massive additions to these files within a couple weeks to include the various apartment buildings, shanties... etc.

 

Cen, thank you for posting the Taviana Origins building loot spawn data. I believe some of those buildings are relabeled in the Epoch build. I will integrate any Epoch building data I find there with my mods for any Epoch developer.

GENERAL ZAROFF -

WHich is CORRECT 

2. add this line to the very top of your description.ext           

#include "customloot\cfgbuildingloot.hpp"

 

OR 

#include "customloot\cfgbuildingloot.hpp"   underneath ""enableItemsDropping = 0;" 

 

OR BOTH ? Or Niether ? LOL

Link to comment
Share on other sites

Chainsaw Squirrel, you need to include both the new loot files in your description.ext and set the DZE_ variable in your init.sqf.

 

I've placed "#include "CfgBuildingLoot.hpp"" just after "enableItemsDropping = 0;", and "DZE_MissionLootTable = true;" just after DZE_BuildOnRoads and DZE_ConfigTrader. These are all up near the top of init.sqf where variables are being set.

 

- ep

Link to comment
Share on other sites

I've made substantial upgrades to the expanded files. I'm going to go ahead now and say that any buildings that have significant lootable interiors have been done, and that's the classic vanilla buildings, the buildings 3 category buildings, the mbg German buildings, and "African" buildings. The big apartment buildings... all the little sheds... the shanties... all done now. I've even gone through and added ground supermarket loot to things like the outdoor market stalls and the various lean-to style shades. And many of the non-interior buildings will generate zeds, now, too. Additionally, I've gone through and classed all the MAP buildings back to their Land_ roots, so that there's no longer any need to revise mission.sqf output from the editor when copying script into a construction file. Leave the MAP version; the expanded loot system will understand it. Oh, well... actually you would need to revise the MAP_toilet to the Land_toilet -- the MAP version is missing door animation, so if you use it you'll get an error message on startup. But everything else works.

 

I've generated another new intermediate loot class that applies to the shanties, the big derelict apartments. It's heavy on trash, soda, handguns, and common medical supplies.

 

Remember, this is intended as a resource for the advanced server developer.  I've changed things besides just the loot positions, so you may find your game balance changing if you use it as-is.

 

The link is still:

 

http://www.ericpeterson.info/dztools/ExpandedBuildingLoot.zip

 

- ep

Link to comment
Share on other sites

Well, that depends on whether or not you have a custom loot system installed.

 

Step1 would be to install a custom loot system with all default values, before you start changing things. I won't go into that. There are tons of guides available.

 

Step 2 would be to splice into your existing basic custom loot files any loot specifications you need.

 

But that's a gross oversimplification... I know.

 

Look, under Epoch there are four files that control loot spawning.

 

CfgLoot.hpp and CfgLootSmall.hpp define classes of loot distribution -- they attach names or labels to assortments of items that are grouped together to form a convenient loot class, like "office" or "hunter" or "hospital"...

 

CfgBuildingLoot.hpp defines classes of buildings and contain particular assortments of loot and zeds. Each type of building defined receives a basic definition of loot class from the first two files and then the configuration data adds base chances for how many zeds and how much loot. Sometimes the specs are entirely in terms of assortments of loot already defined. Sometimes the specs are entirely new assortments unique to a particular type of building. Sometimes it's a mix. Thats the beauty of the system. It's very, very flexible. It defines a hierarchical configuration where any chain of tags can be used to track data down to any specified branch, like using a nifty XML configuration without the XML.

 

Finally, CfgBuildingPos.hpp assigns, generally, each specific class ID of each specific building, vehicle wreck, fixture, etc, to a class of building types and type of loot assortment AND lists the specific locations within that particular building where things can show up.

 

SO... if you just want to add buildings, you can use your default loot system because it already defines all the items and assortments in use on your specific mod server. All you need to do is find the building class IDs you need and copy and paste them into your corresponding file.  This assumes the loot assortment class type is defined. As I've said before, I have MilitaryOffice, Construction, and Slum loot assortments defined. If you use ONLY the CfgBuildingPos.hpp file, you would need to make sure any references to those assortment classes are replaced by assortments you have defined, like "Military", "Industrial", and "Residential".

 

Example:

 

Let's assume Overpoch uses the same basic four-file system Epoch does and you've already got a basic custom loot system installed on your server or you're explicitly modifying the default config or you're using a mission file with loot config overrides or something. You've built an area that uses the BioTech Hotel, and of course it's not spawning loot.  You can go into MY CfgBuildingPos.hpp and copy out the class definition that starts with:

 

class Land_aif_hotel_bio: Biotech {
 
Then there are some assorted variables, three big huge blocks of coordinates, and two a closing bracket-semicolon. All you need to do is paste that entire block into your CfgBuildingPos.hpp -- each class definition stands by itself -- and replace "Biotech" with "Office" or "Industrial" or some other loot assortment your server code supports. And you're done. The building will spawn loot and zeds according to those class definitions.
 
Once you review and understand how your loot system works, taking the little bits of the expanded system is very straightforward.

 

What would i need to modify to add Overwatch items or Merge with the overwatch loot tables

Link to comment
Share on other sites

  • 2 weeks later...
  • 5 weeks later...

 

Well, that depends on whether or not you have a custom loot system installed.

 

Step1 would be to install a custom loot system with all default values, before you start changing things. I won't go into that. There are tons of guides available.

 

Step 2 would be to splice into your existing basic custom loot files any loot specifications you need.

 

But that's a gross oversimplification... I know.

 

Look, under Epoch there are four files that control loot spawning.

 

CfgLoot.hpp and CfgLootSmall.hpp define classes of loot distribution -- they attach names or labels to assortments of items that are grouped together to form a convenient loot class, like "office" or "hunter" or "hospital"...

 

CfgBuildingLoot.hpp defines classes of buildings and contain particular assortments of loot and zeds. Each type of building defined receives a basic definition of loot class from the first two files and then the configuration data adds base chances for how many zeds and how much loot. Sometimes the specs are entirely in terms of assortments of loot already defined. Sometimes the specs are entirely new assortments unique to a particular type of building. Sometimes it's a mix. Thats the beauty of the system. It's very, very flexible. It defines a hierarchical configuration where any chain of tags can be used to track data down to any specified branch, like using a nifty XML configuration without the XML.

 

Finally, CfgBuildingPos.hpp assigns, generally, each specific class ID of each specific building, vehicle wreck, fixture, etc, to a class of building types and type of loot assortment AND lists the specific locations within that particular building where things can show up.

 

SO... if you just want to add buildings, you can use your default loot system because it already defines all the items and assortments in use on your specific mod server. All you need to do is find the building class IDs you need and copy and paste them into your corresponding file.  This assumes the loot assortment class type is defined. As I've said before, I have MilitaryOffice, Construction, and Slum loot assortments defined. If you use ONLY the CfgBuildingPos.hpp file, you would need to make sure any references to those assortment classes are replaced by assortments you have defined, like "Military", "Industrial", and "Residential".

 

Example:

 

Let's assume Overpoch uses the same basic four-file system Epoch does and you've already got a basic custom loot system installed on your server or you're explicitly modifying the default config or you're using a mission file with loot config overrides or something. You've built an area that uses the BioTech Hotel, and of course it's not spawning loot.  You can go into MY CfgBuildingPos.hpp and copy out the class definition that starts with:

 

class Land_aif_hotel_bio: Biotech {
 
Then there are some assorted variables, three big huge blocks of coordinates, and two a closing bracket-semicolon. All you need to do is paste that entire block into your CfgBuildingPos.hpp -- each class definition stands by itself -- and replace "Biotech" with "Office" or "Industrial" or some other loot assortment your server code supports. And you're done. The building will spawn loot and zeds according to those class definitions.
 
Once you review and understand how your loot system works, taking the little bits of the expanded system is very straightforward.

 

 

Okay so I found my CfgLootPos.hpp and copied over your code for the MPG_KillHouse_2_InEditor just like this:

 

class MBG_Killhouse_2_InEditor : Military {
    lootChance = 0.5;
lootPos[] = {
{-1.139,2.284,-2.799},{4.708,5.884,-2.799},{3.996,3.682,-2.799},{5.735,-4.911,-2.799},{2.547,-5.23,-2.799},{-0.453,0.404,-2.799},
{-6.458,-4.221,-2.799},{-4.776,4.803,-2.799},{-5.59,1.261,-2.799},{4.044,-0.2985,0.502},{5.552,-4.471,0.502},{1.542,-4.25,0.502},
{-4.869,-4.003,0.502},{1.289,-0.182,0.502},{-5.129,2.894,0.502},{-5.804,-4.118,3.801},{-1.459,4.396,3.801}
};
lootPosZombie[] = {
{4.708,5.88,-2.799},{-5.59,1.26,-2.799},{1.289,-0.18,0.502},{1.542,-4.2,0.502}
};
};
 
And when I pack the PBO, and start up the game, there is no loot spawning at all in that building. I've waited a bit to make sure the loot isn't just taking time to spawn, but I've gotten nothing so far. Am I missing something? I have an OverPoch server, not sure how that would change things. I'm a newb by the way, lol! 
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement
  • Discord

×
×
  • Create New...