Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Problema [Command] Jugador no tiene autoridad

Iniciado por eldimarzioxp, Febrero 24, 2018, 05:58:53 PM

Tema anterior - Siguiente tema
Hola, estoy intentando hacer un juego online en el que son 2 jugadores el Host (Jugador tambien) y el cliente.
 
El caso es que ambos jugadores se mueven por si mismos y tienen sus respectivas camaras todo esto gestionado con
 

 if (!isLocalPlayer) {
            return;
        }

 
Esto lo que me dice es que en los otros scripts si tienen autoridad cada uno de los personajes sin embargo en este no la tiene y nose por que.
 
Al lio: Hay una mochila con un sphere collider la cual al pasar al lado suya cambia en el script del jugador la variable de objetocercano y despues el mismo jugador en el input manda por Command la variable.
 

//Codigo que esta dentro del jugador   
public GameObject ultimoobjetocerca;
public GameObject offlineultimoobjetocerca;
void Update () {
   if (!isLocalPlayer){
      return;
   }
   Cmd_objetocercano ();
   if (Input.GetKeyDown(KeyCode.F)){   
      Cmd_Destruir ();
   }
 

}
[Command]
public void Cmd_objetocercano(){
   Debug.LogError (this.GetComponent<NetworkIdentity>().netId);
   ultimoobjetocerca = offlineultimoobjetocerca;
}

 
 
 
 
 

//Codigo de la mochila
void OnTriggerStay(Collider colstar){
   if (colstar.tag == "Player") {
      
      if (!colstar.GetComponent<NetworkIdentity> ().isLocalPlayer) {
         return;
      }
      colstar.GetComponent<cogeritem> ().offlineultimoobjetocerca = this.gameObject;
   }

}

 
 
 
 
 
Datos adicionales:
 
La mochila posee un network identity con autoridad local
 
En el Host si que tiene autoridad y funciona perfectamente.
 
 
 
 
 
 

Febrero 24, 2018, 07:07:18 PM #1 Ultima modificación: Febrero 24, 2018, 07:07:31 PM por eldimarzioxp
Solucionado. 
 

   void OnTriggerStay(Collider colstar){
   if (colstar.tag == "Player") {
                              //Aquí estaba el error
      if (!colstar.GetComponent<NetworkIdentity> ().localPlayerAuthority) {
         return;
      }
      colstar.GetComponent<detectarobjetos> ().offlineultimoobjetocerca = this.gameObject;
   }

}

 
 

Etiquetas: