Jump to content
Sign in to follow this  
jakerod

All About Clutter

Recommended Posts

Can someone explain to me exactly how clutter works? What is needed for it to exist?

I understand that part of it is defined in the config but don't understand the total working of it or what is exactly required in the config. I am not trying to use custom clutter or anything like that just normal ArmA clutter. Although if you want to add in about custom clutter that is fine.

I've done about six different searches and still haven't found anything that has really helped me understand it.

Thank you.

Working config provided by Bravo 6 after hours of his hard work:

#define TEast 0
#define TWest 1
#define TGuerrila 2
#define TCivilian 3
#define TSideUnknown 4
#define TLogic 7

#define true 1
#define false 0

// type scope
#define private 0
#define protected 1
#define public 2

#define ReadAndWrite 0 		//! any modifications enabled
#define ReadAndCreate 1 	//! only adding new class members is allowed
#define ReadOnly 2 			//! no modifications enabled
#define ReadOnlyVerified 3 	//! no modifications enabled, CRC test applied


class CfgPatches {
class manan {
	units[] = {};
	worlds[] = {"manan"};
	requiredVersion = 0.1;
};
};

class DefaultLighting; // External class reference
class DefaultLighting_CA : DefaultLighting {};

class CfgWorlds 
{
class DefaultClutter 
{
	scaleMin = 0.9;
	scaleMax = 1.4;
};
class DefaultWorld; // External class reference

class CAWorld : DefaultWorld {
	class Grid {};
};

class manan : CAWorld
{
	access = 3;
	cutscenes[] = {"mananIntro1"};
	description = "manan";
	icon = "";
	worldName = "\manan\manan.wrp";
	pictureMap = "";
	pictureShot = "";
	plateFormat = "ML$ - #####";
	plateLetters = ABCDEGHIKLMNOPRSTVXZ;
	longitude = -40; // positive is east
	latitude = -40; // positive is south

	class Grid //OFP style Aa00 - JJ99
	{
		//colorGrid[]={0,0,1,1};
		//colorGridMap[]={0,0,1,1};
		offsetX=0;
		offsetY=0;
		class Zoom0
		{
			zoomMax=0.2;
			format="XY";
			formatX="Aa";
			formatY="00";
			stepX=256;
			stepY=256;
		};	
		class Zoom1
		{	
			zoomMax=1.0;
			format="XY";
			formatX="A-";
			formatY="0-";
			stepX=2560;
			stepY=2560;
		};
	}

	startTime = 8:30;
	startDate = 07/06/2007;
	startWeather = 0.1;
	startFog = 0.0;
	forecastWeather = 0.3;
	forecastFog = 0.0;
	seagullPos[] = {1272.84, 150.0, 14035};
	centerPosition[] = {2500, 2500, 300};
	ilsPosition[] = {2545, 3000};
	ilsDirection[] = {0, 0.08, 1};
	ilsTaxiIn[] = {2495, 2725, 2495, 2850, 2508, 2860, 2508, 3000, 2520, 3010, 2545, 3000};
	ilsTaxiOff[] = {2545, 2445, 2520, 2425, 2495, 2445, 2495, 2725};
	drawTaxiway = 0;

	class ReplaceObjects {};

	class Sounds {
		sounds[] = {};
	};

	class Animation {
		vehicles[] = {};
	};

	class Lighting : DefaultLighting {};
		clutterGrid = 1.11;
		clutterDist = 55;
		noDetailDist = 40;
		fullDetailDist = 5;
		minTreesInForestSquare = 3;
		minRocksInRockSquare = 4;

	class clutter {
		class GrassGeneral : DefaultClutter {
			model = "ca\plants\clutter_grass_general.p3d";
			affectedByWind = 0.3;
			swLighting = 1;
			scaleMin = 0.75;
			scaleMax = 1.0;
		};

		class GrassFlowers : DefaultClutter {
			model = "ca\plants\clutter_grass_flowers.p3d";
			affectedByWind = 0.3;
			swLighting = 1;
			scaleMin = 0.75;
			scaleMax = 1.0;
		};

		class GrassLong : DefaultClutter {
			model = "ca\plants\clutter_grass_long.p3d";
			affectedByWind = 0.6;
			scaleMin = 0.6;
			scaleMax = 1.1;
		};

		class GrassSevenbeauty : DefaultClutter {
			model = "ca\plants\clutter_grass_sevenbaeuty.p3d";
			affectedByWind = 0.2;
			scaleMin = 0.7;
			scaleMax = 1.1;
		};

		class GrassYellow : DefaultClutter {
			model = "ca\plants\clutter_grass_yellow.p3d";
			affectedByWind = 0.2;
			scaleMin = 0.7;
			scaleMax = 1.1;
		};

		class GrassDesert : DefaultClutter {
			model = "ca\plants\clutter_grass_desert.p3d";
		};

		class ForestFern : DefaultClutter {
			model = "ca\plants\clutter_forest_fern.p3d";
			affectedByWind = 0.1;
			scaleMin = 0.9;
			scaleMax = 1.1;
		};

		class SmallRocks : DefaultClutter {
			model = "ca\rocks\clutter_stone_small.p3d";
			affectedByWind = 0;
			scaleMin = 0.9;
			scaleMax = 1.1;
		};

		class FlowersColor : DefaultClutter {
			model = "ca\plants\clutter_smetanka.p3d";
		};

		class FlowersWhite : DefaultClutter {
			model = "ca\plants\clutter_white_flower.p3d";
		};

		class MushroomsHorcak : DefaultClutter {
			model = "ca\plants\clutter_horcak.p3d";
			affectedByWind = 0;
			scaleMin = 0.85;
			scaleMax = 1.25;
		};

		class MushroomsPrasivka : MushroomsHorcak {
			model = "ca\plants\clutter_prasivky.p3d";
		};

		class MushroomsBabka : MushroomsHorcak {
			model = "ca\plants\clutter_babka.p3d";
		};

		class MushroomsMuchomurka : MushroomsHorcak {
			model = "ca\plants\clutter_muchomurka.p3d";
		};
	};

	class Subdivision 
	{
		class Fractal {
			rougness = 5;
			maxRoad = 0.02;
			maxTrack = 0.5;
			maxSlopeFactor = 0.05;
		};

		class WhiteNoise {
			rougness = 2;
			maxRoad = 0.01;
			maxTrack = 0.05;
			maxSlopeFactor = 0.0025;
		};
		minY = 0.0;
		minSlope = 0.02;
	};

	class Ambient 
	{
		/*
		Layer cost and species probability use expressions.
		Variables which can be used inside of expressions:
		rain: rain intensity.
		night: 1 during night, 0 during day.

		hills: 0 at 150 ASL, 1 at 400 ASL.
		windy: 0 at 0 m/s, 1 at 20 m/s.

		trees: tree density.
		sea: distance to sea.
		houses: house density.
		meadow: meadow character.
		forest: 1 in the forest.

		Any values are continuous/interpolated in the range of 0 to 1.
		Values they are independent unless notes otherwise
		(meaning meadow and forest can be 1 at the same time).

		You can observe these values in real-time using:
		diag_toggle "ambient"
		*/

		class BigBirds
		{
			//Container radius:
	    	//Species are normally spawned at the edges of the circle defined by this radius.
	    	//One exception to this is the initial start of the simulation, where the whole
	    	//circle will be filled.
			radius = 300;
			//Points allowed for this container:
			//Xbox: 1 * (1 - night) * (1 - sea)
			cost = "((1 + forest + trees) - ((2 * rain)) - houses) * (1 - night) * (1 - sea)";
			//Classname in Species corresponds to type name:
			class Species
			{
			class Hawk
			{
				probability = 0.2;
				cost = 1;
			};
			};
		};

		class Birds
		{
			radius = 270;
				//Xbox: (1 - night) * (2 + 8 * sea)
			cost = "(1 - night) * ((1 + (3 * sea)) - (2 * rain))";
			class Species
			{
				class Seagull
				{
					probability = 0.05;
					cost = 1;
				};
			};
		};

		class BigInsects
		{
			radius = 200;
			//Xbox: 1 * (1 - night) * (1 - rain) * (1 - sea)
			cost = "(5 - (2 * houses)) * (1 - night) * (1 - rain) * (1 - sea) * (1 - windy)";
			class Species
			{
				class DragonFly
				{
					probability = 0.6 - (meadow * 0.5) + (forest * 0.4);
					cost = 1;
				};
				class ButterFly
				{
					probability = 0.4 + (meadow * 0.5) - (forest * 0.4);
					cost = 1;
				};
			};
		};

		class BigInsectsAquatic
		{
			radius = 150;
			cost = "(3 * sea) * (1 - night) * (1 - rain) * (1 - windy)";
			class Species
			{
				class DragonFly
				{
					probability = 1;
					cost = 1;
				};
			};
		};

	  //The wind is blowing various particles around:
		class WindClutter
		{
			radius = 10;
			//Xbox: (10 - 5 * rain) * (1 - sea) * (windy factor [0.2, 0.5])
			cost = "((20 - 5 * rain) * (3 * (windy factor [0.2, 0.5]))) * (1 - sea)";
			class Species
			{
				class FxWindGrass1 //Dark green grass.
				{
					probability = "0.4 - 0.2 * hills - 0.2 * trees";
					cost = 1;
				};
				class FxWindGrass2 //Dry grass.
				{
					probability = "0.4 - 0.2 * hills - 0.2 * trees";
					cost = 1;
				};
				class FxWindRock1 //Dust.
				{
					probability="0.4 * hills";
					cost = 1;
				};
				class FxWindLeaf1 //Green leaf.
				{
					probability = "0.2 * trees";
					cost = 1;
				};
				class FxWindLeaf2 //Dry leaf.
				{
					probability = "0.1 * trees + 0.2";
					cost = 1;
				};
				class FxWindLeaf3 //Green leaf with a dry spot.
				{
					probability = "0.1 * trees";
					cost = 1;
				};
			};
		};

		class NoWindClutter
		{
			//Xbox: 10
			radius = 15;
			//Xbox: 1 * (1 - rain) * (1 - sea) * (1 - forest) * (1 - houses) * (1 - (windy factor [0.1, 0.2]))
			cost = "(20 * (windy factor [0.1, 0.2])) * meadow * (1 - rain) * (1 - sea) * (1 - forest) * (1 - houses)";
			class Species
			{
				class FxWindPollen1
				{
					probability = 1;
					cost = 1;
				};
			};
		};

		class SmallInsects
		{
			radius = 50;
			//Xbox: (9 - 5 * hills) * (1 - night) * (1 - rain) * (1 - sea) * (1 - windy)
			cost = "(12 - 8 * hills) * (1 - night) * (1 - rain) * (1 - sea) * (1 - windy)";
			class Species
			{
				class HouseFly
				{
					probability = "deadBody + (1 - deadBody) * (0.5 - forest * 0.1 - meadow * 0.2)";
					cost = 1;
				};
				class HoneyBee
				{
					probability = "(1 - deadBody) * (0.5 - forest * 0.1 + meadow * 0.2)";
					cost = 1;
				};
				class Mosquito
				{
					probability = "(1 - deadBody) * (0.2 * forest)";
					cost = 1;
				};
			};
		};

		class NightInsects
		{
			radius = 60;
			cost = "(9 - 8 * hills) * night * (1 - rain) * (1 - sea) * (1 - windy)";
			class Species
			{
				class Mosquito
				{
					probability = 1;
					cost = 1;
				};
			};
		};
	}; 

	class Names {
		class Veg_1 {
			name = "";
			position[] = {2713.62, 2140.92};
			type = "VegetationPalm";
			radiusA = 50;
			radiusB = 50;
		};

		class Veg_2 {
			name = "";
			position[] = {2446.09, 3038.29};
			type = "VegetationPalm";
			radiusA = 50;
			radiusB = 50;
		};

		class Veg_3 {
			name = "";
			position[] = {2940.52, 2923.19};
			type = "VegetationPalm";
			radiusA = 50;
			radiusB = 50;
		};
	};
};
};

class CfgSurfaces 
{
class Default;

class Water ;

class Roadway ;

class jp_lesjeh : Default {
	access = ReadOnly;
	files = "jp_lesjeh_*";
	rough = 0.1;
	dust = 0.9;
	soundEnviron = "grass";
	character = "jpgrass";
};
class jp_mesto2 : Default {
	access = ReadOnly;
	files = "jp_mesto2_*";
	rough = 0.1;
	dust = 0.9;
	soundEnviron = "grass";
	character = "jpurban";
};
class jp_pole1 : Default {
	access = ReadOnly;
	files = "jp_pole1_*";
	rough = 0.1;
	dust = 0.9;
	soundEnviron = "grass";
	character = "jpfields";
};
class jp_pisek : Default {
	access = ReadOnly;
	files = "jp_pisek_*";
	rough = 0.1;
	dust = 0.9;
	soundEnviron = "grass";
	character = "jpsand";
};
};

class CfgSurfaceCharacters
{
class jpgrass {
	probability[] = {0.15,0.1,0.1,0.012,0.011};
	names[] = {"GrassLong","GrassFlowers","SmallRocks","MushroomsPrasivka","MushroomsMuchomurka"};
};
class jpurban {
	probability[] = {0.001};
	names[] = {"SmallRocks"};
};
class jpfields {
	probability[] = {0.1,0.019,0.012};
	names[] = {"SmallRocks","MushroomsPrasivka","MushroomsMuchomurka"};
};
class jpsand {
	probability[] = {0.5};
	names[] = {"SmallRocks"};
};
};

class CfgWorldList {
class manan{};
};

Edited by Jakerod

Share this post


Link to post
Share on other sites

Clutter is defined in several files.

The layers.cfg is where you tell the engine what RGB value you wish to assign your clutter too it in the mask_lco.png

Then the config.cpp is where what does most of the work, here you define the types of foilage as clutter class. It also tells the engine what class of clutter will lay on the texture you want. Then lastly it also allows you too specify how much clutter you want on a texture.

Example My layers.cfg:

class Layers

{

class Dirta

{

texture = "@ausworld\australia\data\Dirta_mco.paa";

material="@ausworld\australia\data\Dirta.rvmat";

};

class Dirtb

{

texture = "@ausworld\australia\data\Dirtb_mco.paa";

material="@ausworld\australia\data\Dirtb.rvmat";

};

class Dirtc

{

texture = "@ausworld\australia\data\Dirtc_mco.paa";

material="@ausworld\australia\data\Dirtc.rvmat";

};

class Dirtd

{

texture = "@ausworld\australia\data\Dirtd_mco.paa";

material="@ausworld\australia\data\Dirtd.rvmat";

};

class travajih

{

texture = "@ausworld\australia\data\travajih_mco.png";

material="@ausworld\australia\data\travajih.rvmat";

};

class mesto

{

texture = "@ausworld\australia\data\mesto_mco.paa";

material="@ausworld\australia\data\mesto.rvmat";

};

class lesjeh

{

texture = "@ausworld\australia\data\lesjeh_mco.png";

material="@ausworld\australia\data\lesjeh.rvmat";

};

class eastskalakam

{

texture = "@ausworld\australia\data\eastskalakam_mco.paa";

material="@ausworld\australia\data\eastskalakam.rvmat";

};

class swamp

{

texture = "@ausworld\australia\data\oldjunglegrass_mco.png";

material="@ausworld\australia\data\oldjunglegrass.rvmat";

};

class desertrock

{

texture = "@ausworld\australia\data\desertrock_mco.paa";

material="@ausworld\australia\data\desertrock.rvmat";

};

class dgrass

{

texture = "@ausworld\australia\data\dgrass_mco.paa";

material="@ausworld\australia\data\dgrass.rvmat";

};

class sand

{

texture = "@ausworld\australia\data\sand_mco.paa";

material="@ausworld\australia\data\sand.rvmat";

};

};

class Legend

{

picture="@ausworld\australia\Source\mapLegend.png";

class Colors

{

/// color names should correspond to surface layer names

Dirta[]={{220,200,120}};

Dirtb[]={{220,180,100}};

Dirtc[]={{210,150,80}};

Dirtd[]={{200,130,70}};

travajih[]={{14,189,26}};

mesto[]={{100,100,100}};

lesjeh[]={{100,120,0}};

eastskalakam[]={{150,150,150}};

swamp[]={{83,83,28}};

desertrock[]={{200,150,100}};

dgrass[]={{200,200,100}};

sand[]={{230,230,150}};

}

};

You can see what classes I have defined and the their matching RGB value.

Then below are several sections of my config.cpp.

Defining the ojects I want as clutter

class clutter

};

class ForestFern : GrassGeneral {

model = "ca\plants\clutter_forest_fern.p3d";

affectedByWind = 0.1;

scaleMin = 0.9;

scaleMax = 1.2;

};

Next I define the files in cfgsurfaces and assign it too a suface

class lesjeh : Default {

access = ReadOnly;

files = "lesjeh_*";

rough = 0.1;

dust = 0.9;

soundEnviron = "grass";

character = "ausforestclutter";

};

Then lastly I define the cfgsurfacecharacters

class ausforestclutter {

probability[] = {0.2,0.15,0.1,0.1,0.019,0.012,0.011};

names[] = {"ForestFern","GrassLong","GrassFlowers","SmallRocks","MushroomsHorcak","MushroomsPrasivka","MushroomsMuchomurka"};

};

In the last section you can see I have added quite a few objects to that ausforestclutter, and the probability tells the engine how much too lay. Once you understand how clutter works you can then have some fun experimenting with different textures colors etc. I hope this helps.

Edited by Aussie

Share this post


Link to post
Share on other sites

I can tell you Clutters are just eye candy. They are just a simple an eye effect for us, Humans.

Say what ever you say, developer or not, i still keep my point of view about clutters, and i have some doubts that BIS improved Clutters for ARMA2 (like they mentioned) the way we think and the way we wish they wound be improved.

Somehow i really would love that clutters could affect AIs the same way it does for us Humans.

EDIT: I will just simply post a picture to show you what i wanted to explain:

clutter_logicodes_b.jpg

Follow the colors and theres your logic.

Edited by bravo 6

Share this post


Link to post
Share on other sites

Thank you guys. I think I will be able to get it working when I have time later today. If not i'll reply again.

Share this post


Link to post
Share on other sites

Does anyone see anything wrong with the config file below? Everytime I try to use binpbo on it, it tells me there is an error in the file somewhere and I don't know what it is. I checked for missing quotes and missing { and }s but I haven't found any. In addition if anyone has any links to good config writing tutorials or anything I would greatly appreciate it. So far i've figured out that for everyone of { there must be a }; and that is about it

#define ReadAndWrite 0
#define ReadAndCreate 1
#define ReadOnly 2
#define ReadOnlyVerified 3

class CfgPatches
{
   class manan
   {
       units[] = {};
       worlds[] = { "manan" };
       requiredVersion = 1.14;
   };
};

class CfgWorldList
{
   class manan {};
};

class DefaultLighting;
class DefaultLighting_CA : DefaultLighting {};

class clutter {
class GrassGeneral : DefaultClutter {
model = "ca\plants\clutter_grass_general.p3d";
affectedByWind = 0.3;
swLighting = 1;
scaleMin = 0.75;
scaleMax = 1.0;
};

class GrassFlowers : GrassGeneral {
model = "ca\plants\clutter_grass_flowers.p3d";
affectedByWind = 0.3;
swLighting = 1;
scaleMin = 0.75;
scaleMax = 1.0;
};

class GrassLong : GrassGeneral {
model = "ca\plants\clutter_grass_long.p3d";
affectedByWind = 0.6;
scaleMin = 0.6;
scaleMax = 1.1;
};

class GrassSevenbeauty : GrassGeneral {
model = "ca\plants\clutter_grass_sevenbaeuty.p3d";
affectedByWind = 0.2;
scaleMin = 0.7;
scaleMax = 1.1;
};

class GrassYellow : GrassGeneral {
model = "ca\plants\clutter_grass_yellow.p3d";
affectedByWind = 0.2;
scaleMin = 0.7;
scaleMax = 1.1;
};

class GrassDesert : GrassGeneral {
model = "ca\plants\clutter_grass_desert.p3d";
};

class ForestFern : GrassGeneral {
model = "ca\plants\clutter_forest_fern.p3d";
affectedByWind = 0.1;
scaleMin = 0.9;
scaleMax = 1.1;
};

class SmallRocks : GrassGeneral {
model = "ca\rocks\clutter_stone_small.p3d";
affectedByWind = 0;
scaleMin = 0.9;
scaleMax = 1.1;
};

class FlowersColor : GrassGeneral {
model = "ca\plants\clutter_smetanka.p3d";
};

class FlowersWhite : GrassGeneral {
model = "ca\plants\clutter_white_flower.p3d";
};

class MushroomsHorcak : GrassGeneral {
model = "ca\plants\clutter_horcak.p3d";
affectedByWind = 0;
scaleMin = 0.85;
scaleMax = 1.25;
};

class MushroomsPrasivka : MushroomsHorcak {
model = "ca\plants\clutter_prasivky.p3d";
};

class MushroomsBabka : MushroomsHorcak {
model = "ca\plants\clutter_babka.p3d";
};

class MushroomsMuchomurka : MushroomsHorcak {
model = "ca\plants\clutter_muchomurka.p3d";
};
};

class CfgSurfaces 
{
class jp_lesjeh : Default 
{
access = ReadOnly;
files = "jp_lesjeh_*";
rough = 0.1;
dust = 0.9;
soundEnviron = "grass";
character = "jpgrass";
};
class jp_mesto2 : Default 
{
access = ReadOnly;
files = "jp_mesto2_*";
rough = 0.1;
dust = 0.9;
soundEnviron = "grass";
character = "jpurban";
};
class jp_pole1 : Default 
{
access = ReadOnly;
files = "jp_pole1_*";
rough = 0.1;
dust = 0.9;
soundEnviron = "grass";
character = "jpfields";
};
class jp_pisek : Default 
{
access = ReadOnly;
files = "jp_pisek_*";
rough = 0.1;
dust = 0.9;
soundEnviron = "grass";
character = "jpsand";
};
};

class CfgSurfaceCharacters
{
class jpgrass
{
probability[] = {0.15,0.1,0.1,0.012,0.011};
names[] = {"GrassLong","GrassFlowers","SmallRocks","MushroomsPrasivka","MushroomsMuchomurka"};
};
class jpurban
{
probability[] = {0.001};
names[] = {"SmallRocks"};
};
class jpfields
{
probability[] = {0.1,0.019,0.012};
names[] = {"SmallRocks","MushroomsPrasivka","MushroomsMuchomurka"};
};
class jpsand
{
probability[] = {0.5};
names[] = {"SmallRocks"};
};
};

class CfgWorlds
{
   class Sara;
   class manan : Sara
   {
       description = "manan";
       worldName = "\manan\manan.wrp";
   };
};

Edited by Jakerod

Share this post


Link to post
Share on other sites

I see that you miss alot of codes and some are in the wrong area.

For start your class clutter should be inside the class CfgWorlds.

edit: I just did a quick look at your code and i made a simple organization, try it out.

#define ReadAndWrite 0
#define ReadAndCreate 1
#define ReadOnly 2
#define ReadOnlyVerified 3

class CfgPatches
{
   class manan
   {
       units[] = {};
       worlds[] = { "manan" };
       requiredVersion = 1.14;
   };
};


class DefaultLighting;
class DefaultLighting_CA : DefaultLighting {};

class CfgWorlds
{
   class Sara;
   class manan : Sara
   {
       description = "manan";
       worldName = "\manan\manan.wrp";
   };
class clutter {
		class GrassGeneral : DefaultClutter {
			model = "ca\plants\clutter_grass_general.p3d";
			affectedByWind = 0.3;
			swLighting = 1;
			scaleMin = 0.75;
			scaleMax = 1.0;
		};

	class GrassFlowers : GrassGeneral {
		model = "ca\plants\clutter_grass_flowers.p3d";
		affectedByWind = 0.3;
		swLighting = 1;
		scaleMin = 0.75;
		scaleMax = 1.0;
	};

	class GrassLong : GrassGeneral {
		model = "ca\plants\clutter_grass_long.p3d";
		affectedByWind = 0.6;
		scaleMin = 0.6;
		scaleMax = 1.1;
	};

	class GrassSevenbeauty : GrassGeneral {
		model = "ca\plants\clutter_grass_sevenbaeuty.p3d";
		affectedByWind = 0.2;
		scaleMin = 0.7;
		scaleMax = 1.1;
	};

	class GrassYellow : GrassGeneral {
		model = "ca\plants\clutter_grass_yellow.p3d";
		affectedByWind = 0.2;
		scaleMin = 0.7;
		scaleMax = 1.1;
	};

	class GrassDesert : GrassGeneral {
		model = "ca\plants\clutter_grass_desert.p3d";
	};

	class ForestFern : GrassGeneral {
		model = "ca\plants\clutter_forest_fern.p3d";
		affectedByWind = 0.1;
		scaleMin = 0.9;
		scaleMax = 1.1;
	};

	class SmallRocks : GrassGeneral {
		model = "ca\rocks\clutter_stone_small.p3d";
		affectedByWind = 0;
		scaleMin = 0.9;
		scaleMax = 1.1;
	};

	class FlowersColor : GrassGeneral {
		model = "ca\plants\clutter_smetanka.p3d";
	};

	class FlowersWhite : GrassGeneral {
		model = "ca\plants\clutter_white_flower.p3d";
	};

	class MushroomsHorcak : GrassGeneral {
		model = "ca\plants\clutter_horcak.p3d";
		affectedByWind = 0;
		scaleMin = 0.85;
		scaleMax = 1.25;
	};

	class MushroomsPrasivka : MushroomsHorcak {
		model = "ca\plants\clutter_prasivky.p3d";
	};

	class MushroomsBabka : MushroomsHorcak {
		model = "ca\plants\clutter_babka.p3d";
	};

	class MushroomsMuchomurka : MushroomsHorcak {
		model = "ca\plants\clutter_muchomurka.p3d";
	};
};

};


class CfgSurfaces 
{
class jp_lesjeh : Default 
{
	access = ReadOnly;
	files = "jp_lesjeh_*";
	rough = 0.1;
	dust = 0.9;
	soundEnviron = "grass";
	character = "jpgrass";
};
class jp_mesto2 : Default 
{
	access = ReadOnly;
	files = "jp_mesto2_*";
	rough = 0.1;
	dust = 0.9;
	soundEnviron = "grass";
	character = "jpurban";
};
class jp_pole1 : Default 
{
	access = ReadOnly;
	files = "jp_pole1_*";
	rough = 0.1;
	dust = 0.9;
	soundEnviron = "grass";
	character = "jpfields";
};
class jp_pisek : Default 
{
	access = ReadOnly;
	files = "jp_pisek_*";
	rough = 0.1;
	dust = 0.9;
	soundEnviron = "grass";
	character = "jpsand";
};
};

class CfgSurfaceCharacters
{
class jpgrass
{
	probability[] = {0.15,0.1,0.1,0.012,0.011};
	names[] = {"GrassLong","GrassFlowers","SmallRocks","MushroomsPrasivka","MushroomsMuchomurka"};
};
class jpurban
{
	probability[] = {0.001};
	names[] = {"SmallRocks"};
};
class jpfields
{
	probability[] = {0.1,0.019,0.012};
	names[] = {"SmallRocks","MushroomsPrasivka","MushroomsMuchomurka"};
};
class jpsand
{
	probability[] = {0.5};
	names[] = {"SmallRocks"};
};
};

class CfgWorldList
{
   class manan {};
};

edit2: I see your are using grass sound beaucoup, why don't you variate abit? List of soundEnviron.

Edited by bravo 6

Share this post


Link to post
Share on other sites
I see that you miss alot of codes and some are in the wrong area.

For start your class clutter should be inside the class CfgWorlds.

Yeah that is one of reasons I asked for tutorials. I don't know what is supposed to go under what section and every config I find on here is in a post about people asking why its not working so I am a bit reluctant to copy that one.

I have a config with more code in it defining runways, insects etc. but I pasted it into this one trying to make sure it wasn't a problem with the other codes since I know that this one worked at one point.

EDIT: @Bravo's edit: Thank you. I have just been trying to get clutter to work on my island and haven't really messed with anything other than the model names so far which is why the sound is all the same. Thank you for the link btw. End Edit.

EDIT AGAIN: It is still giving me an error when I try to binarize/pack it. Would it be able to pick up on me not referencing another file or something? For example, if jp_pisek was called jppisek? Or would the binarize ignore that? Im sure I would get an error in game but I am trying to narrow down what's giving me the error now.

This is the longer one:

#define ReadAndWrite 0
#define ReadAndCreate 1
#define ReadOnly 2
#define ReadOnlyVerified 3


class CfgPatches {
class manan{
units[] = {};
worlds[] = {manan};
requiredVersion = 0.1;
};
};
class DefaultLighting; // External class reference

class DefaultLighting_CA : DefaultLighting {};

class CfgWorlds {
class DefaultClutter {
scaleMin = 0.9;
scaleMax = 1.4;
};
class DefaultWorld; // External class reference
class Intro : DefaultWorld {};

class manan: Intro {
access = 3;
cutscenes[] = {"DesertIntro1"};
description = "manan";
icon = "";
worldName = "\manan\manan.wrp";
pictureMap = "";
pictureShot = "";
plateFormat = "ML$ - #####";
plateLetters = ABCDEGHIKLMNOPRSTVXZ;
longitude = -40; // positive is east
latitude = -40; // positive is south

class Grid //OFP style Aa00 - JJ99
{
//colorGrid[]={0,0,1,1};
//colorGridMap[]={0,0,1,1};
offsetX=0;
offsetY=0;
class Zoom0
{
zoomMax=0.2;
format="XY";
formatX="Aa";
formatY="00";
stepX=256;
stepY=256;
};
class Zoom1
{
zoomMax=1.0;
format="XY";
formatX="A-";
formatY="0-";
stepX=2560;
stepY=2560;
};
}

startTime = 8:30;
startDate = 07/06/2007;
startWeather = 0.1;
startFog = 0.0;
forecastWeather = 0.3;
forecastFog = 0.0;
seagullPos[] = {1272.84, 150.0, 14035};
centerPosition[] = {2500, 2500, 300};
ilsPosition[] = {2545, 3000};
ilsDirection[] = {0, 0.08, 1};
ilsTaxiIn[] = {2495, 2725, 2495, 2850, 2508, 2860, 2508, 3000, 2520, 3010, 2545, 3000};
ilsTaxiOff[] = {2545, 2445, 2520, 2425, 2495, 2445, 2495, 2725};
drawTaxiway = 0;

class ReplaceObjects {};

class Sounds {
sounds[] = {};
};

class Animation {
vehicles[] = {};
};

class Lighting : DefaultLighting {};
clutterGrid = 1.11;
clutterDist = 55;
noDetailDist = 40;
fullDetailDist = 5;
minTreesInForestSquare = 3;
minRocksInRockSquare = 4;

class clutter {
class GrassGeneral : DefaultClutter {
model = "ca\plants\clutter_grass_general.p3d";
affectedByWind = 0.3;
swLighting = 1;
scaleMin = 0.75;
scaleMax = 1.0;
};

class GrassFlowers : GrassGeneral {
model = "ca\plants\clutter_grass_flowers.p3d";
affectedByWind = 0.3;
swLighting = 1;
scaleMin = 0.75;
scaleMax = 1.0;
};

class GrassLong : GrassGeneral {
model = "ca\plants\clutter_grass_long.p3d";
affectedByWind = 0.6;
scaleMin = 0.6;
scaleMax = 1.1;
};

class GrassSevenbeauty : GrassGeneral {
model = "ca\plants\clutter_grass_sevenbaeuty.p3d";
affectedByWind = 0.2;
scaleMin = 0.7;
scaleMax = 1.1;
};

class GrassYellow : GrassGeneral {
model = "ca\plants\clutter_grass_yellow.p3d";
affectedByWind = 0.2;
scaleMin = 0.7;
scaleMax = 1.1;
};

class GrassDesert : GrassGeneral {
model = "ca\plants\clutter_grass_desert.p3d";
};

class ForestFern : GrassGeneral {
model = "ca\plants\clutter_forest_fern.p3d";
affectedByWind = 0.1;
scaleMin = 0.9;
scaleMax = 1.1;
};

class SmallRocks : GrassGeneral {
model = "ca\rocks\clutter_stone_small.p3d";
affectedByWind = 0;
scaleMin = 0.9;
scaleMax = 1.1;
};

class FlowersColor : GrassGeneral {
model = "ca\plants\clutter_smetanka.p3d";
};

class FlowersWhite : GrassGeneral {
model = "ca\plants\clutter_white_flower.p3d";
};

class MushroomsHorcak : GrassGeneral {
model = "ca\plants\clutter_horcak.p3d";
affectedByWind = 0;
scaleMin = 0.85;
scaleMax = 1.25;
};

class MushroomsPrasivka : MushroomsHorcak {
model = "ca\plants\clutter_prasivky.p3d";
};

class MushroomsBabka : MushroomsHorcak {
model = "ca\plants\clutter_babka.p3d";
};

class MushroomsMuchomurka : MushroomsHorcak {
model = "ca\plants\clutter_muchomurka.p3d";
};
};

class Subdivision {
class Fractal {
rougness = 5;
maxRoad = 0.02;
maxTrack = 0.5;
maxSlopeFactor = 0.05;
};

class WhiteNoise {
rougness = 2;
maxRoad = 0.01;
maxTrack = 0.05;
maxSlopeFactor = 0.0025;
};
minY = 0.0;
minSlope = 0.02;
};

class Ambient {
class BigBirds {
radius = 300;
cost = "((1 + forest + trees) - ((2 * rain)) - houses) * (1 - night) * (1 - sea)";

class Species {
class Hawk {
probability = 0.2;
cost = 1;
};
};
};

class CfgSurfaces 
{
class Default 
{
};
class water 
{
};
class jp_lesjeh : Default 
{
access = ReadOnly;
files = "jp_lesjeh_*";
rough = 0.1;
dust = 0.9;
soundEnviron = "grass";
character = "jpgrass";
};
class jp_mesto2 : Default 
{
access = ReadOnly;
files = "jp_mesto2_*";
rough = 0.1;
dust = 0.9;
soundEnviron = "grass";
character = "jpurban";
};
class jp_pole1 : Default 
{
access = ReadOnly;
files = "jp_pole1_*";
rough = 0.1;
dust = 0.9;
soundEnviron = "grass";
character = "jpfields";
};
class jp_pisek : Default 
{
access = ReadOnly;
files = "jp_pisek_*";
rough = 0.1;
dust = 0.9;
soundEnviron = "grass";
character = "jpsand";
};
};

class cfgsurfacecharacters
{
class jpgrass
{
probability[] = {0.15,0.1,0.1,0.012,0.011};
names[] = {"GrassLong","GrassFlowers","SmallRocks","MushroomsPrasivka","MushroomsMuchomurka"};
};
class jpurban
{
probability[] = {0.001};
names[] = {"SmallRocks"};
};
class jpfields
{
probability[] = {0.1,0.019,0.012};
names[] = {"SmallRocks","MushroomsPrasivka","MushroomsMuchomurka"};
};
class jpsand
{
probability[] = {0.5};
names[] = {"SmallRoc ks"};
};
};


class
class Birds {
radius = 170;
cost = "(1 - night) * ((1 + (3 * sea)) - (2 * rain))";

class Species {
class Seagull {
probability = 0.2;
cost = 1;
};
};
};

class BigInsects {
radius = 20;
cost = "(5 - (2 * houses)) * (1 - night) * (1 - rain) * (1 - sea) * (1 - windy)";

class Species {
class DragonFly {
probability = "0.6 - (meadow * 0.5) + (forest * 0.4)";
cost = 1;
};

class ButterFly {
probability = "0.4 + (meadow * 0.5) - (forest * 0.4)";
cost = 1;
};
};
};

class BigInsectsAquatic {
radius = 20;
cost = "(3 * sea) * (1 - night) * (1 - rain) * (1 - windy)";

class Species {
class DragonFly {
probability = 1;
cost = 1;
};
};
};

class WindClutter {
radius = 10;
cost = "((20 - 5 * rain) * (3 * (windy factor [0.2, 0.5]))) * (1 - sea)";

class Species {
class FxWindGrass1 {
probability = "0.4 - 0.2 * hills - 0.2 * trees";
cost = 1;
};

class FxWindGrass2 {
probability = "0.4 - 0.2 * hills - 0.2 * trees";
cost = 1;
};

class FxWindRock1 {
probability = "0.4 * hills";
cost = 1;
};

class FxWindLeaf1 {
probability = "0.2 * trees";
cost = 1;
};

class FxWindLeaf2 {
probability = "0.1 * trees + 0.2";
cost = 1;
};

class FxWindLeaf3 {
probability = "0.1 * trees";
cost = 1;
};
};
};

class NoWindClutter {
radius = 15;
cost = "(20 * (windy factor [0.1, 0.2])) * meadow * (1 - rain) * (1 - sea) * (1 - forest) * (1 - houses)";

class Species {
class FxWindPollen1 {
probability = 1;
cost = 1;
};
};
};

class SmallInsects {
radius = 3;
cost = "(12 - 8 * hills) * (1 - night) * (1 - rain) * (1 - sea) * (1 - windy)";

class Species {
class HouseFly {
probability = "deadBody + (1 - deadBody) * (0.5 - forest * 0.1 - meadow * 0.2)";
cost = 1;
};

class HoneyBee {
probability = "(1 - deadBody) * (0.5 - forest * 0.1 + meadow * 0.2)";
cost = 1;
};

class Mosquito {
probability = "(1 - deadBody) * (0.2 * forest)";
cost = 1;
};
};
};

class NightInsects {
radius = 3;
cost = "(9 - 8 * hills) * night * (1 - rain) * (1 - sea) * (1 - windy)";

class Species {
class Mosquito {
probability = 1;
cost = 1;
};
};
};
};

class Names {
class Veg_1 {
name = "";
position[] = {2713.62, 2140.92};
type = "VegetationPalm";
radiusA = 50;
radiusB = 50;
};

class Veg_2 {
name = "";
position[] = {2446.09, 3038.29};
type = "VegetationPalm";
radiusA = 50;
radiusB = 50;
};

class Veg_3 {
name = "";
position[] = {2940.52, 2923.19};
type = "VegetationPalm";
radiusA = 50;
radiusB = 50;
};
};
};
};

class CfgWorldList {
class manan{};
};

Edited by Jakerod

Share this post


Link to post
Share on other sites

Edit: Ill post the hole code you posted above in a while.. Need some time to reorganize stuff.

be right back.

Edited by bravo 6

Share this post


Link to post
Share on other sites

ok, here is the code i gathered from both posted codes, try it:

#define ReadAndWrite 0
#define ReadAndCreate 1
#define ReadOnly 2
#define ReadOnlyVerified 3


class CfgPatches {
	class manan {
	units[] = {};
	worlds[] = {"manan"};
	requiredVersion = 0.1;
};
};

class DefaultLighting; // External class reference
class DefaultLighting_CA : DefaultLighting {};

class CfgWorlds 
{
class DefaultClutter 
{
	scaleMin = 0.9;
	scaleMax = 1.4;
};
class DefaultWorld; // External class reference

class CAWorld : DefaultWorld {
	class Grid {};
};

class manan : CAWorld
{
	access = 3;
	cutscenes[] = {"mananIntro1"};
	description = "manan";
	icon = "";
	worldName = "\manan\manan.wrp";
	pictureMap = "";
	pictureShot = "";
	plateFormat = "ML$ - #####";
	plateLetters = ABCDEGHIKLMNOPRSTVXZ;
	longitude = -40; // positive is east
	latitude = -40; // positive is south

	class Grid //OFP style Aa00 - JJ99
	{
		//colorGrid[]={0,0,1,1};
		//colorGridMap[]={0,0,1,1};
		offsetX=0;
		offsetY=0;
		class Zoom0
		{
			zoomMax=0.2;
			format="XY";
			formatX="Aa";
			formatY="00";
			stepX=256;
			stepY=256;
		};	
		class Zoom1
		{	
			zoomMax=1.0;
			format="XY";
			formatX="A-";
			formatY="0-";
			stepX=2560;
			stepY=2560;
		};
	}

		startTime = 8:30;
		startDate = 07/06/2007;
		startWeather = 0.1;
		startFog = 0.0;
		forecastWeather = 0.3;
		forecastFog = 0.0;
		seagullPos[] = {1272.84, 150.0, 14035};
		centerPosition[] = {2500, 2500, 300};
		ilsPosition[] = {2545, 3000};
		ilsDirection[] = {0, 0.08, 1};
		ilsTaxiIn[] = {2495, 2725, 2495, 2850, 2508, 2860, 2508, 3000, 2520, 3010, 2545, 3000};
		ilsTaxiOff[] = {2545, 2445, 2520, 2425, 2495, 2445, 2495, 2725};
		drawTaxiway = 0;

	class ReplaceObjects {};

	class Sounds {
		sounds[] = {};
	};

	class Animation {
		vehicles[] = {};
	};

	class Lighting : DefaultLighting {};
		clutterGrid = 1.11;
		clutterDist = 55;
		noDetailDist = 40;
		fullDetailDist = 5;
		minTreesInForestSquare = 3;
		minRocksInRockSquare = 4;

	class clutter {
		class GrassGeneral : DefaultClutter {
			model = "ca\plants\clutter_grass_general.p3d";
			affectedByWind = 0.3;
			swLighting = 1;
			scaleMin = 0.75;
			scaleMax = 1.0;
		};

		class GrassFlowers : GrassGeneral {
			model = "ca\plants\clutter_grass_flowers.p3d";
			affectedByWind = 0.3;
			swLighting = 1;
			scaleMin = 0.75;
			scaleMax = 1.0;
		};

		class GrassLong : GrassGeneral {
			model = "ca\plants\clutter_grass_long.p3d";
			affectedByWind = 0.6;
			scaleMin = 0.6;
			scaleMax = 1.1;
		};

		class GrassSevenbeauty : GrassGeneral {
			model = "ca\plants\clutter_grass_sevenbaeuty.p3d";
			affectedByWind = 0.2;
			scaleMin = 0.7;
			scaleMax = 1.1;
		};

		class GrassYellow : GrassGeneral {
			model = "ca\plants\clutter_grass_yellow.p3d";
			affectedByWind = 0.2;
			scaleMin = 0.7;
			scaleMax = 1.1;
		};

		class GrassDesert : GrassGeneral {
			model = "ca\plants\clutter_grass_desert.p3d";
		};

		class ForestFern : GrassGeneral {
			model = "ca\plants\clutter_forest_fern.p3d";
			affectedByWind = 0.1;
			scaleMin = 0.9;
			scaleMax = 1.1;
		};

		class SmallRocks : GrassGeneral {
			model = "ca\rocks\clutter_stone_small.p3d";
			affectedByWind = 0;
			scaleMin = 0.9;
			scaleMax = 1.1;
		};

		class FlowersColor : GrassGeneral {
			model = "ca\plants\clutter_smetanka.p3d";
		};

		class FlowersWhite : GrassGeneral {
			model = "ca\plants\clutter_white_flower.p3d";
		};

		class MushroomsHorcak : GrassGeneral {
			model = "ca\plants\clutter_horcak.p3d";
			affectedByWind = 0;
			scaleMin = 0.85;
			scaleMax = 1.25;
		};

		class MushroomsPrasivka : MushroomsHorcak {
			model = "ca\plants\clutter_prasivky.p3d";
		};

		class MushroomsBabka : MushroomsHorcak {
			model = "ca\plants\clutter_babka.p3d";
		};

		class MushroomsMuchomurka : MushroomsHorcak {
			model = "ca\plants\clutter_muchomurka.p3d";
		};
	};

	class Subdivision 
	{
		class Fractal {
			rougness = 5;
			maxRoad = 0.02;
			maxTrack = 0.5;
			maxSlopeFactor = 0.05;
		};

		class WhiteNoise {
			rougness = 2;
			maxRoad = 0.01;
			maxTrack = 0.05;
			maxSlopeFactor = 0.0025;
		};
		minY = 0.0;
		minSlope = 0.02;
	};

	class Ambient 
	{
		class BigBirds 
		{
			radius = 300;0
			class BigInsects {
				radius = 20;
				cost = "(5 - (2 * houses)) * (1 - night) * (1 - rain) * (1 - sea) * (1 - windy)";

				class Species {
					class DragonFly {
						probability = "0.6 - (meadow * 0.5) + (forest * 0.4)";
						cost = 1;
					};

					class ButterFly {
						probability = "0.4 + (meadow * 0.5) - (forest * 0.4)";
						cost = 1;
					};
				};
			};

			class BigInsectsAquatic {
				radius = 20;
				cost = "(3 * sea) * (1 - night) * (1 - rain) * (1 - windy)";

				class Species {
					class DragonFly {
						probability = 1;
						cost = 1;
					};
				};
			};

			class WindClutter {
				radius = 10;
				cost = "((20 - 5 * rain) * (3 * (windy factor [0.2, 0.5]))) * (1 - sea)";

				class Species 
				{
					class FxWindGrass1 {
						probability = "0.4 - 0.2 * hills - 0.2 * trees";
						cost = 1;
					};

					class FxWindGrass2 {
						probability = "0.4 - 0.2 * hills - 0.2 * trees";
						cost = 1;
					};

					class FxWindRock1 {
						probability = "0.4 * hills";
						cost = 1;
					};

					class FxWindLeaf1 {
						probability = "0.2 * trees";
						cost = 1;
					};

					class FxWindLeaf2 {
						probability = "0.1 * trees + 0.2";
						cost = 1;
					};

					class FxWindLeaf3 {
						probability = "0.1 * trees";
						cost = 1;
					};
				};
			};

			class NoWindClutter {
				radius = 15;
				cost = "(20 * (windy factor [0.1, 0.2])) * meadow * (1 - rain) * (1 - sea) * (1 - forest) * (1 - houses)";

				class Species {
					class FxWindPollen1 {
						probability = 1;
						cost = 1;
					};
				};
			};

			class SmallInsects {
					radius = 3;
					cost = "(12 - 8 * hills) * (1 - night) * (1 - rain) * (1 - sea) * (1 - windy)";

				class Species {
					class HouseFly {
						probability = "deadBody + (1 - deadBody) * (0.5 - forest * 0.1 - meadow * 0.2)";
						cost = 1;
					};

					class HoneyBee {
						probability = "(1 - deadBody) * (0.5 - forest * 0.1 + meadow * 0.2)";
						cost = 1;
					};

					class Mosquito {
						probability = "(1 - deadBody) * (0.2 * forest)";
						cost = 1;
					};
				};
			};

			class NightInsects 
			{
				radius = 3;
				cost = "(9 - 8 * hills) * night * (1 - rain) * (1 - sea) * (1 - windy)";

				class Species {
					class Mosquito {
						probability = 1;
						cost = 1;
					};
				};
			};
		};

		class Names {
			class Veg_1 {
				name = "";
				position[] = {2713.62, 2140.92};
				type = "VegetationPalm";
				radiusA = 50;
				radiusB = 50;
			};

			class Veg_2 {
				name = "";
				position[] = {2446.09, 3038.29};
				type = "VegetationPalm";
				radiusA = 50;
				radiusB = 50;
			};

			class Veg_3 {
				name = "";
				position[] = {2940.52, 2923.19};
				type = "VegetationPalm";
				radiusA = 50;
				radiusB = 50;
			};
		};
	};
	class Names
	{
		#include "Manan.hpp"
	};
};
};

class CfgSurfaces 
{
class jp_lesjeh : Default 
{
	access = ReadOnly;
	files = "jp_lesjeh_*";
	rough = 0.1;
	dust = 0.9;
	soundEnviron = "grass";
	character = "jpgrass";
};
class jp_mesto2 : Default 
{
	access = ReadOnly;
	files = "jp_mesto2_*";
	rough = 0.1;
	dust = 0.9;
	soundEnviron = "grass";
	character = "jpurban";
};
class jp_pole1 : Default 
{
	access = ReadOnly;
	files = "jp_pole1_*";
	rough = 0.1;
	dust = 0.9;
	soundEnviron = "grass";
	character = "jpfields";
};
class jp_pisek : Default 
{
	access = ReadOnly;
	files = "jp_pisek_*";
	rough = 0.1;
	dust = 0.9;
	soundEnviron = "grass";
	character = "jpsand";
};
};

class CfgSurfaceCharacters
{
class jpgrass
{
	probability[] = {0.15,0.1,0.1,0.012,0.011};
	names[] = {"GrassLong","GrassFlowers","SmallRocks","MushroomsPrasivka","MushroomsMuchomurka"};
};
class jpurban
{
	probability[] = {0.001};
	names[] = {"SmallRocks"};
};
class jpfields
{
	probability[] = {0.1,0.019,0.012};
	names[] = {"SmallRocks","MushroomsPrasivka","MushroomsMuchomurka"};
};
class jpsand
{
	probability[] = {0.5};
	names[] = {"SmallRocks"};
};
};

class CfgWorldList {
class manan{};
};

Share this post


Link to post
Share on other sites

It still gives me an error.

Thank you though. Do you think I have some file somewhere that the config is trying to reference but its not picking up or I named it wrong or something?

Also, I think it makes the pbo (for some reason my computer won't let me see the pbo in the addons folder one I use Binpbo to make something there) but it doesn't show up on the list in game.

Exact error Binarize gives me: "Error in config p:\manan\manan\config.cpp" and it says it twice.

Edited by Jakerod

Share this post


Link to post
Share on other sites

What does the message say exactly?

Does it refer error on config.cpp?

Share this post


Link to post
Share on other sites

"Error in config p:\manan\manan\config.cpp"

Pops up in a tiny window twice but the binarizing continues and ultimately doesn't show up on the list.

Share this post


Link to post
Share on other sites

I found an error on the code i posted in other page:

it had "radius = 300;0 "

Again:

#define ReadAndWrite 0
#define ReadAndCreate 1
#define ReadOnly 2
#define ReadOnlyVerified 3


class CfgPatches {
class manan {
	units[] = {};
	worlds[] = {"manan"};
	requiredVersion = 0.1;
};
};

class DefaultLighting; // External class reference
class DefaultLighting_CA : DefaultLighting {};

class CfgWorlds 
{
class DefaultClutter 
{
	scaleMin = 0.9;
	scaleMax = 1.4;
};
class DefaultWorld; // External class reference

class CAWorld : DefaultWorld {
	class Grid {};
};

class manan : CAWorld
{
	access = 3;
	cutscenes[] = {"mananIntro1"};
	description = "manan";
	icon = "";
	worldName = "\manan\manan.wrp";
	pictureMap = "";
	pictureShot = "";
	plateFormat = "ML$ - #####";
	plateLetters = ABCDEGHIKLMNOPRSTVXZ;
	longitude = -40; // positive is east
	latitude = -40; // positive is south

	class Grid //OFP style Aa00 - JJ99
	{
		//colorGrid[]={0,0,1,1};
		//colorGridMap[]={0,0,1,1};
		offsetX=0;
		offsetY=0;
		class Zoom0
		{
			zoomMax=0.2;
			format="XY";
			formatX="Aa";
			formatY="00";
			stepX=256;
			stepY=256;
		};	
		class Zoom1
		{	
			zoomMax=1.0;
			format="XY";
			formatX="A-";
			formatY="0-";
			stepX=2560;
			stepY=2560;
		};
	}

	startTime = 8:30;
	startDate = 07/06/2007;
	startWeather = 0.1;
	startFog = 0.0;
	forecastWeather = 0.3;
	forecastFog = 0.0;
	seagullPos[] = {1272.84, 150.0, 14035};
	centerPosition[] = {2500, 2500, 300};
	ilsPosition[] = {2545, 3000};
	ilsDirection[] = {0, 0.08, 1};
	ilsTaxiIn[] = {2495, 2725, 2495, 2850, 2508, 2860, 2508, 3000, 2520, 3010, 2545, 3000};
	ilsTaxiOff[] = {2545, 2445, 2520, 2425, 2495, 2445, 2495, 2725};
	drawTaxiway = 0;

	class ReplaceObjects {};

	class Sounds {
		sounds[] = {};
	};

	class Animation {
		vehicles[] = {};
	};

	class Lighting : DefaultLighting {};
		clutterGrid = 1.11;
		clutterDist = 55;
		noDetailDist = 40;
		fullDetailDist = 5;
		minTreesInForestSquare = 3;
		minRocksInRockSquare = 4;

	class clutter {
		class GrassGeneral : DefaultClutter {
			model = "ca\plants\clutter_grass_general.p3d";
			affectedByWind = 0.3;
			swLighting = 1;
			scaleMin = 0.75;
			scaleMax = 1.0;
		};

		class GrassFlowers : GrassGeneral {
			model = "ca\plants\clutter_grass_flowers.p3d";
			affectedByWind = 0.3;
			swLighting = 1;
			scaleMin = 0.75;
			scaleMax = 1.0;
		};

		class GrassLong : GrassGeneral {
			model = "ca\plants\clutter_grass_long.p3d";
			affectedByWind = 0.6;
			scaleMin = 0.6;
			scaleMax = 1.1;
		};

		class GrassSevenbeauty : GrassGeneral {
			model = "ca\plants\clutter_grass_sevenbaeuty.p3d";
			affectedByWind = 0.2;
			scaleMin = 0.7;
			scaleMax = 1.1;
		};

		class GrassYellow : GrassGeneral {
			model = "ca\plants\clutter_grass_yellow.p3d";
			affectedByWind = 0.2;
			scaleMin = 0.7;
			scaleMax = 1.1;
		};

		class GrassDesert : GrassGeneral {
			model = "ca\plants\clutter_grass_desert.p3d";
		};

		class ForestFern : GrassGeneral {
			model = "ca\plants\clutter_forest_fern.p3d";
			affectedByWind = 0.1;
			scaleMin = 0.9;
			scaleMax = 1.1;
		};

		class SmallRocks : GrassGeneral {
			model = "ca\rocks\clutter_stone_small.p3d";
			affectedByWind = 0;
			scaleMin = 0.9;
			scaleMax = 1.1;
		};

		class FlowersColor : GrassGeneral {
			model = "ca\plants\clutter_smetanka.p3d";
		};

		class FlowersWhite : GrassGeneral {
			model = "ca\plants\clutter_white_flower.p3d";
		};

		class MushroomsHorcak : GrassGeneral {
			model = "ca\plants\clutter_horcak.p3d";
			affectedByWind = 0;
			scaleMin = 0.85;
			scaleMax = 1.25;
		};

		class MushroomsPrasivka : MushroomsHorcak {
			model = "ca\plants\clutter_prasivky.p3d";
		};

		class MushroomsBabka : MushroomsHorcak {
			model = "ca\plants\clutter_babka.p3d";
		};

		class MushroomsMuchomurka : MushroomsHorcak {
			model = "ca\plants\clutter_muchomurka.p3d";
		};
	};

	class Subdivision 
	{
		class Fractal {
			rougness = 5;
			maxRoad = 0.02;
			maxTrack = 0.5;
			maxSlopeFactor = 0.05;
		};

		class WhiteNoise {
			rougness = 2;
			maxRoad = 0.01;
			maxTrack = 0.05;
			maxSlopeFactor = 0.0025;
		};
		minY = 0.0;
		minSlope = 0.02;
	};

	class Ambient 
	{
		class BigBirds 
		{
			radius = 300;
			class BigInsects {
				radius = 20;
				cost = "(5 - (2 * houses)) * (1 - night) * (1 - rain) * (1 - sea) * (1 - windy)";

				class Species {
					class DragonFly {
						probability = "0.6 - (meadow * 0.5) + (forest * 0.4)";
						cost = 1;
					};

					class ButterFly {
						probability = "0.4 + (meadow * 0.5) - (forest * 0.4)";
						cost = 1;
					};
				};
			};

			class BigInsectsAquatic {
				radius = 20;
				cost = "(3 * sea) * (1 - night) * (1 - rain) * (1 - windy)";

				class Species {
					class DragonFly {
						probability = 1;
						cost = 1;
					};
				};
			};

			class WindClutter {
				radius = 10;
				cost = "((20 - 5 * rain) * (3 * (windy factor [0.2, 0.5]))) * (1 - sea)";

				class Species 
				{
					class FxWindGrass1 {
						probability = "0.4 - 0.2 * hills - 0.2 * trees";
						cost = 1;
					};

					class FxWindGrass2 {
						probability = "0.4 - 0.2 * hills - 0.2 * trees";
						cost = 1;
					};

					class FxWindRock1 {
						probability = "0.4 * hills";
						cost = 1;
					};

					class FxWindLeaf1 {
						probability = "0.2 * trees";
						cost = 1;
					};

					class FxWindLeaf2 {
						probability = "0.1 * trees + 0.2";
						cost = 1;
					};

					class FxWindLeaf3 {
						probability = "0.1 * trees";
						cost = 1;
					};
				};
			};

			class NoWindClutter {
				radius = 15;
				cost = "(20 * (windy factor [0.1, 0.2])) * meadow * (1 - rain) * (1 - sea) * (1 - forest) * (1 - houses)";

				class Species {
					class FxWindPollen1 {
						probability = 1;
						cost = 1;
					};
				};
			};

			class SmallInsects {
					radius = 3;
					cost = "(12 - 8 * hills) * (1 - night) * (1 - rain) * (1 - sea) * (1 - windy)";

				class Species {
					class HouseFly {
						probability = "deadBody + (1 - deadBody) * (0.5 - forest * 0.1 - meadow * 0.2)";
						cost = 1;
					};

					class HoneyBee {
						probability = "(1 - deadBody) * (0.5 - forest * 0.1 + meadow * 0.2)";
						cost = 1;
					};

					class Mosquito {
						probability = "(1 - deadBody) * (0.2 * forest)";
						cost = 1;
					};
				};
			};

			class NightInsects 
			{
				radius = 3;
				cost = "(9 - 8 * hills) * night * (1 - rain) * (1 - sea) * (1 - windy)";

				class Species {
					class Mosquito {
						probability = 1;
						cost = 1;
					};
				};
			};
		};

		class Names {
			class Veg_1 {
				name = "";
				position[] = {2713.62, 2140.92};
				type = "VegetationPalm";
				radiusA = 50;
				radiusB = 50;
			};

			class Veg_2 {
				name = "";
				position[] = {2446.09, 3038.29};
				type = "VegetationPalm";
				radiusA = 50;
				radiusB = 50;
			};

			class Veg_3 {
				name = "";
				position[] = {2940.52, 2923.19};
				type = "VegetationPalm";
				radiusA = 50;
				radiusB = 50;
			};
		};
	};
	class Names
	{
		#include "Manan.hpp"
	};
};
};

class CfgSurfaces 
{
class jp_lesjeh : Default 
{
	access = ReadOnly;
	files = "jp_lesjeh_*";
	rough = 0.1;
	dust = 0.9;
	soundEnviron = "grass";
	character = "jpgrass";
};
class jp_mesto2 : Default 
{
	access = ReadOnly;
	files = "jp_mesto2_*";
	rough = 0.1;
	dust = 0.9;
	soundEnviron = "grass";
	character = "jpurban";
};
class jp_pole1 : Default 
{
	access = ReadOnly;
	files = "jp_pole1_*";
	rough = 0.1;
	dust = 0.9;
	soundEnviron = "grass";
	character = "jpfields";
};
class jp_pisek : Default 
{
	access = ReadOnly;
	files = "jp_pisek_*";
	rough = 0.1;
	dust = 0.9;
	soundEnviron = "grass";
	character = "jpsand";
};
};

class CfgSurfaceCharacters
{
class jpgrass {
	probability[] = {0.15,0.1,0.1,0.012,0.011};
	names[] = {"GrassLong","GrassFlowers","SmallRocks","MushroomsPrasivka","MushroomsMuchomurka"};
};
class jpurban {
	probability[] = {0.001};
	names[] = {"SmallRocks"};
};
class jpfields {
	probability[] = {0.1,0.019,0.012};
	names[] = {"SmallRocks","MushroomsPrasivka","MushroomsMuchomurka"};
};
class jpsand {
	probability[] = {0.5};
	names[] = {"SmallRocks"};
};
};

class CfgWorldList {
class manan{};
};

Share this post


Link to post
Share on other sites

Nope, still get the error.

and "lesjeh" should be "travajih" in the two places on there. I've been fixing it the past two of them but it didn't make a difference.

Tried it in game too and I still didn't get it on there.

Edited by Jakerod

Share this post


Link to post
Share on other sites

I have this in my config.cpp at the top, but i don't know if makes any difference:

#define TEast 0
#define TWest 1
#define TGuerrila 2
#define TCivilian 3
#define TSideUnknown 4
#define TLogic 7

#define true 1
#define false 0

// type scope
#define private 0
#define protected 1
#define public 2

#define ReadAndWrite 0 		//! any modifications enabled
#define ReadAndCreate 1 	//! only adding new class members is allowed
#define ReadOnly 2 			//! no modifications enabled
#define ReadOnlyVerified 3 	//! no modifications enabled, CRC test applied


Share this post


Link to post
Share on other sites

I added that and it didn't work.

Thank you very much for all of this too.

I just turned off the binarize option and got no error. However when I went to start up ArmA I got.

File manan\config.cpp, line 375:/CfgSurfaces.jp_travajih: undefined base class "Default".

Edited by Jakerod

Share this post


Link to post
Share on other sites

No problem.

I noticed you missed a default class inside 'class CfgSurfaces'..

try again, copy all:

#define TEast 0
#define TWest 1
#define TGuerrila 2
#define TCivilian 3
#define TSideUnknown 4
#define TLogic 7

#define true 1
#define false 0

// type scope
#define private 0
#define protected 1
#define public 2

#define ReadAndWrite 0 		//! any modifications enabled
#define ReadAndCreate 1 	//! only adding new class members is allowed
#define ReadOnly 2 			//! no modifications enabled
#define ReadOnlyVerified 3 	//! no modifications enabled, CRC test applied


class CfgPatches {
class manan {
	units[] = {};
	worlds[] = {"manan"};
	requiredVersion = 0.1;
};
};

class DefaultLighting; // External class reference
class DefaultLighting_CA : DefaultLighting {};

class CfgWorlds 
{
class DefaultClutter 
{
	scaleMin = 0.9;
	scaleMax = 1.4;
};
class DefaultWorld; // External class reference

class CAWorld : DefaultWorld {
	class Grid {};
};

class manan : CAWorld
{
	access = 3;
	cutscenes[] = {"mananIntro1"};
	description = "manan";
	icon = "";
	worldName = "\manan\manan.wrp";
	pictureMap = "";
	pictureShot = "";
	plateFormat = "ML$ - #####";
	plateLetters = ABCDEGHIKLMNOPRSTVXZ;
	longitude = -40; // positive is east
	latitude = -40; // positive is south

	class Grid //OFP style Aa00 - JJ99
	{
		//colorGrid[]={0,0,1,1};
		//colorGridMap[]={0,0,1,1};
		offsetX=0;
		offsetY=0;
		class Zoom0
		{
			zoomMax=0.2;
			format="XY";
			formatX="Aa";
			formatY="00";
			stepX=256;
			stepY=256;
		};	
		class Zoom1
		{	
			zoomMax=1.0;
			format="XY";
			formatX="A-";
			formatY="0-";
			stepX=2560;
			stepY=2560;
		};
	}

	startTime = 8:30;
	startDate = 07/06/2007;
	startWeather = 0.1;
	startFog = 0.0;
	forecastWeather = 0.3;
	forecastFog = 0.0;
	seagullPos[] = {1272.84, 150.0, 14035};
	centerPosition[] = {2500, 2500, 300};
	ilsPosition[] = {2545, 3000};
	ilsDirection[] = {0, 0.08, 1};
	ilsTaxiIn[] = {2495, 2725, 2495, 2850, 2508, 2860, 2508, 3000, 2520, 3010, 2545, 3000};
	ilsTaxiOff[] = {2545, 2445, 2520, 2425, 2495, 2445, 2495, 2725};
	drawTaxiway = 0;

	class ReplaceObjects {};

	class Sounds {
		sounds[] = {};
	};

	class Animation {
		vehicles[] = {};
	};

	class Lighting : DefaultLighting {};
		clutterGrid = 1.11;
		clutterDist = 55;
		noDetailDist = 40;
		fullDetailDist = 5;
		minTreesInForestSquare = 3;
		minRocksInRockSquare = 4;

	class clutter {
		class GrassGeneral : DefaultClutter {
			model = "ca\plants\clutter_grass_general.p3d";
			affectedByWind = 0.3;
			swLighting = 1;
			scaleMin = 0.75;
			scaleMax = 1.0;
		};

		class GrassFlowers : GrassGeneral {
			model = "ca\plants\clutter_grass_flowers.p3d";
			affectedByWind = 0.3;
			swLighting = 1;
			scaleMin = 0.75;
			scaleMax = 1.0;
		};

		class GrassLong : GrassGeneral {
			model = "ca\plants\clutter_grass_long.p3d";
			affectedByWind = 0.6;
			scaleMin = 0.6;
			scaleMax = 1.1;
		};

		class GrassSevenbeauty : GrassGeneral {
			model = "ca\plants\clutter_grass_sevenbaeuty.p3d";
			affectedByWind = 0.2;
			scaleMin = 0.7;
			scaleMax = 1.1;
		};

		class GrassYellow : GrassGeneral {
			model = "ca\plants\clutter_grass_yellow.p3d";
			affectedByWind = 0.2;
			scaleMin = 0.7;
			scaleMax = 1.1;
		};

		class GrassDesert : GrassGeneral {
			model = "ca\plants\clutter_grass_desert.p3d";
		};

		class ForestFern : GrassGeneral {
			model = "ca\plants\clutter_forest_fern.p3d";
			affectedByWind = 0.1;
			scaleMin = 0.9;
			scaleMax = 1.1;
		};

		class SmallRocks : GrassGeneral {
			model = "ca\rocks\clutter_stone_small.p3d";
			affectedByWind = 0;
			scaleMin = 0.9;
			scaleMax = 1.1;
		};

		class FlowersColor : GrassGeneral {
			model = "ca\plants\clutter_smetanka.p3d";
		};

		class FlowersWhite : GrassGeneral {
			model = "ca\plants\clutter_white_flower.p3d";
		};

		class MushroomsHorcak : GrassGeneral {
			model = "ca\plants\clutter_horcak.p3d";
			affectedByWind = 0;
			scaleMin = 0.85;
			scaleMax = 1.25;
		};

		class MushroomsPrasivka : MushroomsHorcak {
			model = "ca\plants\clutter_prasivky.p3d";
		};

		class MushroomsBabka : MushroomsHorcak {
			model = "ca\plants\clutter_babka.p3d";
		};

		class MushroomsMuchomurka : MushroomsHorcak {
			model = "ca\plants\clutter_muchomurka.p3d";
		};
	};

	class Subdivision 
	{
		class Fractal {
			rougness = 5;
			maxRoad = 0.02;
			maxTrack = 0.5;
			maxSlopeFactor = 0.05;
		};

		class WhiteNoise {
			rougness = 2;
			maxRoad = 0.01;
			maxTrack = 0.05;
			maxSlopeFactor = 0.0025;
		};
		minY = 0.0;
		minSlope = 0.02;
	};

	class Ambient 
	{
		class BigBirds 
		{
			radius = 300;
			class BigInsects {
				radius = 20;
				cost = "(5 - (2 * houses)) * (1 - night) * (1 - rain) * (1 - sea) * (1 - windy)";

				class Species {
					class DragonFly {
						probability = "0.6 - (meadow * 0.5) + (forest * 0.4)";
						cost = 1;
					};

					class ButterFly {
						probability = "0.4 + (meadow * 0.5) - (forest * 0.4)";
						cost = 1;
					};
				};
			};

			class BigInsectsAquatic {
				radius = 20;
				cost = "(3 * sea) * (1 - night) * (1 - rain) * (1 - windy)";

				class Species {
					class DragonFly {
						probability = 1;
						cost = 1;
					};
				};
			};

			class WindClutter {
				radius = 10;
				cost = "((20 - 5 * rain) * (3 * (windy factor [0.2, 0.5]))) * (1 - sea)";

				class Species 
				{
					class FxWindGrass1 {
						probability = "0.4 - 0.2 * hills - 0.2 * trees";
						cost = 1;
					};

					class FxWindGrass2 {
						probability = "0.4 - 0.2 * hills - 0.2 * trees";
						cost = 1;
					};

					class FxWindRock1 {
						probability = "0.4 * hills";
						cost = 1;
					};

					class FxWindLeaf1 {
						probability = "0.2 * trees";
						cost = 1;
					};

					class FxWindLeaf2 {
						probability = "0.1 * trees + 0.2";
						cost = 1;
					};

					class FxWindLeaf3 {
						probability = "0.1 * trees";
						cost = 1;
					};
				};
			};

			class NoWindClutter {
				radius = 15;
				cost = "(20 * (windy factor [0.1, 0.2])) * meadow * (1 - rain) * (1 - sea) * (1 - forest) * (1 - houses)";

				class Species {
					class FxWindPollen1 {
						probability = 1;
						cost = 1;
					};
				};
			};

			class SmallInsects {
					radius = 3;
					cost = "(12 - 8 * hills) * (1 - night) * (1 - rain) * (1 - sea) * (1 - windy)";

				class Species {
					class HouseFly {
						probability = "deadBody + (1 - deadBody) * (0.5 - forest * 0.1 - meadow * 0.2)";
						cost = 1;
					};

					class HoneyBee {
						probability = "(1 - deadBody) * (0.5 - forest * 0.1 + meadow * 0.2)";
						cost = 1;
					};

					class Mosquito {
						probability = "(1 - deadBody) * (0.2 * forest)";
						cost = 1;
					};
				};
			};

			class NightInsects 
			{
				radius = 3;
				cost = "(9 - 8 * hills) * night * (1 - rain) * (1 - sea) * (1 - windy)";

				class Species {
					class Mosquito {
						probability = 1;
						cost = 1;
					};
				};
			};
		};

		class Names {
			class Veg_1 {
				name = "";
				position[] = {2713.62, 2140.92};
				type = "VegetationPalm";
				radiusA = 50;
				radiusB = 50;
			};

			class Veg_2 {
				name = "";
				position[] = {2446.09, 3038.29};
				type = "VegetationPalm";
				radiusA = 50;
				radiusB = 50;
			};

			class Veg_3 {
				name = "";
				position[] = {2940.52, 2923.19};
				type = "VegetationPalm";
				radiusA = 50;
				radiusB = 50;
			};
		};
	};
	class Names
	{
		#include "Manan.hpp"
	};
};
};

class CfgSurfaces 
{
class Default;

class Water ;

class Roadway ;

class jp_lesjeh : Default {
	access = ReadOnly;
	files = "jp_lesjeh_*";
	rough = 0.1;
	dust = 0.9;
	soundEnviron = "grass";
	character = "jpgrass";
};
class jp_mesto2 : Default {
	access = ReadOnly;
	files = "jp_mesto2_*";
	rough = 0.1;
	dust = 0.9;
	soundEnviron = "grass";
	character = "jpurban";
};
class jp_pole1 : Default {
	access = ReadOnly;
	files = "jp_pole1_*";
	rough = 0.1;
	dust = 0.9;
	soundEnviron = "grass";
	character = "jpfields";
};
class jp_pisek : Default {
	access = ReadOnly;
	files = "jp_pisek_*";
	rough = 0.1;
	dust = 0.9;
	soundEnviron = "grass";
	character = "jpsand";
};
};

class CfgSurfaceCharacters
{
class jpgrass {
	probability[] = {0.15,0.1,0.1,0.012,0.011};
	names[] = {"GrassLong","GrassFlowers","SmallRocks","MushroomsPrasivka","MushroomsMuchomurka"};
};
class jpurban {
	probability[] = {0.001};
	names[] = {"SmallRocks"};
};
class jpfields {
	probability[] = {0.1,0.019,0.012};
	names[] = {"SmallRocks","MushroomsPrasivka","MushroomsMuchomurka"};
};
class jpsand {
	probability[] = {0.5};
	names[] = {"SmallRocks"};
};
};

class CfgWorldList {
class manan{};
};

Share this post


Link to post
Share on other sites

binarizing....

no error so far... crossing fingers... its gotten further than it ever has before.

Binarize complete going to check it out ingame...

Can get into the mission editor but then get the error no entry bigbird.cost or something like that.

My objects are missing off my map too but that happens whenever I binarize.

Edited by Jakerod

Share this post


Link to post
Share on other sites

new try: added my bird codes.. and some other changes

Code edited 1 time

#define TEast 0
#define TWest 1
#define TGuerrila 2
#define TCivilian 3
#define TSideUnknown 4
#define TLogic 7

#define true 1
#define false 0

// type scope
#define private 0
#define protected 1
#define public 2

#define ReadAndWrite 0 		//! any modifications enabled
#define ReadAndCreate 1 	//! only adding new class members is allowed
#define ReadOnly 2 			//! no modifications enabled
#define ReadOnlyVerified 3 	//! no modifications enabled, CRC test applied


class CfgPatches {
class manan {
	units[] = {};
	worlds[] = {"manan"};
	requiredVersion = 0.1;
};
};

class DefaultLighting; // External class reference
class DefaultLighting_CA : DefaultLighting {};

class CfgWorlds 
{
class DefaultClutter 
{
	scaleMin = 0.9;
	scaleMax = 1.4;
};
class DefaultWorld; // External class reference

class CAWorld : DefaultWorld {
	class Grid {};
};

class manan : CAWorld
{
	access = 3;
	cutscenes[] = {"mananIntro1"};
	description = "manan";
	icon = "";
	worldName = "\manan\manan.wrp";
	pictureMap = "";
	pictureShot = "";
	plateFormat = "ML$ - #####";
	plateLetters = ABCDEGHIKLMNOPRSTVXZ;
	longitude = -40; // positive is east
	latitude = -40; // positive is south

	class Grid //OFP style Aa00 - JJ99
	{
		//colorGrid[]={0,0,1,1};
		//colorGridMap[]={0,0,1,1};
		offsetX=0;
		offsetY=0;
		class Zoom0
		{
			zoomMax=0.2;
			format="XY";
			formatX="Aa";
			formatY="00";
			stepX=256;
			stepY=256;
		};	
		class Zoom1
		{	
			zoomMax=1.0;
			format="XY";
			formatX="A-";
			formatY="0-";
			stepX=2560;
			stepY=2560;
		};
	}

	startTime = 8:30;
	startDate = 07/06/2007;
	startWeather = 0.1;
	startFog = 0.0;
	forecastWeather = 0.3;
	forecastFog = 0.0;
	seagullPos[] = {1272.84, 150.0, 14035};
	centerPosition[] = {2500, 2500, 300};
	ilsPosition[] = {2545, 3000};
	ilsDirection[] = {0, 0.08, 1};
	ilsTaxiIn[] = {2495, 2725, 2495, 2850, 2508, 2860, 2508, 3000, 2520, 3010, 2545, 3000};
	ilsTaxiOff[] = {2545, 2445, 2520, 2425, 2495, 2445, 2495, 2725};
	drawTaxiway = 0;

	class ReplaceObjects {};

	class Sounds {
		sounds[] = {};
	};

	class Animation {
		vehicles[] = {};
	};

	class Lighting : DefaultLighting {};
		clutterGrid = 1.11;
		clutterDist = 55;
		noDetailDist = 40;
		fullDetailDist = 5;
		minTreesInForestSquare = 3;
		minRocksInRockSquare = 4;

	class clutter {
		class GrassGeneral : DefaultClutter {
			model = "ca\plants\clutter_grass_general.p3d";
			affectedByWind = 0.3;
			swLighting = 1;
			scaleMin = 0.75;
			scaleMax = 1.0;
		};

		class GrassFlowers : DefaultClutter {
			model = "ca\plants\clutter_grass_flowers.p3d";
			affectedByWind = 0.3;
			swLighting = 1;
			scaleMin = 0.75;
			scaleMax = 1.0;
		};

		class GrassLong : DefaultClutter {
			model = "ca\plants\clutter_grass_long.p3d";
			affectedByWind = 0.6;
			scaleMin = 0.6;
			scaleMax = 1.1;
		};

		class GrassSevenbeauty : DefaultClutter {
			model = "ca\plants\clutter_grass_sevenbaeuty.p3d";
			affectedByWind = 0.2;
			scaleMin = 0.7;
			scaleMax = 1.1;
		};

		class GrassYellow : DefaultClutter {
			model = "ca\plants\clutter_grass_yellow.p3d";
			affectedByWind = 0.2;
			scaleMin = 0.7;
			scaleMax = 1.1;
		};

		class GrassDesert : DefaultClutter {
			model = "ca\plants\clutter_grass_desert.p3d";
		};

		class ForestFern : DefaultClutter {
			model = "ca\plants\clutter_forest_fern.p3d";
			affectedByWind = 0.1;
			scaleMin = 0.9;
			scaleMax = 1.1;
		};

		class SmallRocks : DefaultClutter {
			model = "ca\rocks\clutter_stone_small.p3d";
			affectedByWind = 0;
			scaleMin = 0.9;
			scaleMax = 1.1;
		};

		class FlowersColor : DefaultClutter {
			model = "ca\plants\clutter_smetanka.p3d";
		};

		class FlowersWhite : DefaultClutter {
			model = "ca\plants\clutter_white_flower.p3d";
		};

		class MushroomsHorcak : DefaultClutter {
			model = "ca\plants\clutter_horcak.p3d";
			affectedByWind = 0;
			scaleMin = 0.85;
			scaleMax = 1.25;
		};

		class MushroomsPrasivka : MushroomsHorcak {
			model = "ca\plants\clutter_prasivky.p3d";
		};

		class MushroomsBabka : MushroomsHorcak {
			model = "ca\plants\clutter_babka.p3d";
		};

		class MushroomsMuchomurka : MushroomsHorcak {
			model = "ca\plants\clutter_muchomurka.p3d";
		};
	};

	class Subdivision 
	{
		class Fractal {
			rougness = 5;
			maxRoad = 0.02;
			maxTrack = 0.5;
			maxSlopeFactor = 0.05;
		};

		class WhiteNoise {
			rougness = 2;
			maxRoad = 0.01;
			maxTrack = 0.05;
			maxSlopeFactor = 0.0025;
		};
		minY = 0.0;
		minSlope = 0.02;
	};

	class Ambient 
	{
		/*
		Layer cost and species probability use expressions.
		Variables which can be used inside of expressions:
		rain: rain intensity.
		night: 1 during night, 0 during day.

		hills: 0 at 150 ASL, 1 at 400 ASL.
		windy: 0 at 0 m/s, 1 at 20 m/s.

		trees: tree density.
		sea: distance to sea.
		houses: house density.
		meadow: meadow character.
		forest: 1 in the forest.

		Any values are continuous/interpolated in the range of 0 to 1.
		Values they are independent unless notes otherwise
		(meaning meadow and forest can be 1 at the same time).

		You can observe these values in real-time using:
		diag_toggle "ambient"
		*/

		class BigBirds
		{
			//Container radius:
	    	//Species are normally spawned at the edges of the circle defined by this radius.
	    	//One exception to this is the initial start of the simulation, where the whole
	    	//circle will be filled.
			radius = 300;
			//Points allowed for this container:
			//Xbox: 1 * (1 - night) * (1 - sea)
			cost = "((1 + forest + trees) - ((2 * rain)) - houses) * (1 - night) * (1 - sea)";
			//Classname in Species corresponds to type name:
			class Species
			{
			class Hawk
			{
				probability = 0.2;
				cost = 1;
			};
			};
		};

		class Birds
		{
			radius = 270;
				//Xbox: (1 - night) * (2 + 8 * sea)
			cost = "(1 - night) * ((1 + (3 * sea)) - (2 * rain))";
			class Species
			{
				class Seagull
				{
					probability = 0.05;
					cost = 1;
				};
			};
		};

		class BigInsects
		{
			radius = 200;
			//Xbox: 1 * (1 - night) * (1 - rain) * (1 - sea)
			cost = "(5 - (2 * houses)) * (1 - night) * (1 - rain) * (1 - sea) * (1 - windy)";
			class Species
			{
				class DragonFly
				{
					probability = 0.6 - (meadow * 0.5) + (forest * 0.4);
					cost = 1;
				};
				class ButterFly
				{
					probability = 0.4 + (meadow * 0.5) - (forest * 0.4);
					cost = 1;
				};
			};
		};

		class BigInsectsAquatic
		{
			radius = 150;
			cost = "(3 * sea) * (1 - night) * (1 - rain) * (1 - windy)";
			class Species
			{
				class DragonFly
				{
					probability = 1;
					cost = 1;
				};
			};
		};

	  //The wind is blowing various particles around:
		class WindClutter
		{
			radius = 10;
			//Xbox: (10 - 5 * rain) * (1 - sea) * (windy factor [0.2, 0.5])
			cost = "((20 - 5 * rain) * (3 * (windy factor [0.2, 0.5]))) * (1 - sea)";
			class Species
			{
				class FxWindGrass1 //Dark green grass.
				{
					probability = "0.4 - 0.2 * hills - 0.2 * trees";
					cost = 1;
				};
				class FxWindGrass2 //Dry grass.
				{
					probability = "0.4 - 0.2 * hills - 0.2 * trees";
					cost = 1;
				};
				class FxWindRock1 //Dust.
				{
					probability="0.4 * hills";
					cost = 1;
				};
				class FxWindLeaf1 //Green leaf.
				{
					probability = "0.2 * trees";
					cost = 1;
				};
				class FxWindLeaf2 //Dry leaf.
				{
					probability = "0.1 * trees + 0.2";
					cost = 1;
				};
				class FxWindLeaf3 //Green leaf with a dry spot.
				{
					probability = "0.1 * trees";
					cost = 1;
				};
			};
		};

		class NoWindClutter
		{
			//Xbox: 10
			radius = 15;
			//Xbox: 1 * (1 - rain) * (1 - sea) * (1 - forest) * (1 - houses) * (1 - (windy factor [0.1, 0.2]))
			cost = "(20 * (windy factor [0.1, 0.2])) * meadow * (1 - rain) * (1 - sea) * (1 - forest) * (1 - houses)";
			class Species
			{
				class FxWindPollen1
				{
					probability = 1;
					cost = 1;
				};
			};
		};

		class SmallInsects
		{
			radius = 50;
			//Xbox: (9 - 5 * hills) * (1 - night) * (1 - rain) * (1 - sea) * (1 - windy)
			cost = "(12 - 8 * hills) * (1 - night) * (1 - rain) * (1 - sea) * (1 - windy)";
			class Species
			{
				class HouseFly
				{
					probability = "deadBody + (1 - deadBody) * (0.5 - forest * 0.1 - meadow * 0.2)";
					cost = 1;
				};
				class HoneyBee
				{
					probability = "(1 - deadBody) * (0.5 - forest * 0.1 + meadow * 0.2)";
					cost = 1;
				};
				class Mosquito
				{
					probability = "(1 - deadBody) * (0.2 * forest)";
					cost = 1;
				};
			};
		};

		class NightInsects
		{
			radius = 60;
			cost = "(9 - 8 * hills) * night * (1 - rain) * (1 - sea) * (1 - windy)";
			class Species
			{
				class Mosquito
				{
					probability = 1;
					cost = 1;
				};
			};
		};
	}; 

	class Names {
		class Veg_1 {
			name = "";
			position[] = {2713.62, 2140.92};
			type = "VegetationPalm";
			radiusA = 50;
			radiusB = 50;
		};

		class Veg_2 {
			name = "";
			position[] = {2446.09, 3038.29};
			type = "VegetationPalm";
			radiusA = 50;
			radiusB = 50;
		};

		class Veg_3 {
			name = "";
			position[] = {2940.52, 2923.19};
			type = "VegetationPalm";
			radiusA = 50;
			radiusB = 50;
		};
	};
};
};

class CfgSurfaces 
{
class Default;

class Water ;

class Roadway ;

class jp_lesjeh : Default {
	access = ReadOnly;
	files = "jp_lesjeh_*";
	rough = 0.1;
	dust = 0.9;
	soundEnviron = "grass";
	character = "jpgrass";
};
class jp_mesto2 : Default {
	access = ReadOnly;
	files = "jp_mesto2_*";
	rough = 0.1;
	dust = 0.9;
	soundEnviron = "grass";
	character = "jpurban";
};
class jp_pole1 : Default {
	access = ReadOnly;
	files = "jp_pole1_*";
	rough = 0.1;
	dust = 0.9;
	soundEnviron = "grass";
	character = "jpfields";
};
class jp_pisek : Default {
	access = ReadOnly;
	files = "jp_pisek_*";
	rough = 0.1;
	dust = 0.9;
	soundEnviron = "grass";
	character = "jpsand";
};
};

class CfgSurfaceCharacters
{
class jpgrass {
	probability[] = {0.15,0.1,0.1,0.012,0.011};
	names[] = {"GrassLong","GrassFlowers","SmallRocks","MushroomsPrasivka","MushroomsMuchomurka"};
};
class jpurban {
	probability[] = {0.001};
	names[] = {"SmallRocks"};
};
class jpfields {
	probability[] = {0.1,0.019,0.012};
	names[] = {"SmallRocks","MushroomsPrasivka","MushroomsMuchomurka"};
};
class jpsand {
	probability[] = {0.5};
	names[] = {"SmallRocks"};
};
};

class CfgWorldList {
class manan{};
};

EDIT: ups the code had an error. Updated this table code. Had 'class Ambient' 2x :\

Edited by bravo 6

Share this post


Link to post
Share on other sites

It works!

I have to mess about with clutter values a bit but other than that it works!!!

Thank you very much.

You are officially getting half of my fortune when I die... which will probably be like $2 but at least its something.

I can finally get started on my homework now. Any good student would've done these in the reverse order but no not me.

Thank you again.

Share this post


Link to post
Share on other sites

No problem, glad i could help.

Good luck with your project :)

Share this post


Link to post
Share on other sites

Please use this code:

http://gist.github.com/102995

Based on bravo 6 code.

If you do not want to modify the Ambient, remove the whole section too.

Remember ONLY define what you change/add.

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
Sign in to follow this  

×