- Home /
Multiplayer Help?
Hi, I followed a tutorial video on how to connect a Client to a Server it worked, but I have no clue how to actually log into the world with a character, can someone help by adding something to code or changing something..Thanks Dis`using UnityEngine; using System.Collections;
public class Menu : MonoBehaviour {
public string IP = "127.0.0.1";
public int Port = 25001;
public GameObject target;
public string username = "";
bool RegisterUI = false;
bool LoginUI = false;
void OnGUI()
{
if(Network.peerType == NetworkPeerType.Disconnected)
{
if(GUI.Button(new Rect(100,100,100,25),"Start Client"))
{
Network.Connect(IP,Port);
}
if(GUI.Button(new Rect(100,125,100,25),"Start Server"))
{
Network.InitializeServer(10,Port);
}
}
else {
if(Network.peerType == NetworkPeerType.Client)
{
if(RegisterUI == true && LoginUI == false)
{
username = GUI.TextArea(new Rect(100,125,110,25),username);
if(GUI.Button(new Rect(100,150,110,25),"Register"))
{
networkView.RPC("Register",RPCMode.Server,username);
RegisterUI = false;
}
}
else if(LoginUI == true && RegisterUI == false)
{
username = GUI.TextArea(new Rect(100,125,110,25),username);
if(GUI.Button(new Rect(100,150,110,25),"Login"))
{
networkView.RPC("Login",RPCMode.Server,username);
}
}
else {
GUI.Label(new Rect(100,100,100,25),"Client");
if(GUI.Button(new Rect(100,125,110,25),"Login"))
{
LoginUI = true;
}
if(GUI.Button(new Rect(100,150,110,25),"Register"))
{
RegisterUI = true;
}
if(GUI.Button(new Rect(100,175,110,25),"Logout"))
{
Network.Disconnect(250);
}
}
}
if(Network.peerType == NetworkPeerType.Server)
{
GUI.Label(new Rect(100,100,100,25),"Server");
GUI.Label(new Rect(100,125,100,25),"Connections: " + Network.connections.Length);
if(GUI.Button(new Rect(100,150,100,25),"Logout"))
{
Network.Disconnect(250);
}
}
}
}
[RPC]
void Login(string Username)
{
if(Network.isServer)
{
bool checkUsername = PlayerPrefs.HasKey(Username);
if(checkUsername == true)
{
networkView.RPC("LoadLevel",RPCMode.Others);
}
}
}
[RPC]
void LoadLevel()
{
if(Network.isClient)
{
if(Application.loadedLevel == 0)
{
Application.LoadLevel("Level1");
}
}
}
[RPC]
void Register(string Username)
{
if(Network.isServer)
{
PlayerPrefs.SetString(Username,Username);
}
}
} `
Instantiate your player once you log into the world?
Or for a more detailed solution, $$anonymous$$ake you player a prefab, delete it from the scene, and than in your code you should instantiate the player into the world. hopefully i understood your question well
Your answer
Follow this Question
Related Questions
Multiple Cars not working 1 Answer
I need Help with Multiplayer I can server but not use client 3 Answers
Unity networking tutorial? 6 Answers
attached prefabs before client joins 2 Answers