Jump to content

Enigma_EPOCH_CfgBuildingLootPos


happydayz

Recommended Posts

                                                                                                             
           G                 GM    G             A      
   GMAEN  M E     E IGM   IG   N   AEN    EN    EN      
          E IG    I MAE  GM        NIG  EN G    IGM     
   N      I  AE   M ENIG A         G  ENI  A    MA N    
   G      MA  IG  E I MAEN         A  IG   N    E  G    
   A      EN  MA  I MAENI          N       G    I   E   
   NIGMA  IG   NI M  NIGM         IG       AE  GMAENI   
   G      MA    MAE  GMAEN      IGMA       NI  A   GMA  
   A      EN    E I  AEN G      MAEN       GM  N    EN  
   N       G     GM  NI  AEN    ENIG       AE        G  
   G       A     AE  GM   IGMAEN GM        NI M         
   AENIG  E          A       N             G        

Have you ever wished you could set your own loot positions? 

 

Have you added in custom buildings that dont spawn any loot objects?

 

With the latest version of Epoch 0.3.1 you can now define any buildings lootable objects and their position within said building!

 

How?

 

 

Go to - https://github.com/happydayz-enigma/Enigma_EPOCH_CfgBuildingLootPos to get the tools!

 

 

 

There you will find a sample mission file and included inside the custom folder is a copy of the generic CfgBuildingLootPos.hpp

 

 

 

Unhide the Spoiler for the Readme!

 

 

 

 

Load this mission up with your favourite 3D editor and you will find the scroll option "Take Loot Position" is now on your mousewheel.

 

Go to any building that you want to spawn loot for and postition any of the following lootable objects:

"wardrobe_epoch",
"Fridge_EPOCH",
"Shelf_EPOCH",
"Pelican_EPOCH",
"Bed_EPOCH",
"Couch_EPOCH",
"cooker_epoch",
"Table_EPOCH",
"locker_epoch",
"ToolRack_EPOCH",
"Shoebox_EPOCH",
"Freezer_EPOCH",
"Tarp_EPOCH",
"Chair_EPOCH",
"Filing_EPOCH"

Next looking at your newly placed loot object select "Take Loot Position" from your mousewheel.

 

 

You should get a message in the top right of the screen saying something like this: "Chair_EPOCH position has been copied to your CLIENT RPT"

 

If you get the message " ---- is NOT an epoch Lootable Object" then you are either not looking at a lootable object as listed above, or as seems to happen with a few editors, they take a while for the object to be properly seen by the script. In which case give it 10seconds and you should be able to look at it and try again.

 

 

Open up your client RPT file. It can be located by opening up run and typing ----- %programfiles(x86)%\Steam\steamapps\common\Arma 3\profiles

 

You are looking for your most recent RPT!

 

scroll to the bottom and you will find something like this:

23:11:03 "class Land_i_Stone_Shed_V3_F: Default
	{
		fridgePos[] = {{ { [346.734,-264.233,-11.4554] },273.825 }};
		
}"

Now open up the CfgBuildingLootPos.hpp.

 

First thing you need to do is check that the building you are adding objects too isnt already included in the file!

 

So in this case search for

 

Land_i_Stone_Shed_V3_F

 

 

In this case it is already in the files!

 

But imagine it isnt for this explanation.

 

You can now add 

class Land_i_Stone_Shed_V3_F: Default
	{
		fridgePos[] = {{ { [346.734,-264.233,-11.4554] },273.825 }};
		
}

Right after

	class Default
	{
		fridgePos[] = {};
		shelfPos[] = {};
		pelicanPos[] = {};
		wardrobePos[] = {};
		bedPos[] = {};
		couchPos[] = {};
		cookerPos[] = {};
		tablePos[] = {};
		lockerPos[] = {};
		toolRackPos[] = {};
		shoeboxPos[] = {};
		lootBiasPos = 25;
		lootType = "normal";
	}; 

Do the same for any other objects you place. 

 

Note: if the classname is already there you only need to copy the line

		fridgePos[] = {{ { [346.734,-264.233,-11.4554] },273.825 }};

and place it into the relevant buildings classname!

 

 

If you have multiple positions for the same object (in this case a filing cabinet) then you would enter the positions like this:

filingPos[] = {{ { 1.82031,0.972656,-1.75876 },91.8 },{ { 1.82031,1.55664,-1.75876 },91.8 }};

Now take your new edited CfgBuildingLootPos.hpp and place it anywhere into your servers mission file.

 

 

 

Inside your Description.ext add the line:

#include "custompath\CfgBuildingLootPos.hpp"

and next time you load up the server your newly set loot positions will have a chance of spawning when a player is near!

 

 

Link to comment
Share on other sites

                                                                                                             
           G                 GM    G             A      
   GMAEN  M E     E IGM   IG   N   AEN    EN    EN      
          E IG    I MAE  GM        NIG  EN G    IGM     
   N      I  AE   M ENIG A         G  ENI  A    MA N    
   G      MA  IG  E I MAEN         A  IG   N    E  G    
   A      EN  MA  I MAENI          N       G    I   E   
   NIGMA  IG   NI M  NIGM         IG       AE  GMAENI   
   G      MA    MAE  GMAEN      IGMA       NI  A   GMA  
   A      EN    E I  AEN G      MAEN       GM  N    EN  
   N       G     GM  NI  AEN    ENIG       AE        G  
   G       A     AE  GM   IGMAEN GM        NI M         
   AENIG  E          A       N             G        

Have you ever wished you could set your own loot positions? 

 

Have you added in custom buildings that dont spawn any loot objects?

 

With the latest version of Epoch 0.3.1 you can now define any buildings lootable objects and their position within said building!

 

How?

 

 

Go to - https://github.com/happydayz-enigma/Enigma_EPOCH_CfgBuildingLootPos to get the tools!

 

 

 

There you will find a sample mission file and included inside the custom folder is a copy of the generic CfgBuildingLootPos.hpp

 

 

 

Unhide the Spoiler for the Readme!

 

 

 

 

Load this mission up with your favourite 3D editor and you will find the scroll option "Take Loot Position" is now on your mousewheel.

 

Go to any building that you want to spawn loot for and postition any of the following lootable objects:

"wardrobe_epoch",
"Fridge_EPOCH",
"Shelf_EPOCH",
"Pelican_EPOCH",
"Bed_EPOCH",
"Couch_EPOCH",
"cooker_epoch",
"Table_EPOCH",
"locker_epoch",
"ToolRack_EPOCH",
"Shoebox_EPOCH",
"Freezer_EPOCH",
"Tarp_EPOCH",
"Chair_EPOCH",
"Filing_EPOCH"

Next looking at your newly placed loot object select "Take Loot Position" from your mousewheel.

 

 

You should get a message in the top right of the screen saying something like this: "Chair_EPOCH position has been copied to your CLIENT RPT"

 

If you get the message " ---- is NOT an epoch Lootable Object" then you are either not looking at a lootable object as listed above, or as seems to happen with a few editors, they take a while for the object to be properly seen by the script. In which case give it 10seconds and you should be able to look at it and try again.

 

 

Open up your client RPT file. It can be located by opening up run and typing ----- %userprofile%\AppData\Local\Arma 3

 

You are looking for your most recent RPT!

 

scroll to the bottom and you will find something like this:

23:11:03 "class Land_i_Stone_Shed_V3_F: Default
	{
		fridgePos[] = {{ { [346.734,-264.233,-11.4554] },273.825 }};
		
}"

Now open up the CfgBuildingLootPos.hpp.

 

First thing you need to do is check that the building you are adding objects too isnt already included in the file!

 

So in this case search for

 

Land_i_Stone_Shed_V3_F

 

 

In this case it is already in the files!

 

But imagine it isnt for this explanation.

 

You can now add 

class Land_i_Stone_Shed_V3_F: Default
	{
		fridgePos[] = {{ { [346.734,-264.233,-11.4554] },273.825 }};
		
}

Right after

	class Default
	{
		fridgePos[] = {};
		shelfPos[] = {};
		pelicanPos[] = {};
		wardrobePos[] = {};
		bedPos[] = {};
		couchPos[] = {};
		cookerPos[] = {};
		tablePos[] = {};
		lockerPos[] = {};
		toolRackPos[] = {};
		shoeboxPos[] = {};
		lootBiasPos = 25;
		lootType = "normal";
	}; 

Do the same for any other objects you place. 

 

Note: if the classname is already there you only need to copy the line

		fridgePos[] = {{ { [346.734,-264.233,-11.4554] },273.825 }};

and place it into the relevant buildings classname!

 

 

If you have multiple positions for the same object (in this case a filing cabinet) then you would enter the positions like this:

filingPos[] = {{ { 1.82031,0.972656,-1.75876 },91.8 },{ { 1.82031,1.55664,-1.75876 },91.8 }};

Now take your new edited CfgBuildingLootPos.hpp and place it anywhere into your servers mission file.

 

 

 

Inside your Description.ext add the line:

#include "custompath\CfgBuildingLootPos.hpp"

and next time you load up the server your newly set loot positions will have a chance of spawning when a player is near!

 

 

 

 

Got to give this a try ...

Link to comment
Share on other sites

Latest edit: remember you can define the lootbiaspos for any building! What does this mean?  The Lootbiaspos determines how many lootable objects will spawn in any particular building when a player normally spawns loot there!

 

Default for most is 25%.

 

For Example:

 

Say a building has 10 loot positions.

Every player that goes past said building has a chance of spawning loot there. Say you walk up to it and a random 2 lootable items have spawned in. That is the lootbias of 25% coming into effect.

 

If you had set the lootbiaspos for the same building to 100% and walked in you would find all 10 lootable objects would have spawned in.

 

Credit to halv for drawing my attention to this.

Link to comment
Share on other sites

New version up on github that is only a fraction of the size of the original file. Next version will take all positions within a specified distance just been having issues with it ignoring my if statements and giving positions of bee's and whatnot as objects in your rpt lolz

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...