Battle Maker

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Suporte para criação de Jogos


    Curso GM Online - 2º Lição - Primeiro teste Client/Listener

    jiraya
    jiraya
    Administrador
    Administrador


    Mensagens : 1299
    Credibilidade : 54

    Curso GM Online - 2º Lição - Primeiro teste Client/Listener Empty Curso GM Online - 2º Lição - Primeiro teste Client/Listener

    Mensagem por jiraya Sáb Jan 08, 2011 12:33 pm

    [Autor: João Neto ]
    Vamos começar esta Aula com uma má notícia: Eu não farei aulas básicas de GM.
    Posso indicar aulas e fóruns, mas não estarei ensinando o básico.
    Na Aula anterior eu falei sobre Listeners e Clients, Objetos que são a base de todo Game On-line.
    O GM por padrão possui uma Engine de Comunicação TCP, porém não iremos usá-la, por ser muito básica, pesada demais e não funcionar “Behind Router”. Todos os termos desconhecidos serão explicados no decorrer do curso.
    Usaremos como base para nossos testes e exemplos de comunicação TCP a SOC – Simple Online Communication.
    De todas as Dlls de comunicação TPC ela é a mais simples de usar, a mais rápida em comunicação e o principal, funciona tanto UDP (intranet) quanto TCP Behind Router.
    A primeira coisa a fazer é baixar os scripts Fonte, a dll e o Directserver, Aqui.
    Ao terminar o Download, crie um novo projeto no GM. Crie uma pasta para ele, e chame-o de Client. Dentro da pasta onde salvou o projeto, coloque a soc.dll.
    Volte ao projeto. Clique no menu Scripts -> Import Scripts como mostra a figura abaixo:
    Curso GM Online - 2º Lição - Primeiro teste Client/Listener 97251377rv8
    Selecione o arquivo socAll.gml
    Ao finalizar, seu diretório de scripts estará assim:
    Curso GM Online - 2º Lição - Primeiro teste Client/Listener 42031539cr0
    Usaremos este primeiro teste como exemplo para todas as próximas lições então, lembre-se, os passos acima são os iniciais SEMPRE que começar um novo projeto On-line no GM.
    Para efetuarmos um primeiro teste, não criaremos o Listener.
    Usaremos o Directserver, um Listener Básico que vem com o soc.dll para testes de comunicação.
    A primeira coisa a fazer é iniciar o Directserver. Ao iniciá-lo, ele pergunta qual porta ele deve “escutar”.
    Digite 8040 e pressione Enter.
    Ele perguntará se ele deve mostrar as mensagens recebidas, aperte Y e pressione Enter.
    Ao fazer isso a primeira vez, o Firewall do Windows pedirá permissão para desbloquear a porta para o aplicativo. Desbloqueie. Observe a figura abaixo:
    [img width=684 height=431][Tens de ter uma conta e sessão iniciada para poderes visualizar este link]
    Pronto. Qualquer comunicação TCP que chegar à porta 8040 agora será “escutada” pelo Directserver.
    Vamos fazer um teste??
    Crie um Objeto, Chame-o de objStart. Adicione um Evento Create, e nele um Execute a Piece of Code. Neste Execute, adicione as seguintes linhas:
    Código:
    //Iniciando o Socket
    soc_init();
    //Conectando ao servidor
    if (!player_connect(8040, "localhost")) {
        show_message("Falha ao Conectar no servidor.")
        soc_free();
        game_end();
    }
    Mas o que fizemos aqui??
    Antes de mais nada iniciamos a dll. Na verificação abaixo, aguardamos um retorno verdadeiro da função de conexão, onde passamos como parâmetro a porta selecionada no directserver e o nome LocalHost. Se você já fez algum jogo Online, sabe que LocalHost significa sua máquina Local, ou seja, não há necessidade de se colocar um IP.
    Agora sim. Crie uma room, coloque o objStart nela e execute o jogo. Se foi tudo feito como foi falado aqui, seu DirectServer deve mostrar a seguinte mensagem:
    Curso GM Online - 2º Lição - Primeiro teste Client/Listener 77858452yr4
    Observe que ele está mostrando o IP como 127.0.0.1. Este é o IP interno padrão de todo computador, Podemos usar tanto ele, quanto LocalHost quanto o nome da máquina.
    Ao fechar o jogo, o DirectServer mostrará a seguinte mensagem:
    Curso GM Online - 2º Lição - Primeiro teste Client/Listener 43774567ka2
    Bom. De ínício, vimos que não é tão “complexo” iniciar a Dll e os scripts do SOC.
    Não criamos o servidor pois usamos um padrão e, de cara, não fizemos nada além de ver o servidor dizer que estávamos conectados(e como Player 2 ainda... Mas onde está o Player 1??) mas demos um grande passo.
    Eu configurei os scripts para facilitar a sua vida inicialmente, o script padrão que vem é bem mais complexo, usando a dll fora da pasta do jogo, usando constantes e outras chatices.
    Bem, começamos... Vamos tentar não parar no meio do caminho agora.
    Na próxima lição, vamos construir um Client de chat Simples, ainda usando o DirectServer como Servidor.
    Até lá.

      Data/hora atual: Qui Nov 28, 2024 2:44 am