Jump to content

Recommended Posts

Hey, I tried to make a building with a working door, but whatever I do, it doesn't work.

I used the Arma 3 Samples and a tutorial on YouTube, but I'm doing something wrong. The action is there, but nothing happens when i "press" it.

 

Here is my config.cpp

 

class CfgVehicles                                      
{
    class Items_base_F;
    class kka3_generalstore_F : Items_base_F                      
    {
        scope = 2;                                     
        model = "\kka3_generalstore\kka3_generalstore.p3d";            
        displayName = "General Store";
        vehicleClass = "kka3_objects1";
        ladders[] = {{"",""}};
        class AnimationSources
        {
            class Door_1_source
            {
                source = user; // "user" = custom source = not controlled by some engine value
                initPhase = 0; // Initial value of animations based on this source
                animPeriod = 1; // Coefficient for duration of change of this animation
                sound = "GenericDoorsSound"; /// Selects sound class from CfgAnimationSourceSounds that is going to be used for sounds of doors
            };
            
            class Door_2_source
            {
                source = user; // "user" = custom source = not controlled by some engine value
                initPhase = 0; // Initial value of animations based on this source
                animPeriod = 1; // Coefficient for duration of change of this animation
                sound = "GenericDoorsSound"; /// Selects sound class from CfgAnimationSourceSounds that is going to be used for sounds of doors
            };
        };
        
        class UserActions
        {
            class OpenDoor1
            {
                displayNameDefault = "<img image='\A3\Ui_f\data\IGUI\Cfg\Actions\open_door_ca.paa' size='2.5' />"; // This is displayed in the center of the screen just below crosshair. In this case it's an icon, not a text.
                displayName = "Open Door 1"; // Label of the action used in the action menu itself.
                position = door_1_trigger; // Point in Memory lod in p3d around which the action is available.
                radius = 2;
                onlyForPlayer = 0;
                condition = "this animationPhase ""Door_1_Rotation"" < 0.5 ";
                statement = "this animate [""Door_1_Rotation"", 1];";
            };
            class CloseDoor1
            {
                displayNameDefault = "<img image='\A3\Ui_f\data\IGUI\Cfg\Actions\open_door_ca.paa' size='2.5' />"; // This is displayed in the center of the screen just below crosshair. In this case it's an icon, not a text.
                displayName = "Close Door 1"; // Label of the action used in the action menu itself.
                position = door_1_trigger; // Point in Memory lod in p3d around which the action is available.
                radius = 2;
                onlyForPlayer = 0;
                condition = "this animationPhase ""Door_1_Rotation"" >= 0.5 ";
                statement = "this animate [""Door_1_Rotation"", 0];";
            };
            
            
            class OpenDoor2
            {
                displayNameDefault = "<img image='\A3\Ui_f\data\IGUI\Cfg\Actions\open_door_ca.paa' size='2.5' />"; // This is displayed in the center of the screen just below crosshair. In this case it's an icon, not a text.
                displayName = "Open Door 2"; // Label of the action used in the action menu itself.
                position = door_2_trigger; // Point in Memory lod in p3d around which the action is available.
                radius = 2;
                onlyForPlayer = 0;
                condition = "this animationPhase ""Door_2_Rotation"" < 0.5 ";
                statement = "this animate [""Door_2_Rotation"", 0];";
            };
            class CloseDoor2
            {
                displayNameDefault = "<img image='\A3\Ui_f\data\IGUI\Cfg\Actions\open_door_ca.paa' size='2.5' />"; // This is displayed in the center of the screen just below crosshair. In this case it's an icon, not a text.
                displayName = "Close Door 2"; // Label of the action used in the action menu itself.
                position = door_2_trigger; // Point in Memory lod in p3d around which the action is available.
                radius = 2;
                onlyForPlayer = 0;
                condition = "this animationPhase ""Door_1_Rotation"" >= 0.5 ";
                statement = "this animate [""Door_2_Rotation"", 0];";
            };
        };
    };
};

/////////////////////////////////////////////////
///////////////////model.cfg/////////////////////
/////////////////////////////////////////////////

class CfgSkeletons
{
    class Default
    {
        isDiscrete = 1;
        skeletonInherit = "";
        skeletonBones[] = {};
    };
    
    class kka3_generalstore_skeleton : Default
    {
        skeletonInherit = "Default";
        skeletonBones[] =
        {
            "Door_1","",
            "Door_2",""
        };
    };
}; 


class Rotation;
class CfgModels
{
    class Default
    {
        sectionsInherit = "";
        sections[] = {};
        sectionName = "";
    };
    
    class kka3_generalstore : Default
    {
        skeletonName = "kka3_generalstore_skeleton";
        sections[] = {};
        sectionsInherit = "";
        
        class Animations
        {   
            class Door_1_Rotation
            {
                type="rotation";
                source="Door_1_source";
                selections="Door_1";
                axis="door_1_axis"
                memory=1;
                minValue=0;
                maxValue=1;
                animPeriod=0;
                angle0=0;
                angle1=(rad 110);
            };
            
            class Door_2_Rotation
            {
                type="rotation";
                source="Door_1_source";
                selections="Door_2";
                axis="door_2_axis"
                memory=1;
                minValue=0;
                maxValue=1;
                animPeriod=0;
                angle0=0;
                angle1=(rad 110);
            };
        };
    };
    
};


 

 

 

I included the model.cfg into the config.cpp because then i don't have to binarize the addon.

And of course i have the door_1_trigger/door_2_trigger/door_1_axis/door_2_axis in my memory lod

Share this post


Link to post
Share on other sites

 

13 hours ago, Whitefame said:

Can you explain what you did to make it work? im experience a similar problem

I forgot to make a "named selection" in O2 called Door_1 and Door_2. (In resolution LOD and Geo LOD)

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

×