All animations working (idle,walk) except run animation {Help}

Hey, I kinda need a little help with this, my problem is I have made animations to go with my fps, applied to the animation list component on my weapon which my arms are also in that, i added the script which has no errors.. i play the game and my idle animation works perfectly, my walk animation works awesome, but my run animation just twitches abut when i hold left shift and just continues playing the walk animation when i have a run animation set, the animation is the same name as said in the script and is paired with all the others in the component under my controller/m14(weapon) including my arms... i have tried many solutions.. changing the script around, creating various run animations which works good in the animation preview and ive set on my m14 object to generic, if i set it to legacy nothing plays... and i have gone into the input settings and added a run control with left shift button put in, i added the script below... any thoughts?1672020--104739--Script.png

sorry for the bad quality picture

Line 10: GetButtonDown -> GetButton


Thanks for the reply... but when i changed it... came up with this error only: Assets/Gun Script.js(10,23): BCE0017: The best overload for the method 'UnityEngine.Input.GetButton(String)' is not compatible with the argument list '(UnityEngine.KeyCode)'.

Are you supplying the GetButton(string) method a parameter of KeyCode?

GetButton should accept a parameter of string.

is your line 10:

if (Input.GetButton("Run"))

This is the whole script with your correction.. sorry im kinda new to scripting so yeah.. comes up with error: expecting eof, found 'else'... here is script:

function Start () {

}

function Update() {
if(Input.GetAxis("Vertical")){
// If you go forward or backward...
if(Input.GetButton("Run"))
// If you put down left shift...
animation.CrossFade("Run", 0.1);
// Crossfade the animation "Run"...

}
else
// If you are not holding left shift...
{
animation.CrossFade("Walk", 0.1);
// Crossfade the animation "Walk"
}
}
else
// If your not pressing anything
{
animation.CrossFade("Idle", 0.1);
// Crosssfade the animation Idle...
}
}

The { } is not matched.
Add a '{' at the end of 'if (Input.GetButton("Run")) '

function Update() {
if(Input.GetAxis("Vertical")){
    // If you go forward or backward...
    if(Input.GetButton("Run")){
    // If you put down left shift...
        animation.CrossFade("Run", 0.1);
      // Crossfade the animation "Run"...
     }
     else
     // If you are not holding left shift...
     {
        animation.CrossFade("Walk", 0.1);
        // Crossfade the animation "Walk"
     }
}
else
// If your not pressing anything
{
    animation.CrossFade("Idle", 0.1);
    // Crosssfade the animation Idle...
}
}

Thanks for the reply, umm it actually hasnt changed anything... there are no errors or anything but yeah its still the same... ive added more information on the investigation of the problem.. instead of me writing it here ill link you the Q:
http://answers.unity3d.com/questions/733031/certain-animations-will-not-play-unless-walking-fo.html