error CS0120: An object reference is required to access non-static member

##I was making a chat for my game, after I finished scripting it in C# I got this error:

Assets/chat/chat.cs(158,45): error CS0120: An object reference is required to access non-static member `UnityEngine.NetworkView.RPC(string, UnityEngine.RPCMode, params object[])'

###I had also some other errors which I fixed but however I can’t fix this one and truly need your help. I would appreciate any kind of help. Here’s My Code:

using UnityEngine;
using System.Collections;

public class chat : MonoBehaviour {
	
	bool usingChat = false;
	bool showChat = false;
	
	string inputField ="";
	
	Vector2 scrollposition;
	int width = 500;
	int height = 100;
	string playerName;
	float lastUnfocusTime = 0;
	Rect window;
	
	ArrayList playerList = new ArrayList();
	
	class PlayerNode
	{
		public string playerName;
		public NetworkPlayer player;
	}
	
	ArrayList chatEntires = new ArrayList();
	class chatEntry
	{
	public string name ="";
		public string text ="";
	}
	
	
	void Start () 
	{
	window = new Rect(Screen.width /2 - width /2, Screen.height - height + 5, width, height);
	playerName = PlayerPrefs.GetString("playerName", "");
		
		if (playerName=="") playerName = "RandomName" + Random.Range(1,999);
	}
	
	void OnConnectToServer ()
	{
	ShowChatWindow();
		networkView.RPC("TellServerOurName", RPCMode.Server, playerName);
		addGameChatMessage(playerName + " has just joined the chat!");
	}
	
	void OnServerIntialized()
	{
		PlayerNode newEntry = new PlayerNode();
		newEntry.playerName = playerName;
		newEntry.player = Network.player;
		playerList.Add(newEntry);
		addGameChatMessage(playerName + "has just joined the chat!");
	}
	
	PlayerNode GetPlayerNode(NetworkPlayer netPlay)
	{
		foreach (PlayerNode entry in playerList)
		{
		if(entry.player == netPlay)
				return entry;
		}
		Debug.LogError("GetPlayerNode: Requested a playernode of non-existing player!");
		return null;
	}
	
	void OnPlayerDisconnected(NetworkPlayer netPlayer)
	{
		addGameChatMessage("A Player has disconnected");
		playerList.Remove(GetPlayerNode(netPlayer));
	}
		void OnDisconnectedFromServer()
	{
	   CloseChatWindow();
	}
	
	[RPC]
	void TellServerOurName(string name, NetworkMessageInfo info)
	{
		PlayerNode newEntry = new PlayerNode();
		newEntry.playerName = playerName;
		newEntry.player = Network.player;
		playerList.Add(newEntry);
		addGameChatMessage(playerName + " has just joined the chat!");
	}
	void CloseChatWindow()
	{
		showChat = false;
		inputField = "";
		chatEntires = new ArrayList();
	}
	void ShowChatWindow()
	{
		showChat = false;
		inputField = "";
		chatEntires = new ArrayList();
	}
	
	void OnGUI()
	{
		
		if(!showChat) return;
		if (Event.current.type == EventType.keyDown && Event.current.character == '

’ & inputField.Length <= 0 )
{
if(lastUnfocusTime + .25f < Time.time)
{
usingChat = true;
GUI.FocusWindow(5);
GUI.FocusControl(“Chat input field”);
}
}

		window = GUI.Window(5, window, GlobalChatWindow, "");
	}
	void GlobalChatWindow(int id)
	{
		GUILayout.BeginVertical();
		GUILayout.Space(10);
		GUILayout.EndVertical();
		
		scrollposition = GUILayout.BeginScrollView(scrollposition);
		foreach (chatEntry entry in chatEntires)
		{
			GUILayout.BeginHorizontal();
			if(entry.name == " - ")
				GUILayout.Label(entry.name + entry.text);
			else
				GUILayout.Label(entry.name + ": " + entry.text);
			
			GUILayout.EndHorizontal();
			GUILayout.Space(2);
		}
		
		GUILayout.EndScrollView();
		if(Event.current.type == EventType.keyDown && Event.current.character == '

’ & inputField.Length <= 0)
{
HitEnter(inputField);
GUI.SetNextControlName(“Chat input field”);
inputField = GUILayout.TextField(inputField);

			if (Input.GetKeyDown("mouse 0"))
			{
				if (usingChat)
				{
					usingChat = false;
					GUI.UnfocusWindow();
					lastUnfocusTime = Time.time;
				}
			}

		}
	}
	void HitEnter(string msg)
			{
				msg = msg.Replace('

', ’ ') ;
NetworkView.RPC(“ApplyGlobalChatText”, RPCMode.All, playerName, msg);
}
[RPC]
void ApplyGlobalChatText(string name, string msg)
{
chatEntry entry = new chatEntry();
entry.name = name;
entry.text = msg;

		chatEntires.Add(entry);
		
		if (chatEntires.Count > 4)
			chatEntires.RemoveAt(0);
		
		scrollposition.y = 1000000;
		inputField = "";
		
	}
	
	void addGameChatMessage(string str)
	{
		ApplyGlobalChatText(" - ", str);
		if(Network.connections.Length > 0)
			networkView.RPC("ApplyGlobalChatText", RPCMode.Others , " - ", str);
	}
}

Just change line 158 to:

networkView.RPC("ApplyGlobalChatText", RPCMode.All, playerName, msg);

You had a capitol letter NetworkView.RPC which would be calling the class’ method (which would need to be static to work), and not the RPC method on your object, which is what you want.