0
votes

Hello, i have been working on this problem for 3 days and i cant figure out what is wrong with it. The error message i got is "SpawnObject for Player(Clone) (UnityEngine.GameObject), NetworkServer is not active. Cannot spawn objects without an active server." i know that the server is starting fine because when i connect to it with a client then close the server the client says that the server may have shutdown. Here is the code i have so far. THANK YOU IN ADVANCE

using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Networking;
using System.Collections;

public class MENU_CONTROLLER : NetworkBehaviour
{
    public GameObject ipField;
    public GameObject connectButton;
    public GameObject hostButton;
    public GameObject player;

    public Text ip;
    public Text PlayerCount;
    private int playercount = 0;
    void Update() {
    }
    void vanishMenu() {
        ipField.SetActive(false);
        connectButton.SetActive(false);
        hostButton.SetActive(false);
    }

    public void ServerConnect() {
        Network.Connect(ip.text.ToString(), 4444);
        vanishMenu();
        SpawnPlayer();
    }
    public void SpawnPlayer() {
        GameObject p = (GameObject)Instantiate(player, transform.position,transform.rotation);
        NetworkServer.Spawn(p);
    }
    public void ServerStart() {
        Network.InitializeServer(30, 4444, true);
        Network.Connect("localhost", 4444);
        SpawnPlayer();
    }
    void OnPlayerConnected(NetworkPlayer player) {
        playercount++;
        print("PLAYER CONNECTED");
        print(player.ipAddress);
        PlayerCount.text = playercount.ToString();
    }
}
1

1 Answers

0
votes

You must call the NetworkServer.Spawn() from within an "is server" block.

if (is Server) {
//do your thing to spawn
}