Hey everyone. I am getting my feet wet in networking now and I cannot get different spawn points for when a player joins the game it keeps going back to the same spawn point. My player count variable does not change or it somehow gets reset in the code or something to it wont increment.
Here is what I got it work but does not change spawn points.
Thanks for any help with this.
var remoteIP = ""; //ip of comp tring to connect to
var remotePort = 25000;
var listenPort = 25000;
var useNAT = false;
var yourIP = ""; //server address
var yourPort = ""; // port
var playerCount : int;
public var spawnPoints : Transform[];
//player and jump master spawn componets
var playerPrefab : GameObject;
//spawn points
var sp1: Transform;
var sp2: Transform;
//camera stuff
private var cam : Camera;
public var skyBoxMat : Material;
var camHarness : GameObject;
function Start () {
playerCount = 0;
}
function OnGUI()
{
if(Network.peerType == NetworkPeerType.Disconnected)
{
//connect to server
if(GUI.Button(Rect(10, 10, 100, 30), "Connect"))
{
Network.useNat = useNAT;
Network.Connect(remoteIP, remotePort);
}
//creat own server
if(GUI.Button(Rect(10, 50, 100, 30), "Start Server" ))
{
Network.useNat = useNAT;
//first number is max connections
Network.InitializeServer(14,listenPort );
//loop though every object in the game
for(var go : GameObject in FindObjectsOfType(GameObject))
{
go.SendMessage("OnNetworkLoadedLevel", SendMessageOptions.DontRequireReceiver);
}
}
//use these for accsessing the server that not hard coded
remoteIP = GUI.TextField(Rect(120, 10, 100, 20), remoteIP);
remotePort = parseInt(GUI.TextField(Rect(230, 10, 40, 20), remotePort.ToString()));
}else
{
//if player is connected to the game
var ipAddress = Network.player.ipAddress;
var port = Network.player.port.ToString();
//see ip and port for connected player
GUI.Label(Rect(140, 20, 250, 40), "IP Address: " + ipAddress + " port : " + port);
if(GUI.Button(Rect(10,10,100, 50), "Disconnect"))
{
Network.Disconnect(200);
}
}
}
//spwan the master jumper
function OnServerInitialized()
{
Debug.Log("Server initilized");
spawnPlayer();
playerCount++;
}
function OnConnectedToServer()
{
//loop though every object in the game
for(var go : GameObject in FindObjectsOfType(GameObject))
{
go.SendMessage("OnNetworkLoadedLevel", SendMessageOptions.DontRequireReceiver);
}
spawnPlayer();
playerCount++;
}
//spawn player prefab
function spawnPlayer()
{
//Network.Instantiate(playerPrefab, sp1.position, Quaternion.identity, 0);
Debug.Log("Player Count" + playerCount);
if(playerCount == 0)
{
Network.Instantiate(playerPrefab, sp1.position, Quaternion.identity, 0);
}
if(playerCount == 1)
{
Network.Instantiate(playerPrefab, sp2.position, Quaternion.identity, 0);
}
//Network.Instantiate(playerPrefab, sp1.position, Quaternion.identity, 0);
//Network.Instantiate(playerPrefab, spawnPoints[playerCount].position, Quaternion.identity, 0);
playerCount++;
camHarness = GameObject.Find("CamHarness");
cam = gameObject.AddComponent(Camera);
var rot : Quaternion;
rot.x = camHarness.transform.rotation.x;
rot.y = camHarness.transform.rotation.y;
rot.z = camHarness.transform.rotation.z;
rot.w = camHarness.transform.rotation.w;
cam.transform.position = camHarness.transform.position;
cam.transform.rotation = rot;
cam.transform.parent = camHarness.transform;
//set near and far view for camera
cam.near = 0.1f;
cam.far = 35000;
RenderSettings.skybox = skyBoxMat;
}