Jump to content

curmudgeon

Member
  • Content Count

    7
  • Joined

  • Last visited

  • Medals

Posts posted by curmudgeon


  1. You will need a Geometry LOD, the door has to be a named selection in the geometry LOD and you need to put a class in the named selections part of the geometry lod.

    config

    #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 true 1 
    #define false 0 
    
    // type scope 
    #define private 0 
    #define protected 1 
    #define public 2 
    
    class CfgPatches
    {
    class TUT_door_3x3m
    {
    	units[] =
    	{
    	"pos_door"
    	};
    	weapons[] ={};
    	requiredVersion = 1;
    	rewuiredAddons[] = {CAData};
    };
    };
    
    class CfgVehicleClasses
    {
    class TUT_door_3x3m
    {
    	displayName = "dar testing";
    };
    };
    class CfgVehicles
    {
    class Strategic;
    class Land_TUT_door_3x3m : Strategic
    {
    	scope = public;
    	model = "\RYE_walls\TUT_door_3x3m.p3d";
    	mapsize = 5;
    	displayName = "TUT_door_3x3m";
    	vehicleClass = "TUT_door_3x3m";
    	destrType = "destructBuilding";
    	nameSound = "Building";
    	accuracy = 0.2;
    	cost = 0;
    	armor = 50;
    	icon = "\Ca\buildings\Icons\i_wall_CA.paa";
    
    	class AnimationSources
    	{
    		class pos_door
    		{
    			source = "user";
    			animPeriod = 2;
    			initPhase = 0;
    		};
    	};
    	class UserActions
    	{
    		class OpenDoors
    		{
    			displayName = "Open pos_door";
    			position = "pos_switch";
    			radius = 2;
    			onlyforplayer = true;
    			condition = "this animationPhase ""pos_door"" < 0.5";
    			statement = "this animate [""pos_door"", 1]";
    		};
    		class CloseDoors
    		{
    			displayName = "Close pos_door";
    			position = "pos_switch";
    			radius = 2;
    			onlyforplayer = true;
    			condition = "this animationPhase ""pos_door"" >= 0.5";
    			statement = "this animate [""pos_door"", 0]";
    		};
    	};
    };
    };	
    

    model

    class CfgSkeletons
    {
    class Default
    {
    	isDiscrete = 1;
    	skeletonInherit = "";
    	skeletonBones[] = {};
    };
    class TUT_door_3x3m_Bones : Default
    {
    	isDiscrete = 1;
    	skeletonInherit = "";
    	skeletonBones[] = {"pos_door",""};
    };
    };
    
    class rotation;
    class CfgModels
    {
    	class Default;
    	class TUT_door_3x3m : Default
    	{
    		sectionsInherit = "";
    		sections[] = {};
    		skeletonName = "TUT_door_3x3m_Bones";
    
    			class Animations
    			{
    			class pos_door : Rotation
    			{
    				type = "rotation";
    				source = "user";
    				animPeriod = 2;
    				selection = "pos_door";
    				axis = "door_axis";
    				sourceAddress = "clamp";
    				memory = 1;
    				minValue = 0.0;
    				maxValue = 1;
    				angle0 = "0";
    				angle1 = "rad 90";
    			};
    	};
    };	
    };			

    Those worked for me in Oxygen after adding the geo lod and selecting the class in the GEO LOD, didn't try it in game but unless I typoed something it should work.

    You'll just have to change the path in the model line from "\RYE_walls" to whatever you have it in.


  2. I finally got mine to work. Here's my files if you want to take a look.

    config

    #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 true 1 
    #define false 0 
    
    // type scope 
    #define private 0 
    #define protected 1 
    #define public 2 
    
    class CfgPatches
    {
    class multilevel
    {
    	units[] = 
    	{
    	"Door","","Door2","","Door3","","Door4","","Door5","","Door6",""
    	,"Door7","","Door8","","Door9","","Door10","","Door11","","Door12",""
    	,"Door13","","Door14","","Door15"
    	};
    	weapons[] = {};
    	requiredVersion = 1;
    	requiredAddons[] = {"CAData"};
    };
    };
    class CfgVehicleClasses
    {
    class multilevel
    {
    	displayName = "multilevel";
    };
    };
    class CfgVehicles
    {
    class Strategic;
    class Land_multilevel : Strategic
    {
    	scope = public;
    	model = "\RYE_bunker\multilevel.p3d";
    	mapsize = 10;
    	displayName = "multilevel";
    	vehicleClass = "multilevel";
    	destrType = "destructBuilding";
    	nameSound = "Building";
    	ladders[] = {{"start1","end1"}};
    	accuracy = 0.2;
    	cost = 0;
    	armor = 1000;
    	icon = "\Ca\buildings\Icons\i_wall_CA.paa";
    
    	class AnimationSources
    	{	
    		class Door
    		{
    			source = "user";
    			animPeriod = 2;
    			initPhase = 0;
    		};
    		class Door2 : Door {};
    		class Door3 : Door {};	
    		class Door4 : Door {};
    		class Door5 : Door {};
    		class Door6 : Door {};
    		class Door7 : Door {};
    		class Door8 : Door {};
    		class Door9 : Door {};
    		class Door10 : Door {};
    		class Door11 : Door {};
    		class Door12 : Door {};
    		class Door13 : Door {};
    		class Door14 : Door {};
    		class Door15 : Door {};
    	};
    
    	class UserActions
    	{
    		class OpenDoors
    		{
    			displayName = "Open Door";
    			position = "Door_Button";
    			radius = 2;
    			onlyforplayer = true;
    			condition = "this animationPhase ""Door"" < 0.5";
    			statement = "this animate [""Door"", 1]";
    		};
    		class CloseDoors
    		{
    			displayName = "Close Door";
    			position = "Door_Button";
    			radius = 2;
    			onlyforplayer = true;
    			condition = "this animationPhase ""Door"" >= 0.5";
    			statement = "this animate [""Door"", 0]";
    		};	
    		class OpenDoors2
    		{
    			displayName = "Open Door";
    			position = "Door2_Button";
    			radius = 2;
    			onlyforplayer = true;
    			condition = "this animationPhase ""Door2"" < 0.5";
    			statement = "this animate [""Door2"", 1]";
    		};
    		class CloseDoors2
    		{
    			displayName = "Close Door";
    			position = "Door2_Button";
    			radius = 2;
    			onlyforplayer = true;
    			condition = "this animationPhase ""Door2"" >= 0.5";
    			statement = "this animate [""Door2"", 0]";
    		};
    		class OpenDoors3
    		{
    			displayName = "Open Door";
    			position = "Door3_Button";
    			radius = 2;
    			onlyforplayer = true;
    			condition = "this animationPhase ""Door3"" < 0.5";
    			statement = "this animate [""Door3"", 1]";
    		};
    		class CloseDoors3
    		{
    			displayName = "Close Door";
    			position = "Door3_Button";
    			radius = 2;
    			onlyforplayer = true;
    			condition = "this animationPhase ""Door3"" >= 0.5";
    			statement = "this animate [""Door3"", 0]";					
    		};
    		class OpenDoors4
    		{
    			displayName = "Open Door";
    			position = "Door4_Button";
    			radius = 2;
    			onlyforplayer = true;
    			condition = "this animationPhase ""Door4"" < 0.5";
    			statement = "this animate [""Door4"", 1]"; 
    		};
    		class CloseDoors4 
    		{
    			displayName = "Close Door";
    			position = "Door4_Button";
    			radius = 2;
    			onlyforplayer = true;
    			condition = "this animationPhase ""Door4"" >= 0.5";
    			statement = "this animate [""Door4"", 0]";
    		};
    		class OpenDoors5
    		{
    			displayName = "Open Door";
    			position = "Door5_Button";
    			radius = 2;
    			onlyforplayer = true;
    			condition = "this animationPhase ""Door5"" < 0.5";
    			statement = "this animate [""Door5"", 1]";
    		};
    		class CloseDoors5
    		{
    			displayName = "Close Door";
    			position = "Door5_Button";
    			radius = 2;
    			onlyforplayer = true;
    			condition = "this animationPhase ""Door5"" >= 0.5";
    			statement = "this animate [""Door5"", 0]";
    		};
    		class OpenDoors6
    		{
    			displayName = "Open Door";
    			position = "Door6_Button";
    			radius = 2;
    			onlyforplayer = true;
    			condition = "this animationPhase ""Door6"" < 0.5";
    			statement = "this animate [""Door6"", 1]";
    		};
    		class CloseDoors6
    		{
    			displayName = "Close Door";
    			position = "Door6_Button";
    			radius = 2;
    			onlyforplayer = true;
    			condition = "this animationPhase ""Door6"" >= 0.5";
    			statement = "this animate [""Door6"", 0]";
    		};
    		class OpenDoors7
    		{
    			displayName = "Open Door";
    			position = "Door7_Button";
    			radius = 2;
    			onlyforplayer = true;
    			condition = "this animationPhase ""Door7"" < 0.5";
    			statement = "this animate [""Door7"", 1]";
    		};
    		class CloseDoors7
    		{
    			displayName = "Close Door";
    			position = "Door7_Button";
    			radius = 2;
    			onlyforplayer = true;
    			condition = "this animationPhase ""Door7"" >= 0.5";
    			statement = "this animate [""Door7"", 0]";
    		};
    		class OpenDoors8
    		{
    			displayName = "Open Door";
    			position = "Door8_Button";
    			radius = 2;
    			onlyforplayer = true;
    			condition = "this animationPhase ""Door8"" < 0.5";
    			statement = "this animate [""Door8"", 1]";
    		};
    		class CloseDoors8
    		{
    			displayName = "Close Door";
    			position = "Door8_Button";
    			radius = 2;
    			onlyforplayer = true;
    			condition = "this animationPhase ""Door8"" >= 0.5";
    			statement = "this animate [""Door8"", 0]";
    		};
    		class OpenDoors9
    		{
    			displayName = "Open Door";
    			position = "Door9_Button";
    			radius = 2;
    			onlyforplayer = true;
    			condition = "this animationPhase ""Door9"" < 0.5";
    			statement = "this animate [""Door9"", 1]";
    		};
    		class CloseDoors9
    		{
    			displayName = "Close Door";
    			position = "Door9_Button";
    			radius = 2;
    			onlyforplayer = true;
    			condition = "this animationPhase ""Door9"" >= 0.5";
    			statement = "this animate [""Door9"", 0]";
    		};
    		class OpenDoors10
    		{
    			displayName = "Open Door";
    			position = "Door10_Button";
    			radius = 2;
    			onlyforplayer = true;
    			condition = "this animationPhase ""Door10"" < 0.5";
    			statement = "this animate [""Door10"", 1]";
    		};
    		class CloseDoors10
    		{
    			displayName = "Close Door";
    			position = "Door10_Button";
    			radius = 2;
    			onlyforplayer = true;
    			condition = "this animationPhase ""Door10"" >= 0.5";
    			statement = "this animate [""Door10"", 0]";
    		};
    		class OpenDoors11
    		{
    			displayName = "Open Door";
    			position = "Door11_Button";
    			radius = 2;
    			onlyforplayer = true;
    			condition = "this animationPhase ""Door11"" < 0.5";
    			statement = "this animate [""Door11"", 1]";
    		};
    		class CloseDoors11
    		{
    			displayName = "Close Door";
    			position = "Door11_Button";
    			radius = 2;
    			onlyforplayer = true;
    			condition = "this animationPhase ""Door11"" >= 0.5";
    			statement = "this animate [""Door11"", 0]";
    		};
    		class OpenDoors12
    		{
    			displayName = "Open Door";
    			position = "Door12_Button";
    			radius = 2;
    			onlyforplayer = true;
    			condition = "this animationPhase ""Door12"" < 0.5";
    			statement = "this animate [""Door12"", 1]";
    		};
    		class CloseDoors12
    		{
    			displayName = "Close Door";
    			position = "Door12_Button";
    			radius = 2;
    			onlyforplayer = true;
    			condition = "this animationPhase ""Door12"" >= 0.5";
    			statement = "this animate [""Door12"", 0]";
    		};
    		class OpenDoors13
    		{
    			displayName = "Open Door";
    			position = "Door13_Button";
    			radius = 2;
    			onlyforplayer = true;
    			condition = "this animationPhase ""Door13"" < 0.5";
    			statement = "this animate [""Door13"", 1]";
    		};
    		class CloseDoors13
    		{
    			displayName = "Close Door";
    			position = "Door13_Button";
    			radius = 2;
    			onlyforplayer = true;
    			condition = "this animationPhase ""Door13"" >= 0.5";
    			statement = "this animate [""Door13"", 0]";
    		};
    		class OpenDoors14
    		{
    			displayName = "Open Door";
    			position = "Door14_Button";
    			radius = 2;
    			onlyforplayer = true;
    			condition = "this animationPhase ""Door14"" < 0.5";
    			statement = "this animate [""Door14"", 1]";
    		};
    		class CloseDoors14
    		{
    			displayName = "Close Door";
    			position = "Door14_Button";
    			radius = 2;
    			onlyforplayer = true;
    			condition = "this animationPhase ""Door14"" >= 0.5";
    			statement = "this animate [""Door14"", 0]";
    		};
    		class OpenDoors15
    		{
    			displayName = "Open Door";
    			position = "Door15_Button";
    			radius = 2;
    			onlyforplayer = true;
    			condition = "this animationPhase ""Door15"" < 0.5";
    			statement = "this animate [""Door15"", 1]";
    		};
    		class CloseDoors15
    		{
    			displayName = "Close Door";
    			position = "Door15_Button";
    			radius = 2;
    			onlyforplayer = true;
    			condition = "this animationPhase ""Door15"" >= 0.5";
    			statement = "this animate [""Door15"", 0]";		
    		};
    	};
    };
    };
    

    model

    class CfgSkeletons
    {
    class Default
    {
    	isDiscrete = 1;
    	skeletonInherit = "";
    	skeletonBones[] = {};
    };	
    class multilevel_Bones : Default
    {
    	isDiscrete = 1;
    	skeletonInherit = "";
    	skeletonBones[] = 
            {
            "Door","","Door2","","Door3","","Door4","","Door5","",
    		"Door6","","Door7","","Door8","","Door9","","Door10","",
    		"Door11","","Door12","","Door13","","Door14","","Door15",""
    		};
    };
    };
    
    class rotation;
    class CfgModels
    {
    
    class Default;
    class multilevel : Default
    {
    	sectionsInherit = "";
    	sections[] = {};
    	skeletonName = "multilevel_Bones";
    
            class Animations
            {
            class Door : Rotation
    		{
    			type = "rotation";
    			source = "Door";
    			animPeriod = 2;
    			selection = "Door";
    			axis = "Door_Axis";
    			sourceAddress = "clamp";
    			memory = 1;
    			minValue = 0.0;
    			maxValue = 1;
    			angle0 = "0";
    			angle1 = "rad 90";
    		};
    		class Door2 : Rotation
    		{
    			type = "rotation";
    			source = "Door2";
    			animPeriod = 2;
    			selection = "Door2";
    			axis = "Door2_Axis";
    			sourceAddress = "clamp";
    			memory = 1;
    			minValue = 0.0;
    			maxValue = 1;
    			angle0 = "0";
    			angle1 = "rad 90";
    		};
    		class Door3 : Rotation
    		{
    			type = "rotation";
    			source = "Door3";
    			animPeriod = 2;
    			selection = "Door3";
    			axis = "Door3_Axis";
    			sourceAddress = "clamp";
    			memory = 1;
    			minValue = 0.0;
    			maxValue = 1;
    			angle0 = "0";
    			angle1 = "rad 90";
    		};
    		class Door4 : Rotation
    		{
    			type = "rotationZ";
    			source = "Door4";
    			animPeriod = 2;
    			selection = "Door4";
    			axis = "Door4_Axis";
    			sourceAddress = "clamp";
    			memory = 1;
    			minValue = 0.0;
    			maxValue = 1;
    			angle0 = "0";
    			angle1 = "rad 90"; 
    		};
    		 class Door5 : Rotation
    		{
    			type = "rotation";
    			source = "Door5";
    			animPeriod = 2;
    			selection = "Door5";
    			axis = "Door5_Axis";
    			sourceAddress = "clamp";
    			memory = 1;
    			minValue = 0.0;
    			maxValue = 1;
    			angle0 = "0";
    			angle1 = "rad 90";
    		};
    			class Door6 : Rotation
    		{
    			type = "rotation";
    			source = "Door6";
    			animPeriod = 2;
    			selection = "Door6";
    			axis = "Door6_Axis";
    			sourceAddress = "clamp";
    			memory = 1;
    			minValue = 0.0;
    			maxValue = 1;
    			angle0 = "0";
    			angle1 = "rad 90";
    		};
    		 class Door7 : Rotation
    		{
    			type = "rotation";
    			source = "Door7";
    			animPeriod = 2;
    			selection = "Door7";
    			axis = "Door7_Axis";
    			sourceAddress = "clamp";
    			memory = 1;
    			minValue = 0.0;
    			maxValue = 1;
    			angle0 = "0";
    			angle1 = "rad 90";
    		};
    		 class Door8 : Rotation
    		{
    			type = "rotation";
    			source = "Door8";
    			animPeriod = 2;
    			selection = "Door8";
    			axis = "Door8_Axis";
    			sourceAddress = "clamp";
    			memory = 1;
    			minValue = 0.0;
    			maxValue = 1;
    			angle0 = "0";
    			angle1 = "rad 90";
    		};
    		 class Door9 : Rotation
    		{
    			type = "rotation";
    			source = "Door9";
    			animPeriod = 2;
    			selection = "Door9";
    			axis = "Door9_Axis";
    			sourceAddress = "clamp";
    			memory = 1;
    			minValue = 0.0;
    			maxValue = 1;
    			angle0 = "0";
    			angle1 = "rad 90";
    		};
    		 class Door10 : Rotation
    		{
    			type = "rotation";
    			source = "Door10";
    			animPeriod = 2;
    			selection = "Door10";
    			axis = "Door10_Axis";
    			sourceAddress = "clamp";
    			memory = 1;
    			minValue = 0.0;
    			maxValue = 1;
    			angle0 = "0";
    			angle1 = "rad 90";
    		};
    		 class Door11 : Rotation
    		{
    			type = "rotation";
    			source = "Door11";
    			animPeriod = 2;
    			selection = "Door11";
    			axis = "Door11_Axis";
    			sourceAddress = "clamp";
    			memory = 1;
    			minValue = 0.0;
    			maxValue = 1;
    			angle0 = "0";
    			angle1 = "rad 90";
    		};
    		 class Door12 : Rotation
    		{
    			type = "rotation";
    			source = "Door12";
    			animPeriod = 2;
    			selection = "Door12";
    			axis = "Door12_Axis";
    			sourceAddress = "clamp";
    			memory = 1;
    			minValue = 0.0;
    			maxValue = 1;
    			angle0 = "0";
    			angle1 = "rad 90";
    		};
    		 class Door13 : Rotation
    		{
    			type = "rotation";
    			source = "Door13";
    			animPeriod = 2;
    			selection = "Door13";
    			axis = "Door13_Axis";
    			sourceAddress = "clamp";
    			memory = 1;
    			minValue = 0.0;
    			maxValue = 1;
    			angle0 = "0";
    			angle1 = "rad 90";
    		};
    		 class Door14 : Rotation
    		{
    			type = "rotation";
    			source = "Door14";
    			animPeriod = 2;
    			selection = "Door14";
    			axis = "Door14_Axis";
    			sourceAddress = "clamp";
    			memory = 1;
    			minValue = 0.0;
    			maxValue = 1;
    			angle0 = "0";
    			angle1 = "rad 90";
    		};
    		 class Door15 : Rotation
    		{
    			type = "rotation";
    			source = "Door15";
    			animPeriod = 2;
    			selection = "Door15";
    			axis = "Door15_Axis";
    			sourceAddress = "clamp";
    			memory = 1;
    			minValue = 0.0;
    			maxValue = 1;
    			angle0 = "0";
    			angle1 = "rad 90";
    		};	
    	};
    };
    };	
    

    I think the main problem I was having was that I hadn't done the named properties section in the Geometry LOD in Oxygen.

    Check that if you are still having problems.


  3. Hi, I'm new to modeling in general and have been working on a bunker for a buddy of mine. I'm also having trouble with the door animations in bulldozer (haven't even tried to move it in game yet). I've been checking out others post on the model.cfg file and I can't seem to see what I'm missing and was hoping one of you guys could.

    class CfgSkeletons
    {
    class Default;
    class undergroundbunkerBones: Default
    {
    	isDiscrete = 1;
    	skeletonInherit = "";
    	skeletonBones[] = 
            {
                    "Door","",
    		"Door2","",
    		"Door3","",
    		"Hatch",""
            };
    };
    };
    
    class CfgModels
    {
    class Default;
    class RYE_bunker_undergroundbunker: Default
    {
    	sectionsInherit = "";
    	sections[] = {Door_Button};
    	skeletonName = "undergroundbunkerBones";
    
    
            class Animations
            {
                    class open_Door
    		{
    			type = "rotation";
    			source = "user";
    			animPeriod = 2;
    			selection = "Door";
    			axis = "Door_Axis";
    			sourceAddress = "clamp";
    			memory = 1;
    			minValue = 0.0;
    			maxValue = 1;
    			angle0 = "0";
    			angle1 = "rad 90";
    		};
    		class open_Door2
    		{
    			type = "rotation";
    			source = "user";
    			animPeriod = 2;
    			selection = "Door2";
    			axis = "Door2_Axis";
    			sourceAddress = "clamp";
    			memory = 1;
    			minValue = 0.0;
    			maxValue = 1;
    			angle0 = "0";
    			angle1 = "rad 90";
    		};
    		class open_Door3
    		{
    			type = "rotation";
    			source = "user";
    			animPeriod = 2;
    			selection = "Door3";
    			axis = "Door3_Axis";
    			sourceAddress = "clamp";
    			memory = 1;
    			minValue = 0.0;
    			maxValue = 1;
    			angle0 = "0";
    			angle1 = "rad 90";
    		};
    		class open_Hatch
    		{
    			type = "rotation";
    			source = "user";
    			animPeriod = 2;
    			selection = "Hatch";
    			axis = "Hatch_Axis";
    			sourceAddress = "clamp";
    			memory = 1;
    			minValue = 0.0;
    			maxValue = 1;
    			angle0 = "0";
    			angle1 = "rad 90"; 
    		};
    	};
    };
    };

    Between following Mondkalb's tutorial and seeing what Gnat responded to on this thread I've been trying to piece it together, so far no go.

×