Jump to content
eggbeast

Burnable house - works in editor, not in map placed building

Recommended Posts

we are developing whole burnable villages for the unsung mod.

they work perfectly in editor placed houses, but not if placed in TB and built into razorbacks maps.

I am not a mapper and have no idea what he needs beyond a Land_ classname.

 

the houses have currently got no model.cfg defining the hitpoints etc, as nothing is animated (like hidden wreck parts etc)

 

Can anyone comment on the config below or the model properites, etc in terms of how best to edit this so the useractions work in the map-placed object.

class CfgVehicles 
{
	class HouseBase;	// External class reference
	class NonStrategic;	// External class reference
	
	class House : HouseBase 
	{
		class DestructionEffects;	// External class reference
		class AnimationSources;	// External class reference
	};
	class Land_NAM_Hut_1_base: House 
	{
		scope = 0;
		vehicleClass = "aa_uns_buildings_C";
		editorCategory = "UNS_All_Obj";
		editorSubcategory = "aa_uns_buildings_C_ville";
		displayName = "Hut (small/balcony)";
		model = "\raz_nam_obj\m\hut\raz_hut01.p3d";
		destrType = "DestructBuilding";
		armor = 100;
		ladders[] = {};
		icon = "iconObject_1x1";
	};
	class Land_NAM_Hut_1: Land_NAM_Hut_1_base 
	{
		scope = 2;
		displayName = "Hut (small/balcony)";
		model = "\raz_nam_obj\m\hut\raz_hut01.p3d";
		class HitPoints
		{
			class Hit1
			{
				armor=0.3;
				material=-1;
				name=dam1;
				visual=damT1;
				passThrough=0;
				convexComponent=dam1;
				class DestructionEffects: DestructionEffects //demolish blast
				{
					class Dust 
					{
						simulation = "particles";
						type = "HousePartDust";
						position = "";
						intensity = 1;
						interval = 1;
						lifeTime = 0.01;
					};
					class Dust2:Dust 
					{
						type = "HousePartDustLong";
					};
					class Walls: Dust 
					{
						type = "HousePartWall";
					};
				};
			};
			class Hit2: Hit1
			{
				name=dam2;
				visual=damT2;
				convexComponent=dam2;
				class DestructionEffects //burn roof 1
				{
					class light1
					{
						simulation = "light";
						type = "ObjectDestructionLight";
						position = "destructionEffect1";
						intensity = 0.001;
						interval = 1;
						lifeTime = 3;
					};
					class smoke1
					{
						simulation = "particles";
						type = "ObjectDestructionSmoke";
						position = "destructionEffect1";
						intensity = 0.15;
						interval = 1;
						lifeTime = 3.5;
					};
					class fire1
					{
						simulation = "particles";
						type = "ObjectDestructionFire1";
						position = "destructionEffect1";
						intensity = 0.15;
						interval = 1;
						lifeTime = 3;
					};
					class sparks1
					{
						simulation = "particles";
						type = "ObjectDestructionSparks";
						position = "destructionEffect1";
						intensity = 0;
						interval = 1;
						lifeTime = 0;
					};
					class sound
					{
						simulation = "sound";
						position = "destructionEffect1";
						intensity = 1;
						interval = 1;
						lifeTime = 1;
						type = "Fire";
					};
					class light2
					{
						simulation = "light";
						type = "ObjectDestructionLight";
						position = "destructionEffect2";
						intensity = 0.001;
						interval = 1;
						lifeTime = 3;
					};
					class fire2
					{
						simulation = "particles";
						type = "ObjectDestructionFire2";
						position = "destructionEffect2";
						intensity = 0.15;
						interval = 1;
						lifeTime = 3;
					};
					class smoke1_2
					{
						simulation = "particles";
						type = "ObjectDestructionSmoke1_2";
						position = "destructionEffect2";
						intensity = 0.15;
						interval = 1;
						lifeTime = 3.5;
					};
				};
			};
			class Hit3: Hit2
			{
				name=dam3;
				visual=damT3;
				convexComponent=dam3;
				class DestructionEffects: DestructionEffects //burn roof 2
				{
					class light1: light1
					{
						position = "destructionEffect3";
					};
					class smoke1: smoke1
					{
						position = "destructionEffect3";
					};
					class fire1: fire1
					{
						position = "destructionEffect3";
					};
					class sparks1: sparks1
					{
						position = "destructionEffect3";
					};
					class sound: sound
					{
						position = "destructionEffect3";
					};
					class light2: light2
					{
						position = "destructionEffect4";
					};
					class fire2: fire2
					{
						position = "destructionEffect4";
					};
					class smoke1_2: smoke1_2
					{
						position = "destructionEffect4";
					};
				};
			};
		};
		class DestructionEffects: DestructionEffects
		{
			class Dust 
			{
				simulation = "particles";
				type = "HousePartDust";
				position = "";
				intensity = 1;
				interval = 1; 
				lifeTime = 0.01;
			};
			class Dust2: Dust
			{
				type = "HousePartDustLong";
			};
			class Walls: Dust
			{
				type = "HousePartWall";
			};
			class Ruin1
			{
				simulation = "ruin";
				type = "\A3\Structures_F_Exp\Civilian\House_Native_01\House_Native_01_ruins_F.p3d";
				position="";
				intensity = 1;
				interval = 1;
				lifeTime = 1;
			};                
		};
		replaceDamaged = "";
		replaceDamagedHitpoints[] = {};
		class UserActions
		{
			class burnit
			{
				displayName = "Burn hut";
				position = "destructionEffect1";
				radius = 10;
				onlyForPlayer = true;
				condition = "(alive this && (this getHit 'Dam3' <1))";
				statement = "[this, player] spawn indo_building_fnc_burnit_action";
			};
		};
		actionBegin1 = burnit;
		actionEnd1 = burnit;
	};

demo of fx in editor-placed houses.

 

use zippo and house based useraction to start fire

 

fire spreads

  • Like 3

Share this post


Link to post
Share on other sites

fire causes collapse to smoking ruin - Bunny: "we did it! we did the whole fuckin village!"

 

use firing at hitpoints to cause fire

 

turns out we have working versions already, possibly the new huts are missing something - they have identical configs and model lod content EXCEPT

 

non-working version has in config:

       destrType = "DestructBuilding";
and in geo properties (content is not really in quotes, it is in class box)

map "house"

damage "building"

autocenter "0"

canocclude "0"

 

working version has in geo properties:

class "house"

dammage "building"

and none of above

Share this post


Link to post
Share on other sites

any idea what causes actions to show up or not in the editor vs TB placed objects?

both working and non-0working have the same memory lod in model and useractions in config

neither have a model.cfg

 

also, milkman, while you're here! - any idea why some buildings in maps carry all of the proxies into the editor fine but show up empty of proxies in TB placed equivalents?

Share this post


Link to post
Share on other sites

working hut has this setup:

notice Land_xx = modelname.p3d

am wondering if this is the key?

does maybe BI tools carry over the actions properly etc if the class is Land_modelname

maybe this could explain a broken door or ladder on certain of our other buildings hmmm

	class land_indo_hut_1: House 
	{
		scope = 2;
		vehicleClass = "aa_uns_buildings_C";
		editorCategory = "UNS_All_Obj";
		editorSubcategory = "aa_uns_buildings_C_ville";
		displayName = "Indo Hut (large/balcony)";
		model = "\indo_building\indo_hut_1.p3d";

Share this post


Link to post
Share on other sites

mystery SOLVED - class Land_modelname must match modelname.p3d for the animations and actions to work if placed in TB.

 

get your zippos filled...

  • Like 3

Share this post


Link to post
Share on other sites

not tested yet. have you seen this too mm?

it happened for me on the a2 office i imported for our binarized cao bang map. 

the office was lacking doors, ladders, windows etc and looked horrible, including large chunks of untextured walls being visible through now open doorways etc.

we haven't had time to recover the map to TB format yet (Ice was explaining how to do it, so we will probably do this in our next (echo) build)

so in a binned map, bringing in a newly imported model, we have the issue. 

 

I have quickly checked  the classnames and fuuuuuck

 

class Land_A_Office01: Land_uc_building_C_base

{        model = "\uc\structures_e\Housea\A_Office01\A_Office01_EP1";
 

let's hope moveobject / hexedit on binned map doesn't do checksums. up to now i have been maintaining the same length of file path + filename as original sources.

I guess to fit in _EP1 i can remove 4 letters from one of the parent folders and re-site it in there.

 

EDIT - map only uses modelname, not config classname, so np, just changed config classname - should work now. will test when i get home (thu).

Share this post


Link to post
Share on other sites

ok class = house is ALSO needed in the huts so they have the burn action, which seems to work great in MP test.

84FNVbk.jpg

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×