sync animations problem

Hello!

I am making a multiplayer game and I’m using the networkingSyncAnimation.cs
script to synch my animations. I have made a script anim.js that sends the states of animations,
which is this:
animation.wrapMode = WrapMode.Loop;

animation[“jump”].wrapMode = WrapMode.Clamp;
animation[“walk”].wrapMode = WrapMode.Clamp;

animation[“idle”].layer = -2;
animation[“walk”].layer = -2;
animation[“excited”].layer = -1;
animation[“look”].layer = -1;
animation[“think”].layer = -1;

animation.Stop();

function Update () {
if (Mathf.Abs(Input.GetAxis(“Vertical”)) > 0.0)
{
animation.wrapMode = WrapMode.Loop;
animation.CrossFade(“walk”);
SendMessage(“SyncAnimation”, “walk”);
}

else
{	animation.Play("idle");
    animation.CrossFade("idle");
    SendMessage("SyncAnimation", "idle");

}

if (Input.GetButtonDown ("Jump"))
{  animation.wrapMode = WrapMode.Once;
	animation.CrossFade("jump");
    SendMessage("SyncAnimation", "jump");

}

}

function Excited()
{

 animation.wrapMode = WrapMode.Once;
 animation.CrossFade("excited");
 SendMessage("SyncAnimation", "excited");
}

function Think(){
animation.wrapMode = WrapMode.Once;
animation.CrossFade(“think”);
SendMessage(“SyncAnimation”, “think”);

}

function Look(){
animation.wrapMode = WrapMode.Once;
animation.CrossFade(“look”);
SendMessage(“SyncAnimation”, “look”);
}

And it works great. The three functions excited,think and look are called when gui buttons are pressed. Then I use the networkingSyncAnimation.cs for synching the animations. I changed it a little bit and
now it looks like this

using UnityEngine;

using System.Collections;
using System;

public class NetworkSyncAnimation : MonoBehaviour {

public enum AniStates 
{
	walk = 0,
	idle,
	jump,
	think,
	excited,
	look
}

public AniStates currentAnimation = AniStates.idle;
public AniStates lastAnimation = AniStates.idle;

public void SyncAnimation(String animationValue)
{
	currentAnimation = (AniStates)Enum.Parse(typeof(AniStates), animationValue);
}

// Update is called once per frame
void Update () {
	
	if (lastAnimation != currentAnimation)
	{
		lastAnimation = currentAnimation;
		animation.CrossFade(Enum.GetName(typeof(AniStates), currentAnimation));
		
		animation["walk"].normalizedSpeed = 1.0F;
	}
}

void OnSerializeNetworkView(BitStream stream, NetworkMessageInfo info)
{
	if (stream.isWriting)
	{
		char ani = (char)currentAnimation;
		stream.Serialize(ref ani);
	}
	else
	{
		char ani = (char)0;
		stream.Serialize(ref ani);
		
		currentAnimation = (AniStates)ani;
	}	

}

}

My problem is that only the walk and idle movements sync and the others don’t.
Any ideas why happens this? In my anim script I even divided the animations in
layers, so the three animations that don’t play have a priority. Any help would be
highly appreciated. Thanks!

shouldnt there be another line near:

animation[“walk”].normalizedSpeed = 1.0F;