Error CS0246: The type or namespace name `Hashtable' could not be found

Unity error: Entities/Damageable.cs(97,41): error CS0246: The type or namespace name `Hashtable’ could not be found. Are you missing a using directive or an assembly reference?

using UnityEngine;
using PhotonHashtable = ExitGames.Client.Photon.Hashtable;

public class Damageable : Photon.MonoBehaviour {
	float _health = 100f;
	float _armor  = 50f;
	
	public AudioClip[] hurtClips;
	public AudioClip[] deathClips;
	
	public float Health {
		get { return _health; }
		set { 
			if(!photonView.isMine) {
				return;
			}
			_health = value;
			if(_health <= 0) {
				Die ();
			}
		}
	}
	public float Armor {
		get { return _armor; }
		set { 
			if(!photonView.isMine) {
				return;
			}
			_armor = value;
			UpdateArmorAlpha();
		}
	}
	
	int last_shooterPlayerID = -1;
	float damageFlashTime = 0.3f;
	float damageFlashTimeRemaining = 0;
	
	SkinnedMeshRenderer _armorMesh;

	public Texture2D texDamageFeedback;
	public Texture2D texHealthBarIcon;
	public Texture2D texArmorBarIcon;
	public Texture2D texHealthBar;
	public Texture2D texArmorBar;
	
	void Start() {
		_armorMesh = transform.Find("legobro_mesh/Armor").GetComponent<SkinnedMeshRenderer>();
		UpdateArmorAlpha();
	}
	
	void UpdateArmorAlpha() {
		if(_armorMesh==null)
			return;
		
		Material mat = _armorMesh.material;
		Color col = mat.color;
		if(_armor < 25f) {
			col.a = 0;
		}
		else {
			col.a = _armor / 100f;
		}
		mat.color = col;
		_armorMesh.material = mat;
	}
	
	[RPC]
	void TakeDamage(float d, int shooterPlayerID, string shooterName) {
		//Debug.Log ("ReceiveDamage(): " + d);
		float armorDamage = d * _armor/100f;
		_armor -= armorDamage;
		if(_armor < 0)
			_armor = 0;
		UpdateArmorAlpha();
		
		_health -= d - armorDamage;
		
		AudioSource.PlayClipAtPoint( hurtClips[Random.Range(0, hurtClips.Length)], transform.position, .2f);
		
		damageFlashTimeRemaining = damageFlashTime;
		if(_health <= 0) {
			if(photonView.isMine) {
				NetworkManager.Instance.photonView.RPC("AddChatMessage", PhotonTargets.All, shooterName + " killed " + gameObject.name + "!");
			}
			
			foreach(PhotonPlayer player in PhotonNetwork.playerList) {
				if(player.ID == shooterPlayerID) {
					Hashtable old_props = player.customProperties;
					Hashtable props = new Hashtable();
					props["Kills"] = (int)old_props["Kills"] + 1;
					player.SetCustomProperties( props );
				}
				
				if(player.ID==last_shooterPlayerID && last_shooterPlayerID!=shooterPlayerID) {
					Hashtable old_props = player.customProperties;
					Hashtable props = new Hashtable();
					props["Assists"] = (int)old_props["Assists"] + 1;
					player.SetCustomProperties( props );
				}
			}
			
			Die();
		}
		
		last_shooterPlayerID = shooterPlayerID;
	}
	
	void Die() {
		AudioSource.PlayClipAtPoint( deathClips[Random.Range (0, deathClips.Length)], transform.position );
		
		if(!photonView.isMine) {
			return;
		}
		
//		Debug.Log (gameObject.name + " has died.");
		
		NetworkManager.Instance.DestroyAndRespawn(gameObject);
		
		FXManager.Instance.photonView.RPC("DoDeathAnimation", PhotonTargets.All, transform.position);
	}
	
	void Update() {
		damageFlashTimeRemaining -= Time.deltaTime;
	}
	
	void OnGUI() {
		if(!photonView.isMine || texDamageFeedback==null)
			return;
		
		if(damageFlashTimeRemaining > 0) {
			float alpha = damageFlashTimeRemaining / damageFlashTime;
			
			Color prevColor = GUI.color;
			GUI.color = new Color(prevColor.r, prevColor.g, prevColor.b, alpha);
			GUI.DrawTexture( new Rect(0, 0, Screen.width, Screen.height), texDamageFeedback);
			GUI.color = prevColor;
		}
		
		GUI.DrawTexture( new Rect(0, Screen.height - 32, 32, 32), texHealthBarIcon);
		GUI.DrawTexture( new Rect(32, Screen.height - 32, Mathf.FloorToInt(_health), 32), texHealthBar);
		
		GUI.DrawTexture( new Rect(0, Screen.height - 64, 32, 32), texArmorBarIcon);
		GUI.DrawTexture( new Rect(32, Screen.height - 64, Mathf.FloorToInt(_armor), 32), texArmorBar);
	}
	
    public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info)
    {
        if (stream.isWriting)
        {
            // We own this player: send the others our data
            stream.SendNext(_health);
            stream.SendNext(_armor);
        }
        else
        {
            _health = (float) stream.ReceiveNext();
            _armor = (float) stream.ReceiveNext();
			UpdateArmorAlpha();
        }
    }
	
}

thats the code

I searched your error and according to microsoft these are the potential causes

http://support.microsoft.com/kb/304656

Now i’m getting this: Scoreboard.cs(39,35): error CS0029: Cannot implicitly convert type ExitGames.Client.Photon.Hashtable' to System.Collections.Hashtable’

Code : using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class Scoreboard : MonoBehaviour {

public GUISkin guiSkin;
public Font titleFont;
public Texture2D background;
public bool display = false;

class Line {
	public string name;
	public int kills;
	public int assists;
	public int deaths;
	
	public Line(string n, int k, int a, int d) {
		name = n;
		kills = k;
		assists = a;
		deaths = d;
	}
}

void Update() {
	if(Input.GetKeyDown(KeyCode.Tab)) {
		display = !display;
	}
}

void OnGUI() {
	if(!display || !PhotonNetwork.connected) 
		return;
	
	List<Line> lines = new List<Line>();
	
	foreach (PhotonPlayer player in PhotonNetwork.playerList) {
		Hashtable props = player.customProperties;
		Line l = new Line(player.name, (int)props["Kills"], (int)props["Assists"], (int)props["Deaths"]);
		lines.Add(l);
	}
	
	// TODO: Sort.
	
	GUI.skin = guiSkin;
	GUIStyle rightTitle = new GUIStyle(guiSkin.GetStyle("label"));
	rightTitle.alignment = TextAnchor.MiddleRight;
	rightTitle.font = titleFont;
	GUIStyle leftTitle = new GUIStyle(guiSkin.GetStyle("label"));
	leftTitle.font = titleFont;
	
	Rect win = new Rect(0, Screen.height/2-200, 320, 480);
	GUI.DrawTexture(win, background);
	win = new Rect(10, Screen.height/2-200, 300, 480);

	GUILayout.BeginArea( win );
	GUILayout.BeginVertical();

	GUILayout.BeginHorizontal();
	GUILayout.Label("Scoreboard", leftTitle);
	
	string minutes = (Mathf.FloorToInt(RoundManager.Instance.roundDurationLeft)/60).ToString();
	string seconds = (Mathf.FloorToInt(RoundManager.Instance.roundDurationLeft)%60).ToString("D2");
	GUILayout.Label( minutes + ":" + seconds , rightTitle);
	GUILayout.EndHorizontal();
	
	GUILayout.BeginHorizontal();
	GUILayout.Label("Name", 	GUILayout.Width(135));
	GUILayout.Label("Kills", 	GUILayout.Width(55));
	GUILayout.Label("Deaths", 	GUILayout.Width(55));
	GUILayout.Label("Assists", 	GUILayout.Width(55));
	GUILayout.EndHorizontal();
	
	foreach(Line l in lines) {
		GUILayout.BeginHorizontal();
		GUILayout.Label(l.name, 				GUILayout.Width(150));
		GUILayout.Label(l.kills.ToString(), 	GUILayout.Width(55));
		GUILayout.Label(l.deaths.ToString(), 	GUILayout.Width(55));
		GUILayout.Label(l.assists.ToString(), 	GUILayout.Width(55));
		GUILayout.EndHorizontal();
	}
	
	GUILayout.FlexibleSpace();
	GUILayout.EndVertical();
	GUILayout.EndArea();
	

}

}