SchultzGames
Para tirar dúvidas, crie um tópico especifico na área "Dúvidas em Geral" e aguarde ser respondido. Evite comentar em tópicos não relacionados a sua dúvida Very Happy
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
Modelagem de personagem e cenário
[TUTORIAL] Sistema de DIA E NOITE completo, com luzes noturnas e SISTEMA DE NUVENS
Jogo 2d com obstáculos em movimento que quando batem no personagem ele vai para debaixo do chão
Problema com o MonoDevelop
Blender e Unity - Tutorial RPG tutoriais
Blend Tree com Mouse (Ajuda)
Realistic Grass - Test 1
tenho um script que faz o zombie atacar o jogador e tirar vida so que nao esta funcionando alguem pode me ajudar
Como usar uma animação de uma arma animada na Unity...
Pegar Componentes de uma array!
Jogo Dengame na Play Store. (Baixe agora)
problemas ao exportar do sketchup ao unity
Separar um modelo .obj em varios outros pequenos
MIRA DE JOGO DE FPS!
navMash problema com debug.log
MoonthyStudios está recrutando
COMO FAZER JOGO DE FPS!
Velocimetro Digital
Como melhorar desempenho de animações
Ajuda com Script "NullReferenceException: Object reference not set to an instance "
[RESOLVIDO] Cena não abre
[TUTORIAL] Script de pulo para jogos 3D em geral (Unity - C#)
[AJUA] JOGO MUDO SEM SOM!!!
[_____CRONOGRAMA DO CANAL_____]
Sistema CFD com Unity: Simular partículas com colisão em túnel de vento
TELA ROSA NO GAME
Como usar o Multi Touch para movimentar um personagem ?
[DUVIDA] Script Não Funciona
Limite e Volta no transform translate
Duvida com script
Ajudem com efeito "gelatina" em modelos.
Inteligência Artificial
Como fazer 1 Portal
Existe algum tipo de FPSController para android?
Cena Loading para carregar proximo Level
Script cria 3 objetos ao apertar botão uma vez ERROR
Juntar 2 projetos em um unico
[Assets/Scripts] Repositório no Github com sistemas free.
[____TÓPICO LIVRE____] FALE O QUE QUISER
[AJUDA] Carro virando rapido de mais
[RESOLVIDO] Instanciar um objeto como filho
Cor
Laqua - Jogo de slá oque
Jogo para Android, testem por favor
//Script com tuto//
[TUTORIAL] UNITY 5 - Efeito submerso (underwater effect), distorção da água e gotas na tela
[RESOLVIDO] Rádio por distancia
saindo do jogo caso um programa não estiver aberto
QUIOFOBIA DEMO-JOGO DE TERROR INDIE
[RESOLVIDO] Script destruir apenas o objeto que o tem
SISTEMA DE CARGA
[ERRO] Unity Bug Reporter
RIGIDBODY IR PARANDO DE QUICAR
Procurando animador
Sistema de build place
[2 interiores Modelo] + Download Grátis --Para uso comercial!
Pode coolocar os jogos que aprendeu a fazer no youtube a venda?
sistema de combos e danos
PRECISO DE UMA PESSOA QUE DESENHE PERSONAGEM E CENARIO
Modelos 3D
ROLLER BALL DO STANDARD ASSETS
SCRIPT DE INTELIGENCIA ARTIFICIAL PARA ZUMBI, DESVIAR DE OBJETOS E ATACAR JOGADOR
[Resolvido]Trocar cena ao eliminar objetos
Menu Right Click igual Tibia
Sistema de Skins estilo CsGo ou Critical Ops...
[RESOLVIDO] Carro flutuando
[TUTORIAL] Unity 5 - Como criar o próprio FPS Controller
// RAIN no unity//
[DÚVIDA]Texto Não Aparece Unity 5
Texturização para Game em android
Como fazer aparecer notificações no celular android?
[RESOLVIDO]Erro com script OnTriggerEnter e BoxCollider
[TUTORIAL] Unity 5 - Wheel Collider, veículos, suspensão realista.
Testem meu Jogo de Aventura
[Assets] modelos 3d
[TUTORIAL] Unity 5 - Porta automática
como criar um jogo igual a guitar hero?
(Dúvida) Erro criar sala com Photon.
Dicas para otimizar o meu jogo
Sistema de construção estilo habbo
[ERRO] Fatal Error Unity!!!
Fazer um Certo Ponto da mesh mudar de cor como um botão piscando
PlayerPrefs
Dúvida sobre instantiate!
Footsteps no CharacterController (Unity 5)
Como fazer objetos não atravessar paredes usando transform.Translate?
Quando meu inimigo morre todos morrem, alguem ajuda ?
Asset Store
Mudar cor de um material por Script de forma suave
[Dúvida] Otimização
[DUVIDA] Como utilizar o touch no Android em um jogo 2D
[TUTORIAL] Spawn de objetos aleatorios em lugares aleatorios
Mudança no NavMeshAgent?
Script para saber se ena está ativa ou carregada
Duvida
Inserir uma página da web dentro do meu jogo
[TUTORIAL] Acessar propriedades dos SHADERS através de SCRIPTS
// Sistema de Afogamento//
Inimigo seguir quando ver o player
Hoje à(s) 9:00 am
Hoje à(s) 8:48 am
Hoje à(s) 8:33 am
Hoje à(s) 5:57 am
Hoje à(s) 5:53 am
Hoje à(s) 3:17 am
Hoje à(s) 2:35 am
Hoje à(s) 2:03 am
Hoje à(s) 12:19 am
Ontem à(s) 11:15 pm
Ontem à(s) 9:18 pm
Ontem à(s) 8:42 pm
Ontem à(s) 8:27 pm
Ontem à(s) 8:26 pm
Ontem à(s) 8:25 pm
Ontem à(s) 8:05 pm
Ontem à(s) 5:46 pm
Ontem à(s) 3:53 pm
Ontem à(s) 3:37 pm
Ontem à(s) 3:22 pm
Ontem à(s) 3:18 pm
Ontem à(s) 3:15 pm
Ontem à(s) 3:11 pm
Ontem à(s) 3:08 pm
Ontem à(s) 3:05 pm
Ontem à(s) 2:53 pm
Ontem à(s) 2:52 pm
Ontem à(s) 2:51 pm
Ontem à(s) 2:39 pm
Ontem à(s) 2:38 pm
Ontem à(s) 2:25 pm
Ontem à(s) 2:25 pm
Ontem à(s) 2:24 pm
Ontem à(s) 2:21 pm
Ontem à(s) 2:16 pm
Ontem à(s) 12:32 pm
Ontem à(s) 9:17 am
Ontem à(s) 4:13 am
Ontem à(s) 12:07 am
Dom Fev 26, 2017 6:34 pm
Dom Fev 26, 2017 2:15 pm
Dom Fev 26, 2017 1:51 pm
Dom Fev 26, 2017 10:42 am
Dom Fev 26, 2017 10:32 am
Dom Fev 26, 2017 10:09 am
Dom Fev 26, 2017 5:38 am
Dom Fev 26, 2017 5:27 am
Dom Fev 26, 2017 5:24 am
Dom Fev 26, 2017 4:59 am
Dom Fev 26, 2017 4:33 am
Sab Fev 25, 2017 7:02 pm
Sab Fev 25, 2017 6:30 pm
Sab Fev 25, 2017 6:27 pm
Sab Fev 25, 2017 3:13 pm
Sab Fev 25, 2017 3:50 am
Sex Fev 24, 2017 11:38 pm
Sex Fev 24, 2017 10:38 pm
Sex Fev 24, 2017 10:10 pm
Sex Fev 24, 2017 9:31 pm
Sex Fev 24, 2017 8:40 pm
Sex Fev 24, 2017 8:39 pm
Sex Fev 24, 2017 7:26 pm
Sex Fev 24, 2017 7:17 pm
Sex Fev 24, 2017 6:12 pm
Sex Fev 24, 2017 3:54 pm
Sex Fev 24, 2017 9:44 am
Qui Fev 23, 2017 2:50 pm
Qui Fev 23, 2017 12:06 pm
Qua Fev 22, 2017 11:32 pm
Qua Fev 22, 2017 8:27 pm
Qua Fev 22, 2017 8:19 pm
Qua Fev 22, 2017 3:15 pm
Qua Fev 22, 2017 9:18 am
Qua Fev 22, 2017 12:36 am
Ter Fev 21, 2017 8:45 pm
Ter Fev 21, 2017 4:40 pm
Ter Fev 21, 2017 11:42 am
Ter Fev 21, 2017 11:25 am
Seg Fev 20, 2017 10:43 pm
Seg Fev 20, 2017 10:00 pm
Seg Fev 20, 2017 9:04 pm
Seg Fev 20, 2017 9:02 pm
Seg Fev 20, 2017 9:00 pm
Seg Fev 20, 2017 8:56 pm
Seg Fev 20, 2017 8:49 pm
Seg Fev 20, 2017 8:46 pm
Seg Fev 20, 2017 8:44 pm
Seg Fev 20, 2017 8:42 pm
Seg Fev 20, 2017 8:40 pm
Seg Fev 20, 2017 8:36 pm
Seg Fev 20, 2017 8:28 pm
Seg Fev 20, 2017 8:25 pm
Seg Fev 20, 2017 8:23 pm
Seg Fev 20, 2017 8:19 pm
Seg Fev 20, 2017 8:14 pm
Seg Fev 20, 2017 8:12 pm
Seg Fev 20, 2017 7:37 pm
Seg Fev 20, 2017 3:35 pm
Seg Fev 20, 2017 3:19 pm
KNouT
glauco
Jogos mini
Callyde Jr
Callyde Jr
wender
Madness
wender
artplayer
rafaelllsd
Hardencio
thiagograssi
lucasfera15
lucasfera15
dstaroski
dstaroski
PauloFR
Junim
sabbath
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
thiagograssi
AndyShow
dimmuo
PauloFR
Junim
PauloFR
richerd
dstaroski
dstaroski
Zecandy
Aprendiz
AndyShow
AndyShow
AndyShow
AndyShow
AndyShow
AndyShow
AndyShow
diogodavilafernandes
AndyShow
MateusWTP
zBanidor
AndyShow
joabr
Junim
lucasfera15
PauloFR
PauloFR
AndyShow
weslleyFx
AndyShow
MarcosSchultz
Zecandy
Blue Ark
DoctorGame15
PauloFR
PauloFR
Fábiow775
MateusWTP
PauloFR
silva75
thiagograssi
rafaelllsd
MarcosSchultz
Luiz Mauro TCC
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
CanabravaBR
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
Zecandy
AndyShow

[TUTORIAL]Network basico (legacy)

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

TUTORIAL [TUTORIAL]Network basico (legacy)

Mensagem por noocktall em Sab Dez 12, 2015 7:48 pm

Ola pessoal... sou novo aqui mas sou experiente em C#(basico) como eu não vi nenhum tutorial desse tipo eu decidi trazer um, embora seja um método antigo ainda funciona vamos para o tutorial Smile

Indice




  • Criando um Servido
  • Criando um Client
  • Extras


Criando um Servido



primeiro vamos criar um novo script C#, bote um nome que quiser
vamos declarar umas variáveis e criar umas voids
Código:
private const string typeName = "NomeDoJogo";
private const string gameName = "NomeDaSalaOuServer";
private const string gameComent = "ComentarioDoServer";
private Rect windowRect = new Rect (Screen.width - 200,0,200,135); //(posisao em X, posisao em Y, largura, altura)
 
private void StartServer()
{
    Network.InitializeServer(50, 25000, !Network.HavePublicAddress());//(maximo de players, porta para conectar, se usa Nat)
    MasterServer.RegisterHost(typeName, gameName, gameComent);
    Network.sendRate = 100;//máximo updates por farme do player
    MasterServer.updateRate = 100; //máximo de updates do server
}
com isso o servido ja estaria pronto Neutral mas não e so isso que queremos certo ?
vamos fazer um método OnGUI para criar um botao de iniciar o server
Código:
void OnGUI()
{
    windowRect = GUI.Window (1, windowRect, windowManager, "Painel de Controle");
}

void windowManager (int windowID)
{
    windowID = 1;
    if (!Network.isClient && !Network.isServer)
    {
        if (GUI.Button(new Rect(5, 25, 110, 30), "Ligar Server"))//(GUI.Button(new Rect(posisao X dentro do painel, posisao Y dentro do painel, largura, autura), "Ligar Server"))
            StartServer();
    }
}
desse jeito apenas quem não e o client(player conectado ao server) ou o próprio server pode aperta o botão
com isso a parte do servido esta pronta...
Ficarar mais ou menos assim no jogo


Criando um Client



Agora vamos fazer um novo script C#, com o nome que quiser
vamos declarar algumas variáveis e voids
Código:

private HostData[] listaDeServers;
private const string typeName = "NomeDoJogoUtilizadoNoScriptAcima";
private Rect windowRect = new Rect (50, 50, 500, 350);//(posisao em X, posisao em Y, largura, altura)

void Awake ()
{
    MasterServer.ClearHostList();
    ProcurarServers();
}

private void ProcurarServers()
{
    MasterServer.ClearHostList();

    if(listaDeServers == null)
        MasterServer.RequestHostList(typeName);
}
 
void OnMasterServerEvent(MasterServerEvent msEvent)
{
    if (msEvent == MasterServerEvent.HostListReceived)
        listaDeServers= MasterServer.PollHostList();
}

private void EntrarNoServer(HostData hostData)
{
    Network.Connect(hostData);
}
com isso podemos procurar servers e entrar nele também...
vamos fazer ums botoes com a OnGUI para nos ajudar a entrar no server
Código:
void OnGUI()
{
    windowRect = GUI.Window(0, windowRect, WindowFunction, "Serves Onlines");
}

void WindowFunction (int windowID)
{
    windowID = 0;
    if (GUI.Button(new Rect(5, 295, 100, 50), "Refresh Hosts"))
        ProcurarServers();
    if (listaDeServers != null)
    {
        for (int i = 0; i < listaDeServers.Length; i++)
        {
            if (GUI.Button(new Rect(240, 25 + (50 * i), 250, 70), listaDeServers[i].gameName + "\n" + listaDeServers[i].comment + "\n" + "Users Onlines:" + listaDeServers[i].connectedPlayers + " Max Users:" + listaDeServers[i].playerLimit))//(GUI.Button(new Rect(posisao em X, posisao em Y + (posisao em Y² * i), largura, altura), listaDeServers[i].gameName + "\n" + listaDeServers[i].comment + "\n" + "Users Onlines:" + listaDeServers[i].connectedPlayers + " Max Users:" + listaDeServers[i].playerLimit))
                 EntrarNoServer(listaDeServers[i]);
        }
    }
}
com isso ja temos um meio de entrar no server se atribuímos esse script a algum objeto podemos ver que irar funcionar

podemos colocar o script de iniciar o server em um projeto e compilar para servi apenas como iniciador do server
e podemos colocar o script de conectar ao server no jogo para podemos entrar e conectar Very Happy

Extras!!



*Em Construção*
embora os scripts tenham fechado no "}" ainda podemos aperfeiçoa-los

Extras para o script servido



Fazer Shutdown(Desligar) do server:
embora quando você da Stop(na unity) ou feixa o jogo, o server e automaticamente fechado forçadamente...
mas podemos fechar manualmente quando quisermos, para isso vamos adicionar ao script do server uma nova void
Código:
private void FeixarServer()
{
    if (!Network.isClient && Network.isServer)//apenas server pode executar a ação
    {
        Network.Disconnect(200);//damos um desconect seguro no player
        MasterServer.UnregisterHost();//feixamos o server
    }
}
agora para chamar ela vamos adicionar algumas linhas na void windowManager
Código:
if(Network.isServer)
{
    if (GUI.Button(new Rect(5, 60, 110, 30), "Shutdown Server"))
        ShutdownServer();
}
com isso irar ter um novo botão no painel de controle que irar aparecer apenas quando o server iniciar  Very Happy

Extras para o script client


Botao de Desconectar:
com esse script podemos deixar o player se desconectar do server apertando um botão
podemos atribuir os codigos a outro script como um de menu pause ou criar um script para essa função...
vamos utilizar a void OnGUI, o codigo
Código:

if (Network.isClient){
    if (GUILayout.Button("Desconectar do servidor"))
        if (Network.connections.Length == 1) {
            Debug.Log("Disconnecting: " + Network.connections[0].ipAddress + ":" + Network.connections[0].port);
                Network.CloseConnection(Network.connections[0], true);
        } else
            if (Network.connections.Length == 0)
                Debug.Log("Não ha Conexão"); //aqui podes colocar algo para quando não esta conectado ao server... (nescesario retirar o if(network.isclient))
            else
                if (Network.connections.Length > 1)
                    Debug.Log("Excesso de conexões. Será que estar executando o servidor??");//aqui podes colocar algo para caso o hoster(você?) queira desconectar do jogo...
}


Editado no dia (20/12/2015) as [03:00] AM


Última edição por noocktall em Dom Dez 20, 2015 4:29 am, editado 1 vez(es)

noocktall
Membro
Membro

Masculino PONTOS : 643
REPUTAÇÃO : 18
Idade : 15
Áreas de atuação : progamação
Respeito as regras :

Ver perfil do usuário http://kuork.org

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL]Network basico (legacy)

Mensagem por Pqquim em Seg Dez 14, 2015 9:56 am

Bom Tutorial , mas como eu colocaria o jogo para se adequar em multiplayer ??

Pqquim
Iniciante
Iniciante

PONTOS : 467
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL]Network basico (legacy)

Mensagem por noocktall em Seg Dez 14, 2015 12:58 pm

depende do jogo... é aconselho usar o UNet da unity(5.1+) ou Photon, pois o método que eu postei ai e antigo demais alem que o master server que você hospedaria o jogo e da propiá unity deixa a desejar ficar sem leg


Última edição por noocktall em Ter Dez 15, 2015 11:26 am, editado 1 vez(es)

noocktall
Membro
Membro

Masculino PONTOS : 643
REPUTAÇÃO : 18
Idade : 15
Áreas de atuação : progamação
Respeito as regras :

Ver perfil do usuário http://kuork.org

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL]Network basico (legacy)

Mensagem por rafaelllsd em Seg Dez 14, 2015 5:56 pm

Esse sistema, 2 pessoas poderia jogar via servidor, hamachi? ou é só para o mesmo pc e outras linhas ligadas nele Ex: Lan house?

rafaelllsd
ProgramadorMaster

Masculino PONTOS : 1396
REPUTAÇÃO : 134
Idade : 16
Áreas de atuação : Programação C#.
Modelagem Básica.
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL]Network basico (legacy)

Mensagem por noocktall em Ter Dez 15, 2015 11:22 am

nesse caso não precisa de hamachi pois você ta hospedando na propiá unity, e sim da para jogar de 2, 3 ou ate mais só talvez haja leg

noocktall
Membro
Membro

Masculino PONTOS : 643
REPUTAÇÃO : 18
Idade : 15
Áreas de atuação : progamação
Respeito as regras :

Ver perfil do usuário http://kuork.org

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL]Network basico (legacy)

Mensagem por Pqquim em Qui Dez 17, 2015 3:32 pm

Noock tem como me ajudar a colocar meu game on ? ficaria muito grato ^_^

Pqquim
Iniciante
Iniciante

PONTOS : 467
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL]Network basico (legacy)

Mensagem por noocktall em Sex Dez 18, 2015 4:19 pm

Pqquim escreveu:Noock tem como me ajudar a colocar meu game on ? ficaria muito grato ^_^
sim, e só me manda um PM com seu skype para min ;D

noocktall
Membro
Membro

Masculino PONTOS : 643
REPUTAÇÃO : 18
Idade : 15
Áreas de atuação : progamação
Respeito as regras :

Ver perfil do usuário http://kuork.org

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum