Verificar se é o Player local Network
3 participantes
Página 1 de 1
Verificar se é o Player local Network
Olá, o meu jogo é em multiplayer, usando o Master Server. E eu não consigo usar o isLocal Player nele :/
- Código:
using UnityEngine;
using UnityEngine.Networking;
public class Player : NetworkBehaviour {
public float speed = 10;
RaycastHit hit;
public Rigidbody rb;
public GameObject _camera;
public Vector3 Distance;
private Vector3 velocity = Vector3.zero;
private void Start()
{
if (isLocalPlayer)
{
_camera = Camera.main.gameObject;
}
}
private void Update()
{
if (isLocalPlayer)
{
gameObject.name = "Player";
var x = Input.GetAxis("Horizontal") * Time.deltaTime * 3.0f;
var z = Input.GetAxis("Vertical") * Time.deltaTime * 3.0f;
transform.Translate(x, 0, z);
_camera.transform.position = Vector3.SmoothDamp(_camera.transform.position, transform.position + Distance, ref velocity, 0.7f);
}
else
{
gameObject.name = "player";
}
}
}
Água Sem Hidrogênio- Avançado
- PONTOS : 2560
REPUTAÇÃO : 25
Respeito as regras :
Re: Verificar se é o Player local Network
Água Sem Hidrogênio escreveu:Olá, o meu jogo é em multiplayer, usando o Master Server. E eu não consigo usar o isLocal Player nele :/
- Código:
using UnityEngine;
using UnityEngine.Networking;
public class Player : NetworkBehaviour {
public float speed = 10;
RaycastHit hit;
public Rigidbody rb;
public GameObject _camera;
public Vector3 Distance;
private Vector3 velocity = Vector3.zero;
private void Start()
{
if (isLocalPlayer)
{
_camera = Camera.main.gameObject;
}
}
private void Update()
{
if (isLocalPlayer)
{
gameObject.name = "Player";
var x = Input.GetAxis("Horizontal") * Time.deltaTime * 3.0f;
var z = Input.GetAxis("Vertical") * Time.deltaTime * 3.0f;
transform.Translate(x, 0, z);
_camera.transform.position = Vector3.SmoothDamp(_camera.transform.position, transform.position + Distance, ref velocity, 0.7f);
}
else
{
gameObject.name = "player";
}
}
}
Alguma outra maneira de resolver isso? :bounce:
Água Sem Hidrogênio- Avançado
- PONTOS : 2560
REPUTAÇÃO : 25
Respeito as regras :
Re: Verificar se é o Player local Network
Local Player Authority está ativo no Network Identity? Outra, verifique se for o player local quando iniciar o script, pelo OnStartLocalPlayer" que é chamada apenas no script do player instanciado que for o player local e não precisa checar com o isLocalPlayer.
Obs: é uma variável da classe base NetworkIdentity, para declarar deve usar o "override" junto com a função.
https://docs.unity3d.com/ScriptReference/Networking.NetworkBehaviour.OnStartLocalPlayer.html
Obs: é uma variável da classe base NetworkIdentity, para declarar deve usar o "override" junto com a função.
- Código:
void override OnStartLocalPlayer(){
//toda lógic aqui
base.OnStartLocalPlayer();
}
https://docs.unity3d.com/ScriptReference/Networking.NetworkBehaviour.OnStartLocalPlayer.html
Re: Verificar se é o Player local Network
É porque eu não posso usar o NetworkBehaviour, se não ele não instancia o jogador :/recagonlei escreveu:Local Player Authority está ativo no Network Identity? Outra, verifique se for o player local quando iniciar o script, pelo OnStartLocalPlayer" que é chamada apenas no script do player instanciado que for o player local e não precisa checar com o isLocalPlayer.
Obs: é uma variável da classe base NetworkIdentity, para declarar deve usar o "override" junto com a função.
- Código:
void override OnStartLocalPlayer(){
//toda lógic aqui
base.OnStartLocalPlayer();
}
https://docs.unity3d.com/ScriptReference/Networking.NetworkBehaviour.OnStartLocalPlayer.html
Água Sem Hidrogênio- Avançado
- PONTOS : 2560
REPUTAÇÃO : 25
Respeito as regras :
Re: Verificar se é o Player local Network
Como assim? No script ele está derivado do NetworkBehaviour... Caso tenha o Network Identity setado como local player authority, ter registrado no slot do player no Network Manager, ele instancia normalmente.
Re: Verificar se é o Player local Network
entra nesse site da unity aqui:
https://docs.unity3d.com/ScriptReference/Networking.NetworkBehaviour.OnStartLocalPlayer.html
https://docs.unity3d.com/ScriptReference/Networking.NetworkBehaviour.OnStartLocalPlayer.html
pitercredd- Membro
- PONTOS : 2560
REPUTAÇÃO : 1
Idade : 21
Áreas de atuação : Level Design
Músico
Respeito as regras :
Tópicos semelhantes
» alguem sabe um sistema/ideia/tutorial de nicknames/indentificaçao para NETWORK local???
» Como verificar se foi meu player que tocou no CUBO?
» Verificar se player está posado em blogo
» [Unity 5] Como verificar se player está se locomovendo ?
» Duvida com Network
» Como verificar se foi meu player que tocou no CUBO?
» Verificar se player está posado em blogo
» [Unity 5] Como verificar se player está se locomovendo ?
» Duvida com Network
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos