[RESOLVIDO] Sincronizar uma bool que não esta no player?
4 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
[RESOLVIDO] Sincronizar uma bool que não esta no player?
como sincronizo uma bool, tipo o inimigo, o cliente bate nele, ai ele tenque dizer pra todos que o inimigo sofreu dano, por uma bool seria facil, porem só o servidor dá o dano :/
Tipo, um objeto(não jogador) precisa receber valores de qualquer cliente, porem não sei como fazer isso
eu estou usando o seguinte
então é mais ou menos assim meu codigo,
o problema principal é: quando o cliente tenta mudar a variavel(chamar o CmdChamar()) ele não deixa devido ao nivel de autorização!
OBS: o objeto já esta na cena, ele não é spawnado, e ele possui um networkidentity.
Se alguém poder ajudar, ficarei mt grato.
Tipo, um objeto(não jogador) precisa receber valores de qualquer cliente, porem não sei como fazer isso
eu estou usando o seguinte
- Código:
[syncvar]
public bool bateu;
public bool TomouTapa;
void Update()
{
if(tomouTapa)
{
CmdChamar(true);
}
}
[Command]
public void CmdChamar(bool Batido)
{
this.bateu = Batido;
}
então é mais ou menos assim meu codigo,
o problema principal é: quando o cliente tenta mudar a variavel(chamar o CmdChamar()) ele não deixa devido ao nivel de autorização!
OBS: o objeto já esta na cena, ele não é spawnado, e ele possui um networkidentity.
Se alguém poder ajudar, ficarei mt grato.
Extreme Craft- Avançado
- PONTOS : 3276
REPUTAÇÃO : 30
Idade : 23
Áreas de atuação : C# , Blender , Unity
Respeito as regras :
Re: [RESOLVIDO] Sincronizar uma bool que não esta no player?
Olá.
Posso tentar de ajudar.
Mas neste o caso não consegui entender o seu problema de forma adequada.
Posso tentar de ajudar.
Mas neste o caso não consegui entender o seu problema de forma adequada.
TomasAndriotti- Iniciante
- PONTOS : 2307
REPUTAÇÃO : 0
Respeito as regras :
Re: [RESOLVIDO] Sincronizar uma bool que não esta no player?
Não sei exatamente o q vc quer mas talvez vc resolva com orientação a objeto.
NomeScript nome;
void Startups(){
nome = FindObjectOfType(typeof(NomeScript))as NomeScript;
Agora vc pode acessar todas variáveis ou métodos público desse script através de outro
nome.MeuMetodo(true);
nome.bateu=true;
NomeScript nome;
void Startups(){
nome = FindObjectOfType(typeof(NomeScript))as NomeScript;
Agora vc pode acessar todas variáveis ou métodos público desse script através de outro
nome.MeuMetodo(true);
nome.bateu=true;
Tiago95- Avançado
- PONTOS : 2629
REPUTAÇÃO : 32
Respeito as regras :
Re: [RESOLVIDO] Sincronizar uma bool que não esta no player?
Não sei exatamente o q vc quer mas talvez vc resolva com orientação a objeto.
NomeScript nome;
void Start(){
nome = FindObjectOfType(typeof(NomeScript))as NomeScript;
}
Agora vc pode acessar todas variáveis ou métodos público desse script através de outro
nome.MeuMetodo(true);
nome.bateu=true;
NomeScript nome;
void Start(){
nome = FindObjectOfType(typeof(NomeScript))as NomeScript;
}
Agora vc pode acessar todas variáveis ou métodos público desse script através de outro
nome.MeuMetodo(true);
nome.bateu=true;
Tiago95- Avançado
- PONTOS : 2629
REPUTAÇÃO : 32
Respeito as regras :
Re: [RESOLVIDO] Sincronizar uma bool que não esta no player?
ok, existe este jeito, agora vamos dizer que o "nome" é mais de um, ou seja "NomeScript[] nome;"Tiago95 escreveu:Não sei exatamente o q vc quer mas talvez vc resolva com orientação a objeto.
NomeScript nome;
void Start(){
nome = FindObjectOfType(typeof(NomeScript))as NomeScript;
}
Agora vc pode acessar todas variáveis ou métodos público desse script através de outro
nome.MeuMetodo(true);
nome.bateu=true;
como eu acharia todos os objetos da cena com este script? seria um jeito diferente de chamar, mais não sei como.
OBS: como é para spawnar inimigos, então o numero de scripts que existiram na cena pode variar
eu queria saber como ficaria nesta parte. se souber, já que agorá ele é uma array list:
nome[] = FindObjectOfType(typeof(NomeScript))as NomeScript;
Extreme Craft- Avançado
- PONTOS : 3276
REPUTAÇÃO : 30
Idade : 23
Áreas de atuação : C# , Blender , Unity
Respeito as regras :
Re: [RESOLVIDO] Sincronizar uma bool que não esta no player?
Olá, você pode fazer um sistema assim usando namespace, segue um exemplo de como ativar uma bool de outro script.
- Código:
// Script 1
namespace QualquerNome
{
public class Script1: MonoBehaviour
{
private Script2 m_Script2;
void Start()
{
m_Script2.GetComponent<Script2>();
}
public void AddQualquerCoisa ()
{
m_Script2.m_MinhaBool = true;
}
}
}
- Código:
// Script 2
namespace QualquerNome
{
public class Script2 : MonoBehaviour
{
public bool m_MinhaBool;
}
}
localhost- Iniciante
- PONTOS : 2308
REPUTAÇÃO : 0
Áreas de atuação : Iniciante nos estudos. C#
Respeito as regras :
Re: [RESOLVIDO] Sincronizar uma bool que não esta no player?
valeu! agora ficou mt bom fiz uma gabiarra mt loka aqui mais ta do jeito que eu queria, vlw a todos e obg pela ajuda :D
Extreme Craft- Avançado
- PONTOS : 3276
REPUTAÇÃO : 30
Idade : 23
Áreas de atuação : C# , Blender , Unity
Respeito as regras :
Tópicos semelhantes
» [RESOLVIDO] Spawn do player está perdendo referencias
» [RESOLVIDO] Script não ativa bool do animator
» [RESOLVIDO] Salvar bool
» [RESOLVIDO] Não consigo converter bool em Image...
» [RESOLVIDO] script senha para bool
» [RESOLVIDO] Script não ativa bool do animator
» [RESOLVIDO] Salvar bool
» [RESOLVIDO] Não consigo converter bool em Image...
» [RESOLVIDO] script senha para bool
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos