- Home /
I am having a problem with the following script
I have followed a tutorial on youtube (here is the link) and when I test my progress so far at 26:00, I get an error. The error is Error CS0246, 'MultiplayerManager could not be found. Are you missing a using directive or an assembly reference. The code is as follows:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class MultiPlayerManager : MonoBehaviour
{
public static MultiplayerManager instance;
public string PlayerName;
private string MatchName = "";
private string MatchPassword = "";
private int MatchMaxUsers = 32;
public List<MPPlayer> PlayerList = new List<MPPlayer>();
void Start()
{
instance = this;
}
public void StartServer(string servername, string serverpassword, int maxusers)
{
MatchName = servername;
MatchPassword = serverpassword;
MatchMaxUsers = maxusers;
Network.InitializeServer(MatchMaxUsers, 2550, false);
Network.InitializeSecurity();
}
void OnServerInitialized()
{
Server_PlayerJoinRequest("", Network.player);
}
void OnConnectedToServer()
{
networkView.RPC("Server_PlayerJoinRequest", RPCMode.Server,"", Network.player);
}
void OnPlayerDisconnected(NetworkPlayer id)
{
networkView.RPC("Clent_RemovePlayer", RPCMode.All, id);
}
[RPC]
void Server_PlayerJoinRequest(string playername, NetworkPlayer view)
{
networkView.RPC("AddPlayerToList", RPCMode.All, playername, view);
}
[RPC]
void Client_AddPlayerToList(string playername, NetworkPlayer view)
{
MPPlayer tempplayer = new MPPlayer();
tempplayer.PlayerName = playername;
tempplayer.PlayerNetwork = view;
PlayerList.Add(tempplayer);
}
[RPC]
void Client_RemovePlayer(NetworkPlayer view)
{
MPPlayer temppl = null;
foreach(MPPlayer pl in PlayerList)
{
if (pl.PlayerNetwork == view)
{
temppl = pl;
}
}
if (temppl != null)
{
PlayerList.Remove(temppl);
}
}
}
public class MPPlayer
{
public string PlayerName = "";
public NetworkPlayer PlayerNetwork;
}
The error is at (7,23) well atleast thats what it say,) but I cannot find the problem. Can someone please help me find he problem? Thanks in advance for your help.
You are missing a class or a library. Wherever you got this script, there is more to it. You need a class named $$anonymous$$ultiplayer$$anonymous$$anager.
@Lovrenc He is not missing a class, this script IS the class that cannot be found, because of a mistype. It's described in my answer.
Answer by clunk47 · Jan 02, 2013 at 02:32 AM
public class MultiPlayerManager : MonoBehaviour
{
public static MultiplayerManager instance;
Notice the class name has a capital P on Player, and the static instance does not. Change the P in the class name from P to p. from MultiPlayerManager to MultiplayerManager. Like so:
public class MultiplayerManager : MonoBehaviour
{
public static MultiplayerManager instance;
ok it worked. lol silly mistake. Thank You so much for your help, greatly appreciated.
Your answer
Follow this Question
Related Questions
BurgZergArcade Unity tutorial 19-20 errors. 0 Answers
How to code in coins 1 Answer
NullReferenceExeption 1 Answer
cant kill more than one enemy C# 2 Answers
Unity Car Tutorial Error 0 Answers