Eu sempre quis que o meu computador fosse tão fácil de usar como o meu telefone, o meu desejo foi realizado pois eu já não consigo descobrir como usar o meu telefone.

Script Chat em Unity

Olá,como tem muita gente com dificuldades criei um script simples com função para Chat.

Obs:

Adicione este script no seu GameObject, adicione também o componente NetworkView(esta no menu Components/Miscellaneuos/Network View.

// Declarando as Variáveis
var JanelaChatPos;
var ConexaoPos;
var retornoNet;
var MensagemParaEnviar;
var PosicaoDoScroll;
var Historico;
var HistMsg;

//Executado quando o game é iniciado, aqui carregamos algumas variáveis
function Start()
{
	PosicaoDoScroll =Vector2.zero;
	Historico = new Array ();
	MensagemParaEnviar = "escreva sua mensagem aqui";
	retornoNet = ConnectionTesterStatus.Undetermined;
}

// Aqui mandamos escrever na tela os dados das janelas
function OnGUI()
{
	JanelaChatPos = GUI.Window (0, Rect(0, 0, 300, 400), JanelaChat, "Janela de Chat");
	ConexaoPos = GUI.Window(1, Rect(301, 0, 200, 280), Conexao, "Janela de Conexão");
}

// tag RPC
@RPC

// Aqui gravamos os textos no histórico
function EnviaMsg (msg : String)
{
	Historico.Reverse();
	Historico.Push(msg);
	Historico.Reverse();
}

// Função principal do chat
function JanelaChat (ID : int)
{
	GUILayout.Label("Histórico");
	GUILayout.BeginVertical();
	PosicaoDoScroll = GUILayout.BeginScrollView (
	PosicaoDoScroll, GUILayout.Width (280), GUILayout.Height (200));

	for(var i:int=0;i < Historico.length; i++){
		GUILayout.Label(Historico[i]);
	}

	GUILayout.EndScrollView();

	MensagemParaEnviar = GUILayout.TextArea(MensagemParaEnviar);

	if (GUILayout.Button("Enviar")) {
		networkView.RPC("EnviaMsg", RPCMode.All, MensagemParaEnviar); MensagemParaEnviar = "";
	}

	GUILayout.EndVertical();
	GUI.DragWindow ();
}



// Função da Janela Conexão
function Conexao (ID : int)
{
	GUILayout.Label(retornoNet.ToString());

	if (GUILayout.Button("Testar NAT")) {
	retornoNet = Network.TestConnection();}

	GUILayout.Label("Tipo da Conexão: ");

	if (GUILayout.Button("Iniciar Servidor")){
		Network.useNat = true;
	Network.InitializeServer(6, 25002);}

	if (GUILayout.Button("Registrar Servidor")){
	MasterServer.RegisterHost("Teste1", "Teste2");}

	if (GUILayout.Button("Checar lista de Servidores") ){
		MasterServer.ClearHostList();
	MasterServer.RegisterHost("Teste1", "Teste2");}

	if (GUILayout.Button("Desconectar")){
	Network.Disconnect(200);}

	if (MasterServer.PollHostList().length != 0) {
		var hostData: HostData[] = MasterServer.PollHostList();
		for (var i:int=0; i < hostData.length;i++){
			GUILayout.Label("Jogo: " + hostData[i].gameName);
			GUILayout.Label("OnLine: " + hostData[i].connectedPlayers.ToString() + "/" + hostData[i].playerLimit.ToString());
			if (GUILayout.Button("Connectar") ){
				Network.useNat = true;
				MasterServer.RegisterHost("Teste1", "Teste2");
				Network.Connect(hostData[i].ip, hostData[i].port);
			}
		}

	}
}



// Atualiza a lista de Servidores disponíveis
function Update()
{
	MasterServer.RequestHostList("Teste1");
}

12 Respostas

  1. daniel

    muito bom emerson, sera que voce poderia me dizer uma coisa ?

    quando vai sair o tutorial 5 mmorpg, eu to acompanhando esses tutorias des do 1

    ha e mais uma coisa quando vc acabar todos os tutoriais sera que vc poderia liberar o download do projeto

    brigado pela atençao

    24/10/2011 às 22:41

  2. vlw emerson mas quando sai a parte 5?

    25/10/2011 às 9:09

  3. muitobom

    25/10/2011 às 18:43

  4. Maravilha Emerson,

    Obrigado por compartilhar.

    Quem quiser pode acompanhar meu canal onde estou documentando meu projeto de jogo tiro primeira pessoa.Espero poder compartilhar com vocês tudo o que eu souber ou que eu vir aprender.

    Procurem por Dranvos e Inscrevam-se no meu canal do youtube.

    Canal: http://www.youtube.com/user/Dranvos
    1º Vídeo: http://www.youtube.com/watch?v=OYzsvrLlYaI

    Já são 28 vídeos com:
    * scripts de dano inimigo e player ,
    * sistema missões,
    * sistema de troca de arma ,
    * Menus,
    * Sistema para interatividade na missão,
    * Compilando aplicativo para sistema Android,
    * Player Tiros instanciados,
    * Robô tiros instanciados,
    * Individualização de Inimigos (Matando o Inimigo pelo ID)
    * Explodir quando acertar (Instanciar Prefab Explosão)
    * Timer para eliminar objeto quando abatido.
    * E outras coisas. (Estou atualizando quase todos os dias).

    Estou preparando vídeos do básico e abrirei um novo canal para treinamento grátis.
    Espero poder ajudar meus amigos que assim como eu batalham para construir seus games.

    Um grande abraço,
    Jony R. Lima / Dranvos

    25/10/2011 às 20:28

  5. Alan

    vlw, mais voce poderia fazer uma video aula de como fazer um jogo com propagandas (fechadas de tela) tipo todo jogo tem.

    05/11/2011 às 19:11

  6. diego armando

    emerssom nessa tela de chat quando os personagens se encontrarem terá alguma interatividade? tipo quando um tentar converssar com o outra vai aparecer algum botão para iniciar a converssa? vai da pra ver ele converssando ou não?

    23/01/2012 às 20:36

  7. _gstv_

    da um erro diz q o script ta errado pq, e essas letras verdes tem q copiar tbm? e os paragrafos tbm tem q copiar????

    15/04/2012 às 18:38

  8. _gstv_

    da um erro diz q o script ta errado pq, e essas letras verdes tem q copiar tbm? e os paragrafos tbm tem q copiar???? da tbm um erro no scrip da parte 2 pq??????????

    15/04/2012 às 18:40

  9. Ederson

    Não consegui entender como adicionar o script de Chat já criei o script e adicionei ao projeto, mais ñ entendi essa parte.

    “Adicione este script no seu GameObject, adicione também o componente NetworkView(esta no menu Components/Miscellaneuos/Network View.”

    se poder explicar mais claramente.

    PS: ainda estou aprendendo as funções do Software.

    09/05/2012 às 14:58

  10. Hector Luiz

    Muito bom Emerson ainda nao fiz pois estou instalando o programa,mais sei que voce é um otimo programador

    25/08/2012 às 14:01

  11. guuilherme

    oq eu tenho q fazer pra criar eu n entendi nd eu no consegui fazer nd

    25/01/2013 às 16:08

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s