Network.Instantiate on the receiving client failed because the asset couldn't be found in
Página 1 de 1
Network.Instantiate on the receiving client failed because the asset couldn't be found in
Boa noite pessoal,
estou com 3 erros no projeto:
1-Network.Instantiate on the receiving client failed because the asset couldn't be found in the project
2-View ID AllocatedID: 50 not found during lookup. Strange behaviour may occur
3-Received state update for view id' AllocatedID: 50' but the NetworkView doesn't exist
e não sei como resolve-los.
eu adaptei um código que me indicarão para estudar a alguns dias, não sei se mudei algo que não podia mudar, mais apareceu esses erros.
eu dividi em 2 programas um servidor e outro cliente.
(para resolver o primeiro erro eu pensei em usar o OnPlayerConnected, mas ai me surgiu uma duvida, e resolvi pergunta antes de mexer (estou traumatizado pois fui mexer esses dia e ferrei o código todo e tive que refazer tudo novo em 2 dias. e o prazo de entrega já ta chegando), eu devo colocar o networkPlayer no cubo?)
Script Servidor
Script Cliente
o script de onde adaptei
fonte:https://www.schultzgames.com/t533-tutorial-criando-um-simples-multiplayer-unity-5?highlight=sisples+multiplayer
desde já agradeço a ajuda.
estou com 3 erros no projeto:
1-Network.Instantiate on the receiving client failed because the asset couldn't be found in the project
2-View ID AllocatedID: 50 not found during lookup. Strange behaviour may occur
3-Received state update for view id' AllocatedID: 50' but the NetworkView doesn't exist
e não sei como resolve-los.
eu adaptei um código que me indicarão para estudar a alguns dias, não sei se mudei algo que não podia mudar, mais apareceu esses erros.
eu dividi em 2 programas um servidor e outro cliente.
(para resolver o primeiro erro eu pensei em usar o OnPlayerConnected, mas ai me surgiu uma duvida, e resolvi pergunta antes de mexer (estou traumatizado pois fui mexer esses dia e ferrei o código todo e tive que refazer tudo novo em 2 dias. e o prazo de entrega já ta chegando), eu devo colocar o networkPlayer no cubo?)
Script Servidor
- Código:
using UnityEngine;
using System.Collections;
public class MultiplayerController : MonoBehaviour
{
//Variaveis para pegar as classes
public Servidor servidor;
//classes do servidor e do cliente
[System.Serializable]
public class Servidor
{
public string nome = "SPMP";
public int maxJogadores = 5;
public int porta = 8080;
}
//void para criar o servidor
public void CriarServidor()
{
string str = PlayerPrefs.GetString("@Simulador");
servidor.maxJogadores = PlayerPrefs.GetInt(str + "quantidade");
Network.InitializeServer(servidor.maxJogadores, servidor.porta, true);
Debug.Log("Servidor: " + servidor.nome);
Debug.Log("IP: " + Network.player.ipAddress);
Debug.Log("Porta: " + servidor.porta);
Debug.Log("Max Particulas" + servidor.maxJogadores);
/**/
}
// Use this for initialization
void Start()
{
CriarServidor();
}
}
Script Cliente
- Código:
using UnityEngine;
using System.Collections;
public class MultiplayerController : MonoBehaviour
{
//Variaveis para pegar as classes
public Servidor servidor;
public Cliente cliente;
//Variaveis para spawn e player
public GameObject Cubo;
//classes do servidor e do cliente
[System.Serializable]
public class Servidor
{
public string nome;
public int maxJogadores;
public int porta;
}
[System.Serializable]
public class Cliente
{
public string nomeJogador;
public string ip;
public int porta;
public string cor;
}
//void para criar o servidor
private void CriarServidor()
{
Network.InitializeServer(servidor.maxJogadores, servidor.porta, true);
}
//void para conetar
public void ConectarServidor()
{
Debug.Log("Cliente.ip: " + cliente.ip);
Debug.Log("Cliente.porta" + cliente.porta);
Network.Connect(cliente.ip, cliente.porta);
}
//void que verifica se o player esta conectado e caso esteje spawna o jogador de acordo com a cor
void OnConnectedToServer()
{
Debug.Log(cliente.nomeJogador + "Conectado com sucesso");
Debug.Log("Deu muito Bom, Porra!");
Network.Instantiate(Cubo, new Vector3(0f,0f,0f), new Quaternion(0f, 0f, 0f, 0f), 1);
/**/
}
private void Start()
{
//coloquei valores fixos pra ter maior controle nos testes
cliente.nomeJogador = "R2D2";
cliente.ip = Network.player.ipAddress;
cliente.porta = 8080;
ConectarServidor();
Debug.Log("deu bom");
}
}
o script de onde adaptei
- Código:
using UnityEngine;
using System.Collections;
public class MultiplayerController : MonoBehaviour {
//Variaveis para pegar as classes
public Servidor servidor;
public Cliente cliente;
//Variaveis para spawn e player
public Transform spawnPoint;
public GameObject playerPrefabVerde;
public GameObject playerPrefabVermelho;
private bool gui = true;
//classes do servidor e do cliente
[System.Serializable]
public class Servidor{
public string nome;
public int maxJogadores;
public int porta;
}
[System.Serializable]
public class Cliente{
public string nomeJogador;
public string ip;
public int porta;
public string cor;
}
//on gui para mostrar os botoes
void OnGUI () {
if(gui){
//INICIO DA BOX DE CRIAR SERVIDOR\\
GUI.Box(new Rect(10,10,180,270), "Criar servidor");
GUI.Label(new Rect(20,40,160,20), "Nome:");
servidor.nome = GUI.TextField(new Rect(20,70,160,20), servidor.nome);
GUI.Label(new Rect(20,100,160,20), "Max. Jogadores:");
servidor.maxJogadores = int.Parse(GUI.TextField(new Rect(20,130,160,20), servidor.maxJogadores.ToString()));
GUI.Label(new Rect(20,160,160,20), "Porta:");
servidor.porta = int.Parse(GUI.TextField(new Rect(20,190,160,20), servidor.porta.ToString()));
GUI.Label(new Rect(20,220,160,20), "IP: "+Network.player.ipAddress);
if(GUI.Button(new Rect(20,250,160,20), "Criar Servidor")){
CriarServidor();
}
//FIM DA BOX DE CRIAR SERVIDOR\\
//INICIO DA BOX DE CONECTAR SERVIDOR\\
GUI.Box(new Rect(210,10,180,270), "Conectar no servidor");
GUI.Label(new Rect(220,40,160,20), "Nome do jogador:");
cliente.nomeJogador = GUI.TextField(new Rect(220,70,160,20), cliente.nomeJogador);
GUI.Label(new Rect(220,100,160,20), "IP:");
cliente.ip = GUI.TextField(new Rect(220,130,160,20), cliente.ip);
GUI.Label(new Rect(220,160,160,20), "Porta:");
cliente.porta = int.Parse(GUI.TextField(new Rect(220,190,160,20), cliente.porta.ToString()));
if(GUI.Button(new Rect(220,220,80,20), "Verde")){
cliente.cor = "verde";
}
if(GUI.Button(new Rect(300,220,80,20), "Vermelho")){
cliente.cor = "vermelho";
}
if(GUI.Button(new Rect(220,250,160,20), "Conectar")){
ConectarServidor();
}
//FIM DA BOX DE CONECTAR SERVIDOR\\
}
}
//void para criar o servidor
private void CriarServidor(){
Network.InitializeServer(servidor.maxJogadores, servidor.porta, true);
gui = false;
}
//void para conetar
private void ConectarServidor(){
gui = false;
Network.Connect(cliente.ip, cliente.porta);
}
//void que verifica se o player esta conectado e caso esteje spawna o jogador de acordo com a cor
void OnConnectedToServer(){
gui = false;
if (cliente.cor == "vermelho") {
Network.Instantiate(playerPrefabVermelho, spawnPoint.position, spawnPoint.rotation, 1);
}
if(cliente.cor == "verde"){
Network.Instantiate(playerPrefabVerde, spawnPoint.position, spawnPoint.rotation, 1);
}
if(cliente.cor == ""){
Network.Instantiate(playerPrefabVerde, spawnPoint.position, spawnPoint.rotation, 1);
}
}
}
fonte:https://www.schultzgames.com/t533-tutorial-criando-um-simples-multiplayer-unity-5?highlight=sisples+multiplayer
desde já agradeço a ajuda.
lucassmart- Iniciante
- PONTOS : 3396
REPUTAÇÃO : 3
Respeito as regras :
Re: Network.Instantiate on the receiving client failed because the asset couldn't be found in
lucassmart escreveu:Boa noite pessoal,
estou com 3 erros no projeto:
1-Network.Instantiate on the receiving client failed because the asset couldn't be found in the project
2-View ID AllocatedID: 50 not found during lookup. Strange behaviour may occur
3-Received state update for view id' AllocatedID: 50' but the NetworkView doesn't exist
e não sei como resolve-los.
eu adaptei um código que me indicarão para estudar a alguns dias, não sei se mudei algo que não podia mudar, mais apareceu esses erros.
eu dividi em 2 programas um servidor e outro cliente.
(para resolver o primeiro erro eu pensei em usar o OnPlayerConnected, mas ai me surgiu uma duvida, e resolvi pergunta antes de mexer (estou traumatizado pois fui mexer esses dia e ferrei o código todo e tive que refazer tudo novo em 2 dias. e o prazo de entrega já ta chegando), eu devo colocar o networkPlayer no cubo?)
o erro foi no programa do servidor
Script Servidor
- Código:
using UnityEngine;
using System.Collections;
public class MultiplayerController : MonoBehaviour
{
//Variaveis para pegar as classes
public Servidor servidor;
//classes do servidor e do cliente
[System.Serializable]
public class Servidor
{
public string nome = "SPMP";
public int maxJogadores = 5;
public int porta = 8080;
}
//void para criar o servidor
public void CriarServidor()
{
string str = PlayerPrefs.GetString("@Simulador");
servidor.maxJogadores = PlayerPrefs.GetInt(str + "quantidade");
Network.InitializeServer(servidor.maxJogadores, servidor.porta, true);
Debug.Log("Servidor: " + servidor.nome);
Debug.Log("IP: " + Network.player.ipAddress);
Debug.Log("Porta: " + servidor.porta);
Debug.Log("Max Particulas" + servidor.maxJogadores);
/**/
}
// Use this for initialization
void Start()
{
CriarServidor();
}
}
Script Cliente
- Código:
using UnityEngine;
using System.Collections;
public class MultiplayerController : MonoBehaviour
{
//Variaveis para pegar as classes
public Servidor servidor;
public Cliente cliente;
//Variaveis para spawn e player
public GameObject Cubo;
//classes do servidor e do cliente
[System.Serializable]
public class Servidor
{
public string nome;
public int maxJogadores;
public int porta;
}
[System.Serializable]
public class Cliente
{
public string nomeJogador;
public string ip;
public int porta;
public string cor;
}
//void para criar o servidor
private void CriarServidor()
{
Network.InitializeServer(servidor.maxJogadores, servidor.porta, true);
}
//void para conetar
public void ConectarServidor()
{
Debug.Log("Cliente.ip: " + cliente.ip);
Debug.Log("Cliente.porta" + cliente.porta);
Network.Connect(cliente.ip, cliente.porta);
}
//void que verifica se o player esta conectado e caso esteje spawna o jogador de acordo com a cor
void OnConnectedToServer()
{
Debug.Log(cliente.nomeJogador + "Conectado com sucesso");
Debug.Log("Deu muito Bom, Porra!");
Network.Instantiate(Cubo, new Vector3(0f,0f,0f), new Quaternion(0f, 0f, 0f, 0f), 1);
/**/
}
private void Start()
{
//coloquei valores fixos pra ter maior controle nos testes
cliente.nomeJogador = "R2D2";
cliente.ip = Network.player.ipAddress;
cliente.porta = 8080;
ConectarServidor();
Debug.Log("deu bom");
}
}
o script de onde adaptei
- Código:
using UnityEngine;
using System.Collections;
public class MultiplayerController : MonoBehaviour {
//Variaveis para pegar as classes
public Servidor servidor;
public Cliente cliente;
//Variaveis para spawn e player
public Transform spawnPoint;
public GameObject playerPrefabVerde;
public GameObject playerPrefabVermelho;
private bool gui = true;
//classes do servidor e do cliente
[System.Serializable]
public class Servidor{
public string nome;
public int maxJogadores;
public int porta;
}
[System.Serializable]
public class Cliente{
public string nomeJogador;
public string ip;
public int porta;
public string cor;
}
//on gui para mostrar os botoes
void OnGUI () {
if(gui){
//INICIO DA BOX DE CRIAR SERVIDOR\\
GUI.Box(new Rect(10,10,180,270), "Criar servidor");
GUI.Label(new Rect(20,40,160,20), "Nome:");
servidor.nome = GUI.TextField(new Rect(20,70,160,20), servidor.nome);
GUI.Label(new Rect(20,100,160,20), "Max. Jogadores:");
servidor.maxJogadores = int.Parse(GUI.TextField(new Rect(20,130,160,20), servidor.maxJogadores.ToString()));
GUI.Label(new Rect(20,160,160,20), "Porta:");
servidor.porta = int.Parse(GUI.TextField(new Rect(20,190,160,20), servidor.porta.ToString()));
GUI.Label(new Rect(20,220,160,20), "IP: "+Network.player.ipAddress);
if(GUI.Button(new Rect(20,250,160,20), "Criar Servidor")){
CriarServidor();
}
//FIM DA BOX DE CRIAR SERVIDOR\\
//INICIO DA BOX DE CONECTAR SERVIDOR\\
GUI.Box(new Rect(210,10,180,270), "Conectar no servidor");
GUI.Label(new Rect(220,40,160,20), "Nome do jogador:");
cliente.nomeJogador = GUI.TextField(new Rect(220,70,160,20), cliente.nomeJogador);
GUI.Label(new Rect(220,100,160,20), "IP:");
cliente.ip = GUI.TextField(new Rect(220,130,160,20), cliente.ip);
GUI.Label(new Rect(220,160,160,20), "Porta:");
cliente.porta = int.Parse(GUI.TextField(new Rect(220,190,160,20), cliente.porta.ToString()));
if(GUI.Button(new Rect(220,220,80,20), "Verde")){
cliente.cor = "verde";
}
if(GUI.Button(new Rect(300,220,80,20), "Vermelho")){
cliente.cor = "vermelho";
}
if(GUI.Button(new Rect(220,250,160,20), "Conectar")){
ConectarServidor();
}
//FIM DA BOX DE CONECTAR SERVIDOR\\
}
}
//void para criar o servidor
private void CriarServidor(){
Network.InitializeServer(servidor.maxJogadores, servidor.porta, true);
gui = false;
}
//void para conetar
private void ConectarServidor(){
gui = false;
Network.Connect(cliente.ip, cliente.porta);
}
//void que verifica se o player esta conectado e caso esteje spawna o jogador de acordo com a cor
void OnConnectedToServer(){
gui = false;
if (cliente.cor == "vermelho") {
Network.Instantiate(playerPrefabVermelho, spawnPoint.position, spawnPoint.rotation, 1);
}
if(cliente.cor == "verde"){
Network.Instantiate(playerPrefabVerde, spawnPoint.position, spawnPoint.rotation, 1);
}
if(cliente.cor == ""){
Network.Instantiate(playerPrefabVerde, spawnPoint.position, spawnPoint.rotation, 1);
}
}
}
fonte:https://www.schultzgames.com/t533-tutorial-criando-um-simples-multiplayer-unity-5?highlight=sisples+multiplayer
desde já agradeço a ajuda.
lucassmart- Iniciante
- PONTOS : 3396
REPUTAÇÃO : 3
Respeito as regras :
Tópicos semelhantes
» instantiate is null (Instantiate Resources.Load)
» Vale apena colocar esse Asset na Asset Store?
» CommandInvokationFailure: Failed to compile 'UnityClassRegistration.cpp'.
» Gradle build failed.
» [AJUDA] CommandInvokationFailure: Failed to build apk
» Vale apena colocar esse Asset na Asset Store?
» CommandInvokationFailure: Failed to compile 'UnityClassRegistration.cpp'.
» Gradle build failed.
» [AJUDA] CommandInvokationFailure: Failed to build apk
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos