Jump to content
🛡️FORUMS ARE IN READ-ONLY MODE Read more... ×
Sign in to follow this  
akio

animation doors

Recommended Posts

I modeled a house.

It works very well through the mission editor (animations).

By cons, once positioned with visitor3, no animations not working.

I must admit that I do not understand why.

The folder of my map is in "P" and is named "test"

This folder contains:

- Files "*. cpp ","*. cfg" and "*. WRP.

- The files "data" and "source".

The folder of my house is in "P" and is called "maison_briques_1"

This folder contains:

- Files: "*. cfg ","*. P3D ","*. cpp" and "*. csv".

- A folder "data" containing the textures and files "*. rvmat.

Here is the file "*. cpp" from my house :

#define true			1
#define false			0

#define VSoft			0
#define VArmor			1
#define VAir			2

#define LockNo			0
#define LockCadet		1
#define LockYes			2

#define private			0
#define protected		1
#define public			2

#define TEast			0
#define TWest			1
#define TGuerrila		2
#define TCivilian		3
#define TSideUnknown		4
#define TEnemy			5
#define TFriendly		6
#define TLogic			7

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


class CfgPatches
{
class maisons_briques   //  = le nom du .pbo
       {
	units[] = {"maison_briques_1"};
	weapons[] = {};
	requiredVersion = 1.03;
	requiredAddons[] = {};
	version = "Beta 0";
	fileName = "maison_briques_1.pbo";
	author = "Akio";
	mail = "[email protected]";
};
};


class CfgVehicleClasses
{
class pfr_objets 
{
	displayName = "$STR_Maison_Briques";
};
};
class CfgFactionClasses
{
       class Akio
       {
              displayName = "Akio modele 3D";                        // Nom de la class Faction dans l'éditeur.
              priority = 1;
              side = 2;                                              // Camp TGuerrila (voir liste abrégé ci_dessus).
       };
};

class CfgVehicles
{
class Strategic;	// External class reference

class maison_briques_1 : Strategic
   {
	scope = 2;                                                            // public (voir liste abrégé ci-dessus).
	model = \maison_briques_1\maison_briques_1.p3d;                     // Nom et chemin du .p3d.
	picture             = \maison_briques_1\data\ico\picture_ca;                  //icon in command bar for vehicle
	preview             = \maison_briques_1\data\ico\preview_ca;  //editor preview picture
	Icon                = \maison_briques_1\data\ico\icon_ca;                //map icon. Full listing is available in P:\vbs2\customer\defines.hpp
	mapSize = 6;                                                          // Taille de l'icône dans l'éditeur.
	displayName = "$STR_MB_1";                                         // Nom de l'icône dans éditeur.
	vehicleClass = "pfr_objets";                                          // class du véhicule (voir ci-dessus).
	faction = "Akio";                                                     // Faction Akio.

	cost = 0;
	armor = 800;                                                // C'est la résistance à la destruction de l'objet.

	ladders[] =    {{"ladder_1_start","ladder_1_end"}};

	class AnimationSources 
	{
		class door_1		// Marquer le nom qui est défini à côté de "source" dans le fichier model.cfg
		{
			source = "user"; 
			animPeriod = 3;  
			initPhase=0;
		};
		class door_2		// Marquer le nom qui est défini à côté de "source" dans le fichier model.cfg
		{
			source = "user"; 
			animPeriod = 3;  
			initPhase=0;
		};
		class door_3		// Marquer le nom qui est défini à côté de "source" dans le fichier model.cfg
		{
			source = "user"; 
			animPeriod = 3;  
			initPhase=0;
		};
		class door_4		// Marquer le nom qui est défini à côté de "source" dans le fichier model.cfg
		{
			source = "user"; 
			animPeriod = 3;  
			initPhase=0;
		};
	};

	class UserActions 
	{
		class OpenDoors1 
		{
			displayName = "$STR_Open_Door_1";		// S'affiche devant le menu deroulant				
			position = "door_knob_1";			// Le nom de la poignée de la porte dans le LOD Memory
			radius = 3;
			onlyForPlayer = 0;
			condition = "this animationPhase ""door_1"" < 0.5";
			statement = "this animate [""door_1"", 1]";
		};

		class CloseDoors1 
		{
			displayName = "$STR_Close_Door_1";
			position = "door_knob_1";
			radius = 3;
			onlyForPlayer = 0;
			condition = "this animationPhase ""door_1"" >= 0.5";
			statement = "this animate [""door_1"", 0]";
		};

		class OpenDoors2 
		{
			displayName = "$STR_Open_Door_2";
			position = "door_knob_2";
			radius = 3;
			onlyForPlayer = 0;
			condition = "this animationPhase ""door_2"" < 0.5";
			statement = "this animate [""door_2"", 1]";
		};

		class CloseDoors2 
		{
			displayName = "$STR_Close_Door_";
			position = "door_knob_2";
			radius = 3;
			onlyForPlayer = 0;
			condition = "this animationPhase ""door_2"" >= 0.5";
			statement = "this animate [""door_2"", 0]";
		};

		class OpenDoors3 
		{
			displayName = "$STR_Open_Door_3";
			position = "door_knob_3";
			radius = 3;
			onlyForPlayer = 0;
			condition = "this animationPhase ""door_3"" < 0.5";
			statement = "this animate [""door_3"", 1]";
		};

		class CloseDoors3 
		{
			displayName = "$STR_Close_Door_";
			position = "door_knob_3";
			radius = 3;
			onlyForPlayer = 0;
			condition = "this animationPhase ""door_3"" >= 0.5";
			statement = "this animate [""door_3"", 0]";
		};

		class OpenDoors4 
		{
			displayName = "$STR_Open_Door_4";
			position = "door_knob_4";
			radius = 3;
			onlyForPlayer = 0;
			condition = "this animationPhase ""door_4"" < 0.5";
			statement = "this animate [""door_4"", 1]";
		};

		class CloseDoors4 
		{
			displayName = "$STR_Close_Door_";
			position = "door_knob_4";
			radius = 3;
			onlyForPlayer = 0;
			condition = "this animationPhase ""door_4"" >= 0.5";
			statement = "this animate [""door_4"", 0]";
		};
	};
	actionBegin1 = OpenDoors1;
	actionEnd1 = CloseDoors1;
};
};

Here is the file "*. cfg" in my house :

class CfgSkeletons
{ 
 class Default;
 class maison_briques_1_Bones: Default 		// Le nom du fichier p3d suivi de _Bones
 {
  	isDiscrete=1;
  	skeletonInherit="";
  	skeletonBones[]=
{
	"door_1","",							// Le nom de chaque porte présent dans le LOD Geometry
	"door_2","",							// Pas de virgule après la derniere porte
	"door_3","",
	"door_4",""
};
 };
};

class rotation;
class cfgModels 
{
 class Default; 
class maison_briques_1: Default 			// Le nom du fichier p3d
{
	sectionsInherit="";
	skeletonName="maison_briques_1_Bones";	// Le nom du fichier p3d suivi de _Bones
	sections[]={};
	class Animations
	{
		class door_1: Rotation 
		{
			type = "rotation";				// Type d'animation pour une porte qui pivote sur un axe
			source="door_1";					// A marquer comme tel pour une porte et a reporter dans le fichier config.cpp "class AnimationSources/ class door"
			selection = "door_1";
			axis = "axis_door_1";			// Le nom donne aux charniere de la porte dans le LOD Memory
			memory = 1; 					// Est ce que les points de references se trouvent dans le LOD Memory 1=oui 0=non
			sourceAddress = "clamp";
			minValue = 0.0;
			maxValue = 1;
			angle0 = 0; 
			angle1 = 1.6; 				// Angle d'ouverture de la porte en degre
		};
		class door_2: Rotation 	
		{
			type = "rotation";
			source="door_2";
			selection = "door_2";
			axis = "axis_door_2";
			memory = 1; 
			sourceAddress = "clamp";
			minValue = 0.0;
			maxValue = 1;
			angle0 = 0; 
			angle1 = 1.6;	
		};
		class door_3: Rotation 	
		{
			type = "rotation";
			source="door_3";
			selection = "door_3";
			axis = "axis_door_3";
			memory = 1; 
			sourceAddress = "clamp";
			minValue = 0.0;
			maxValue = 1;
			angle0 = 0; 
			angle1 = "rad 90";

		};
		class door_4: Rotation 	
		{
			type = "rotation";
			source="door_4";
			selection = "door_4";
			axis = "axis_door_4";
			memory = 1; 
			sourceAddress = "clamp";
			minValue = 0.0;
			maxValue = 1;
			angle0 = 0; 
			angle1 = "rad 90";	
		};
	};
};
};

Thank you in advance for your help.

Edited by akio

Share this post


Link to post
Share on other sites

Open your .p3d. Goto the Geometry LoD. Add a named property called 'class' with a value of 'house' to the LoD. Save the .p3d and re-binarize it into a .pbo.

Run the game. See Named Properties in the O2 biki manual. See A1 example mlod building models for inspiration.

Share this post


Link to post
Share on other sites

No change.

Using the editor Arma2 to place my house: the animations work.

Using Visitor3 to place my house: the animation does not work.

Here are the files that I binarizes with BinPBO : *.cfg;*.p3d;*.rvmat;*.cpp;*.pac;*.paa;*.rtm;*.sqf;*.sqs;*.bikb;*.fsm;*.wss;*.ogg;*.wav;*.fxy;*.csv;*.html;*.lip;*.txt;*.wrp;*.bisurf

Named property Geometry LOD:

Property Name : map

Value : house

Property Name : class

Value : house

Property Name : dammage

Value : building

Property Name : autocenter

Value : 0

Edited by akio

Share this post


Link to post
Share on other sites

I'll ask again ...........Do Ladders and doors on BIS biuldings work on your map ?

If they don't work, then its your set-up for Visitor, see many threads "ladders dont work", in the VISITOR Forum.

Share this post


Link to post
Share on other sites

Indeed, no animation works (door and ladder), even with models BIS..

Share this post


Link to post
Share on other sites
Sign in to follow this  

×