comando: [command] void CmdEnviar nao esta funcionando multiplayer Unet
Página 1 de 1
comando: [command] void CmdEnviar nao esta funcionando multiplayer Unet
estou com um comando de chat (ate q enfim ;- porem não reconhece quem e o host([command]) e quem e o cliente ([ClientRpc]) o cogido esta ai
OBS: desculpe mais n vou levar 1 hora para passar o código todo bonitinho aqui, com o troço pra quem não ta cadastrado ver e talz não, pois esta todo bugado e vai ficar tao picotado q ngm vai me ajudar. pelo oq eu vi n tem nada nas regras sobre isso
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.Networking;
[NetworkSettings(channel = 1, sendInterval = 0.1f)]
public class ChatScript : NetworkBehaviour
{
public Text TxtTexto;
public InputField inputField;
public int gam;
public bool init;
void Start ()
{
TxtTexto = GameObject.Find("TxtTexto").GetComponent<Text>();
inputField = GameObject.Find("input").GetComponent<InputField>();
}
// Update is called once per frame
void Update ()
{
gameObject.GetComponent<NetworkIdentity>().RebuildObservers(init);
if (!isLocalPlayer)
return;
if(Input.GetKeyDown(KeyCode.Return))
{
if(inputField.text != "")
{
string Mensaje = inputField.text;
inputField.text = "";
CmdEnviar (Mensaje);
}
}
}
[Command] //esta linha do código não esta funcionando
void CmdEnviar(string mensaje)
{
RpcRecivir (mensaje);
}
[ClientRpc] // nem esta
public void RpcRecivir(string mensaje)
{
TxtTexto.text += ">>" + mensaje + "\n";
}
}
(OBS este código possui copyrigt/direitos autorais e sla mais oq)
eu estou usando o networkIdentity , porem eu não (NAO) estou usando o networkManager para dar Spawn no player.
eu chequei umas coisas e vi q se for criado com o networkmanager ele fica com um troço chamado observer e talz
projeto do cara:
https://github.com/HectorPulido/Unity-Unet-Chat
nele esta funcionando porem eu acho horrível o GUI da unity e fiz um meu por isto não estou usando o networkManager já que ele n possibilita uma edição
se vc reparar no player dele quando instancia ele possui este observer,porem o meu não, teria uma forma de faze-lo vir via script
se alguém consegue ou sabe onde tem o script da networkManager para eu estudar como eles poe o observer
desculpe erros estou há 4 dias tentando fazer isso, algo sim algo q eu já tenho eu so quero sincronizar 4 (QUATRO) letras alfanuméricas de um pc, para o outro,para vcs entenderem doq eu quero ser simples e so um básico nome.
OBS: desculpe mais n vou levar 1 hora para passar o código todo bonitinho aqui, com o troço pra quem não ta cadastrado ver e talz não, pois esta todo bugado e vai ficar tao picotado q ngm vai me ajudar. pelo oq eu vi n tem nada nas regras sobre isso
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.Networking;
[NetworkSettings(channel = 1, sendInterval = 0.1f)]
public class ChatScript : NetworkBehaviour
{
public Text TxtTexto;
public InputField inputField;
public int gam;
public bool init;
void Start ()
{
TxtTexto = GameObject.Find("TxtTexto").GetComponent<Text>();
inputField = GameObject.Find("input").GetComponent<InputField>();
}
// Update is called once per frame
void Update ()
{
gameObject.GetComponent<NetworkIdentity>().RebuildObservers(init);
if (!isLocalPlayer)
return;
if(Input.GetKeyDown(KeyCode.Return))
{
if(inputField.text != "")
{
string Mensaje = inputField.text;
inputField.text = "";
CmdEnviar (Mensaje);
}
}
}
[Command] //esta linha do código não esta funcionando
void CmdEnviar(string mensaje)
{
RpcRecivir (mensaje);
}
[ClientRpc] // nem esta
public void RpcRecivir(string mensaje)
{
TxtTexto.text += ">>" + mensaje + "\n";
}
}
(OBS este código possui copyrigt/direitos autorais e sla mais oq)
eu estou usando o networkIdentity , porem eu não (NAO) estou usando o networkManager para dar Spawn no player.
eu chequei umas coisas e vi q se for criado com o networkmanager ele fica com um troço chamado observer e talz
projeto do cara:
https://github.com/HectorPulido/Unity-Unet-Chat
nele esta funcionando porem eu acho horrível o GUI da unity e fiz um meu por isto não estou usando o networkManager já que ele n possibilita uma edição
se vc reparar no player dele quando instancia ele possui este observer,porem o meu não, teria uma forma de faze-lo vir via script
se alguém consegue ou sabe onde tem o script da networkManager para eu estudar como eles poe o observer
desculpe erros estou há 4 dias tentando fazer isso, algo sim algo q eu já tenho eu so quero sincronizar 4 (QUATRO) letras alfanuméricas de um pc, para o outro,para vcs entenderem doq eu quero ser simples e so um básico nome.
Extreme Craft- Avançado
- PONTOS : 3277
REPUTAÇÃO : 30
Idade : 23
Áreas de atuação : C# , Blender , Unity
Respeito as regras :
Tópicos semelhantes
» Problema com [Command] -Multiplayer-
» -Multiplayer- Parametros para funcao [Command]
» como eu consigo chamar uma void pelo comando Input.GetKey?
» [DÚVIDA](Multiplayer) Comando para non-Player object
» Unet MultiPlayer GLobal!
» -Multiplayer- Parametros para funcao [Command]
» como eu consigo chamar uma void pelo comando Input.GetKey?
» [DÚVIDA](Multiplayer) Comando para non-Player object
» Unet MultiPlayer GLobal!
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos