Jump to content
Sign in to follow this  
SmoKiwiyoo_

Bolt model.cfg problem

Recommended Posts

Hi all !

I got a problem with my 416a5

When i shoot with the gun the bolt is not moving, the bolt moving just at the end of mag in back position.

This is my model.cfg if someone can help me 🙂

Thank's
 

Quote

class CfgSkeletons
{
    class Skeleton
    {
        isDiscrete=1;
        skeletonInherit="";
        skeletonBones[]={"trigger", "", "gl_trigger", "", "gl_sights_front", "", "gl_sights_rear", "", "bolt", "", "bolt_catch", "", "magazine", "", "safety", "", "zasleh", "", "op", "", "foresight", "", "backsight", "", "gl", "", "gl_shell", "gl", "gl_bullet", "gl_shell"};
    };
};
class CfgModels
{
    class 416A5VFG
    {
        htMin=60;
        htMax=1800;
        afMax=200;
        mfMax=100;
        mFact=0;
        tBody=0;
        skeletonName="Skeleton";
        sectionsInherit="";
        sections[]={"zasleh", "camo1", "camo2", "camo3", "safety", "bolt", "bolt_catch", "magazine", "ctr"};
        class Animations
        {
            class unloaded_magazine_hide
            {
                type="hide";
                source="hasmagazine";
                selection="magazine";
                sourceAddress="clamp";
                minPhase=0;
                maxPhase=1;
                minValue=0;
                maxValue=1;
                memory=0;
                hideValue=0.1;
                unHideValue=-1;
            };
            class magazine_hide
            {
                type = "hide";
                source = "reloadMagazine";
                selection = "magazine";
                minValue = 0.000000;
                maxValue = 1.00000;
                hideValue = 0.220;
                unhideValue = 0.550;
            };
            class no_magazine
            {
                type="hide";
                source="hasmagazine";
                selection="magazine";
                sourceAddress="clamp";
                minPhase=0;
                maxPhase=1;
                minValue=0;
                maxValue=1;
                memory=0;
                hideValue=0.5;
                unHideValue=-1;
            };
            class magazine_reload_move_1
            {
             type = "translation";
            source = "reloadMagazine";
            selection = "magazine";
            axis = "magazine_axis";
            minValue = 0.145;
            maxValue = 0.170;
            offset0 = 0.0;
              offset1 = 0.5;
            };
         
            class magazine_reload_move_h_1
            {
                type="translation";
                source="reloadmagazine";
                selection="magazine";
                sourceAddress="clamp";
                minPhase=0.2;
                maxPhase=0.3;
                minValue=0.2;
                maxValue=0.3;
                memory=0;
                offset0=0;
                offset1=-2.24;
            };
            class magazine_reload_move_h_2
            {
                type="translation";
                source="reloadmagazine";
                selection="magazine";
                sourceAddress="clamp";
                minPhase=0.5487805;
                maxPhase=0.597561;
                minValue=0.5487805;
                maxValue=0.597561;
                memory=0;
                offset0=0;
                offset1=1.47;
            };
            class magazine_reload_move_h_3
            {
                type="translation";
                source="reloadmagazine";
                selection="magazine";
                sourceAddress="clamp";
                minPhase=0.597561;
                maxPhase=0.6341463;
                minValue=0.597561;
                maxValue=0.6341463;
                memory=0;
                offset0=0;
                offset1=0.62;
            };
            class magazine_reload_move_h_4
            {
                type="translation";
                source="reloadmagazine";
                selection="magazine";
                sourceAddress="clamp";
                minPhase=0.6341463;
                maxPhase=0.6585366;
                minValue=0.6341463;
                maxValue=0.6585366;
                memory=0;
                offset0=0;
                offset1=0.15;
            };
            class magazine_gl_reload_hide
            {
                type="hide";
                source="reloadmagazine2";
                selection="gl_shell";
                sourceAddress="clamp";
                minPhase=0;
                maxPhase=1;
                minValue=0;
                maxValue=1;
                memory=0;
                hideValue=0.16;
                unHideValue=0.4666667;
            };
            class magazine_gl_bullet_reload_hide
            {
                type="hide";
                source="reloadmagazine2";
                selection="gl_bullet";
                sourceAddress="clamp";
                minPhase=0;
                maxPhase=1;
                minValue=0;
                maxValue=1;
                memory=0;
                hideValue=1E-06;
                unHideValue=0.4666667;
            };
            class bolt
            {
                type="translation";
                source="reload.0";
                selection="bolt";
                sourceAddress="clamp";
                minPhase=0;
                maxPhase=0.5;
                minValue=0;
                maxValue=0.5;
                memory=0;
                offset0=0;
                offset1=1;
            };
            class bolt2
            {
                type="translation";
                source="reload.0";
                selection="bolt";
                sourceAddress="clamp";
                minPhase=0.5;
                maxPhase=1;
                minValue=0.5;
                maxValue=1;
                memory=0;
                offset0=0;
                offset1=-1;
            };
            class bolt_empty
            {
                type="translationx";
                source="isemptynoreload.0";
                selection="bolt";
                sourceAddress="clamp";
                minPhase=0;
                maxPhase=0.09;
                minValue=0;
                maxValue=0.09;
                memory=0;
                offset0=0;
                offset1=0;
            };
            class boltlock_empty
            {
                type="rotation";
                source="isempty";
                selection="bolt_catch";
                sourceAddress="clamp";
                minPhase=0;
                maxPhase=1;
                minValue=0;
                maxValue=1;
                memory=0;
                angle0=0;
                angle1=-0.2094395;
            };
            class mflash2
            {
                type="hide";
                source="ammorandom";
                selection="zasleh";
                sourceAddress="loop";
                minPhase=0;
                maxPhase=1;
                minValue=0;
                maxValue=1;
                memory=0;
                hideValue=0.25;
                unHideValue=-1;
            };
            class zaslehrot
            {
                type="rotationx";
                source="ammorandom";
                selection="zasleh";
                sourceAddress="loop";
                minPhase=0;
                maxPhase=4;
                minValue=0;
                maxValue=4;
                memory=0;
                angle0=0;
                angle1=6.283185;
            };
            class firemodeswitch
            {
                type="rotationz";
                source="weaponmode";
                selection="safety";
                sourceAddress="clamp";
                minPhase=0;
                maxPhase=0.1;
                minValue=0;
                maxValue=0.1;
                memory=0;
                angle0=0;
                angle1=1.570796;
            };
        };
    };
};
 

 

Share this post


Link to post
Share on other sites

Looking at that your "bolt2" animation returns the bolt to a closed position after firing? Why? When the rifle has been fired and the animation is completed the bolt will automatically reset to its default position. I can understand you'd animate it to be a smooth transition, but the animation plays that fast you wont notice the difference, even on full-auto.

I'll include the code I use for my rifles when animating them

			class bolt
			{
				type="translation"; //The type of animation.
				source="reload";   	//The controller that provides input.
				selection="bolt"; 	//The name of the skeleton bone used.
				begin="bolt_begin"; //Memory point at the beginning (front) of the ejector port
				end="bolt_end";		//Memory point at the end (back) of the ejector port
				minValue=0; 		//The minimum value of the motion range. i.e. The controller input when animation phase is 0.
				maxValue="0.2"; 	//
				offset0="0";		//Starting offset
				offset1="1";		//End offset when maxValue is reached 0-1
			};

Haven't had any issues using this code. Also when posting code please use the <>  button (with C++ formatting) to make it all easier to read.

Also as a side note, I'm not sure you need to include the .0 for each animation source/muzzle as unless you tell the game otherwise (by denoting a .1/.2 etc) the game just assumes you're working with the default (i.e. .0) muzzle. But if that is how you're comfortable coding thats cool, each to their own.

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  

×