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:
Como fazer Escolha de Controles para Android
NEM SEMPRE AS COISAS SAEM COMO NÓS ESPERAMOS
[____ADMINISTRADOR____] VOTAÇÃO - Eficiência do fórum
DUVIDA COMO CRIAR UM BOTÃO VIA SCRIPT
Script não compila com monodevelop
Meu Canva nao para de tremer o que fazer?
Erros nesse script
A.S TRUCK
[DEVLOG] Projeto - Girl Blade
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
pathfind (IA) para jogo em 2D? por favor ;/
[Duvida] Sistema Loja de Item's
[DÚVIDA] JOGO ESTILO AGAR.IO NO UNITY 3D
[DÚVIDA] FAZER OBJETO GIRAR EM TORNO DE SI QUANDO CLICAR E ARRASTAR O OBJETO PARA OS LADOS
tutorial dentro do jogo
[SUPER ATUALIZAÇÃO] - Android - Night Hunter RPG, Faça um teste e avalie! Alpha #5
Variável static e script de inventário
PREFAB(clone)
[Ajuda] Loop na array material
Duvidas multiplayer online em terceira pessoa
(AVALIEM) Sistema de IA para pedestre e trafego e ROTAS COM RAIN
[Resolvido]Error na Hora no Build
(Duvida)Folhas Voarem
Script de Mover - Estilo Subway Surfs
KeyStore para colocar jogo na Google Play
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
ERRO AO COMPILAR O JOGO
Erro no Script
Como rodar uma animação feita em shape keys do blender na unity?
[RESOLVIDO] DUVIDA AI DO INIMIGO
Contruir No local selecionado pelo usuario
[Duvida] A versao Do Visual Studio Influencia?
Dúvida no uso do If para esta ocasião ?
TEM COMO COLOCAR UM VIDEO NO CANVAS?
Mudar Gráfico
[_____CRONOGRAMA DO CANAL_____]
Problema com Sprite
Script de Mover
[Duvida] ScrollBar
Preciso De Um Pessoa Para Fazer Ums Sprites para Um jogo de escape
TESTAR JOGO MULTIPLAYER ONLINE
Veiculos Para o Unity!
ALTERAR DE KeyCode pra Button (ANDROID)
(Slope Skate) Novo jogo na Play Store
Modulo - Game Play Store
[Servidores Experimentais] No Exit - Beta Aberto
SERVIDOR MULTIPLAYER PARA ANDROID
[Modelo 3D] Ponte + Download grátis!
MULTIPLAYER PHOTON
Você acha essa mecânica de combate divertida ou pobre?
MULTIPLAYER ONLINE [PHOTON]
Não consigo conectar meu pc com meu celular em um multiplayer local?
EFEITO TRANSPARENTE TIPO FANTASMA
Modelo 3D - Pack com 2 portas free
Bug Easy Roads
DUVIDA ANIMAÇÕES INIMIGO
TELEPORTE "A LA MINECRAFT"(ENDERPEARL)
Criação de Servidores para jogos dentre unity
Asset de Movimento de Veiculos (ANDROID)
Como faço para apos uma animação acabar, executar outra ação C#
ESSE EO MEU JOGO QUE EU ESTOU DESENVOLVENDO (VERSAO ALPHA)
alguem sabe como eu posso colocar um joystick para mover a camera
Criando FPS Multiplayer
[AVALIAÇÃO] AVALIEM MEU JOGO MOBILE
MEU JOGO DE TERROR EM DESENVOLVIMENTO E BLOGGUER
[UPDATE DO MEU PROJETO] - Veja e avalie o sistema de combate do meu jogo!
Probleminha na animação 16bit andando...
[Duvida] Canvas, Imagens Na Frente.
[TUTORIAL] Unity 5 - Wheel Collider, veículos, suspensão realista.
[duvida] Easy Roads
Fighters for honor(Jogo da segunda guerra mundial)
[TUTORIAL] Aprenda C# - Unity 5
Mais um Teste do jogo em andamento
ERRO COM SCRIPT INDETECTÁVEL
Como girar o mundo?
[DÚVIDA FATAL]Movimentação do player
Unity Congelando
PHP e MYSQLI
PAUSE COM POP UP !
[TUTORIAL]Passar de cena ao colidir em objeto ou ao passar certo tempo
[RESOLVIDO] Tela (Screen) Android e Joystick adaptável à tela !
Tela Ajustável (Android)
[DÚVIDA] SOM SAIR QUANDO CHEGAR PERTO DE UM OBJETO
Ajuda Jogo de Luta 2D precisando de AI CPU inteligente
Parentear Objetos por script C#
[TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
BAIXE GRÁTIS MODELOS 3D (FUZIL FOTO REALÍSTICO - 22-06-2017)
ALGUEM SABE COMO POSSO DESATIVAR O LOOP DA ANIMAÇAO
Sistema de Nevoa
COMO EXPORTAR MEU PROJETO E DAR CONTINUAÇÃO POR OUTRO COMPUTADOR ?
MEU JOGO ANDROID
Asset Sistema de rajada
Preciso de Programador e Modelador para jogo de tiro futurista
[Unity] - Criar botão em C#
Bugs da Unity
Defeito com colisao
Erro estranho Invalid AABB a
não esta salvando o score
Ajuda com scripts de inimigo e player'' interação de zumbi e player''
Hoje à(s) 4:11 pm
Hoje à(s) 3:50 pm
Hoje à(s) 3:08 pm
Hoje à(s) 2:39 pm
Hoje à(s) 2:15 pm
Hoje à(s) 11:51 am
Hoje à(s) 11:44 am
Hoje à(s) 11:34 am
Hoje à(s) 10:03 am
Hoje à(s) 9:59 am
Hoje à(s) 9:53 am
Hoje à(s) 7:47 am
Hoje à(s) 5:55 am
Hoje à(s) 5:53 am
Ontem à(s) 10:55 pm
Ontem à(s) 10:55 pm
Ontem à(s) 10:54 pm
Ontem à(s) 10:25 pm
Ontem à(s) 7:49 pm
Ontem à(s) 7:47 pm
Ontem à(s) 7:07 pm
Ontem à(s) 5:21 pm
Ontem à(s) 4:46 pm
Ontem à(s) 4:41 pm
Ontem à(s) 4:21 pm
Ontem à(s) 3:58 pm
Ontem à(s) 3:54 pm
Ontem à(s) 3:48 pm
Ontem à(s) 3:48 pm
Ontem à(s) 3:24 pm
Ontem à(s) 3:18 pm
Ontem à(s) 3:02 pm
Ontem à(s) 2:55 pm
Ontem à(s) 2:53 pm
Ontem à(s) 2:11 pm
Ontem à(s) 2:06 pm
Ontem à(s) 2:05 pm
Ontem à(s) 2:03 pm
Ontem à(s) 2:01 pm
Ontem à(s) 1:52 pm
Ontem à(s) 1:51 pm
Ontem à(s) 1:39 pm
Ontem à(s) 12:16 pm
Ontem à(s) 11:01 am
Ontem à(s) 10:58 am
Seg Jun 26, 2017 10:02 pm
Seg Jun 26, 2017 9:39 pm
Seg Jun 26, 2017 8:56 pm
Seg Jun 26, 2017 8:28 pm
Seg Jun 26, 2017 6:20 pm
Seg Jun 26, 2017 5:45 pm
Seg Jun 26, 2017 5:32 pm
Seg Jun 26, 2017 2:51 pm
Seg Jun 26, 2017 10:37 am
Seg Jun 26, 2017 7:31 am
Dom Jun 25, 2017 11:02 pm
Dom Jun 25, 2017 10:18 pm
Dom Jun 25, 2017 5:51 pm
Dom Jun 25, 2017 3:51 pm
Dom Jun 25, 2017 1:59 pm
Dom Jun 25, 2017 11:50 am
Dom Jun 25, 2017 5:03 am
Dom Jun 25, 2017 2:56 am
Dom Jun 25, 2017 1:57 am
Sab Jun 24, 2017 10:36 pm
Sab Jun 24, 2017 10:12 pm
Sab Jun 24, 2017 9:50 pm
Sab Jun 24, 2017 9:31 pm
Sab Jun 24, 2017 8:27 pm
Sab Jun 24, 2017 7:12 pm
Sab Jun 24, 2017 6:26 pm
Sab Jun 24, 2017 4:44 pm
Sab Jun 24, 2017 3:42 pm
Sab Jun 24, 2017 1:39 pm
Sab Jun 24, 2017 12:41 pm
Sab Jun 24, 2017 12:32 am
Sex Jun 23, 2017 10:38 pm
Sex Jun 23, 2017 6:03 pm
Sex Jun 23, 2017 4:19 pm
Sex Jun 23, 2017 4:19 pm
Sex Jun 23, 2017 4:08 pm
Sex Jun 23, 2017 4:05 pm
Sex Jun 23, 2017 2:02 pm
Sex Jun 23, 2017 12:50 pm
Sex Jun 23, 2017 12:23 pm
Sex Jun 23, 2017 11:44 am
Sex Jun 23, 2017 7:34 am
Qui Jun 22, 2017 9:38 pm
Qui Jun 22, 2017 7:18 pm
Qui Jun 22, 2017 12:34 pm
Qui Jun 22, 2017 12:33 pm
Qui Jun 22, 2017 12:30 pm
Qui Jun 22, 2017 12:10 pm
Qui Jun 22, 2017 9:37 am
Qua Jun 21, 2017 10:19 pm
Qua Jun 21, 2017 8:39 pm
Qua Jun 21, 2017 8:34 pm
Qua Jun 21, 2017 8:08 pm
Qua Jun 21, 2017 7:35 pm
Bruno
Diego Felix
Encracker
Encracker
izacnet
Dom3000
Callyde Jr
ViniciusBr156
dstaroski
thzin
hamerom
dstaroski
Gabriel César O
Gabriel César O
lelouchsdky
marcos4503
JoelMJunior
DuViDoSo
ffabim
paulonotur
Zecandy
Duarte
marcos4503
MarcosSchultz
Duarte
Nyland
MarcosSchultz
MarcosSchultz
thzin
Diego Felix
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
fecirineu
fecirineu
ViniciusBr156
PauloFR
Édipo
Édipo
fecirineu
fecirineu
MateusWTP
fecirineu
rafaelllsd
fecirineu
Willian Wii
marcos4503
Diego Felix
dstaroski
Diego Felix
marcos4503
marcos4503
thzin
marcos4503
glauco
Gabriel César O
hen000
fecirineu
marcos4503
marcos4503
Ghosthy
michelly
LuizFixa3D
tom ramber
Callyde Jr
MarcosSchultz
Zecandy
SmithSchuldiner
Priste_Hell
Mauricio Maggot
LuizFixa3D
Callyde Jr
SmithSchuldiner
tiagoardison
SmithSchuldiner
SmithSchuldiner
Gabriel César O
Callyde Jr
marcos4503
Gregory2017
joabr
marcos4503
bitgames
Callyde Jr
marcos4503
Dom3000
edu094
Gilliard
marcos4503
Dom3000
Dom3000
marcos4503
Robinsandi

[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)
avatar
noocktall
Membro
Membro

Masculino PONTOS : 763
REPUTAÇÃO : 18
Idade : 16
Á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 ??
avatar
Pqquim
Iniciante
Iniciante

PONTOS : 587
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)
avatar
noocktall
Membro
Membro

Masculino PONTOS : 763
REPUTAÇÃO : 18
Idade : 16
Á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?
avatar
rafaelllsd
ProgramadorMaster

Masculino PONTOS : 1890
REPUTAÇÃO : 270
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
avatar
noocktall
Membro
Membro

Masculino PONTOS : 763
REPUTAÇÃO : 18
Idade : 16
Á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 ^_^
avatar
Pqquim
Iniciante
Iniciante

PONTOS : 587
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
avatar
noocktall
Membro
Membro

Masculino PONTOS : 763
REPUTAÇÃO : 18
Idade : 16
Á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