Conectar-se

Esqueci minha senha

Últimos assuntos
» colisão de queda após outra colisão dando problema
Ontem à(s) 20:18 por Willy

» [Duvida] O que aprender
Seg 26 Jun 2017, 15:32 por Markituh

» BUILD FAILED: Cannot find BUILD.xml
Seg 26 Jun 2017, 14:50 por ReisBlender

» Nota de esclarecimento - GMBR voltou!
Sex 23 Jun 2017, 20:33 por Willy

» Regras do Fórum
Sex 23 Jun 2017, 19:02 por GMBR

» Retorno da GMBR!!!
Ter 24 Jan 2017, 15:43 por GMBR

» Jogo Dengue HTML
Seg 30 Nov 2015, 16:17 por guga

» Criando IA Simples para inimigos
Qua 25 Nov 2015, 19:22 por DJDAVYD

» Ordenar variavel em ordem decrescente
Sex 28 Ago 2015, 21:09 por Kodained

» Crio Trilha Sonora para Games!
Qui 27 Ago 2015, 13:50 por Isaias Malafaia

» Problema com Colisão
Qui 27 Ago 2015, 12:30 por The_Game

» Quem quer Uma Engine, e de Quê?
Qui 27 Ago 2015, 09:22 por theguitarmester

» [RESOLV]Como adicionar 2 objetos na mesma posição?
Qua 26 Ago 2015, 11:38 por Bhryenno Kelvyn Carlson

» Sistema de porta!!!
Ter 25 Ago 2015, 21:29 por theguitarmester

» Venda de objetos em Inventário - Multiplicado
Seg 24 Ago 2015, 18:33 por AG Hydra

» Atirar na direção certa
Seg 24 Ago 2015, 09:03 por theguitarmester

» Western Duels
Seg 24 Ago 2015, 07:47 por theguitarmester

» Problemas na compilação android
Dom 23 Ago 2015, 23:43 por Zero.

» Dúvida sobre strings, lendo txt
Sab 22 Ago 2015, 20:31 por Pai véi

» Como estabilizar um som
Sab 22 Ago 2015, 19:03 por Isquilo_Roedor

» Janela Modal
Sab 22 Ago 2015, 09:23 por Pai véi

» Sobre instance Creation Code
Sab 22 Ago 2015, 08:39 por Pai véi

» LudumDare #33
Sex 21 Ago 2015, 21:17 por WellingtonBecker

» Como fazer um temporizador
Sex 21 Ago 2015, 19:02 por Isquilo_Roedor

» GMS sempre salva projeto ao compilar?
Sex 21 Ago 2015, 12:32 por Pai véi

Quem está conectado
15 usuários online :: 1 usuário cadastrado, Nenhum Invisível e 14 Visitantes

Rodrigo Santiago

[ Ver toda a lista ]


O recorde de usuários online foi de 324 em Ter 05 Out 2010, 13:36

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

Página 1 de 2 1, 2  Seguinte

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

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

Mensagem por joaoneto em Seg 02 Fev 2009, 14:06

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:

Selecione o arquivo socAll.gml
Ao finalizar, seu diretório de scripts estará assim:

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:

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:

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:

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á.


Última edição por joaoneto em Qua 04 Fev 2009, 14:14, editado 1 vez(es)
avatar
joaoneto

Data de inscrição : 08/05/2008
Número de Mensagens : 36
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário http://www.deploy.net.br

Voltar ao Topo Ir em baixo

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

Mensagem por valfogo em Ter 03 Fev 2009, 01:54

até agora simples Happy só tenho que ler todos esses scripts importados, se naum num vou entender o que eles fazem só pelo nome, nem PN Happy

vlws, *CONTINUANDO O TUTO
avatar
valfogo

Data de inscrição : 16/01/2009
Número de Mensagens : 44
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   :
   :
   :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

Mensagem por CPinheiro em Dom 22 Fev 2009, 11:45

Excelente! A tempos esperava algum tutorial que ensinasse a usar a SOC, sempre quis aprender.

Agora, estou testando para ver se ela mostra resultados no Game Maker 5.3. Embora seja improvável, pode aconter, não é?
Boa sorte com as aulas.
avatar
CPinheiro

Data de inscrição : 01/06/2008
Número de Mensagens : 1015
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   :
   :
   :

Ver perfil do usuário http://supermariobrasileiro.blogspot.com

Voltar ao Topo Ir em baixo

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

Mensagem por ETraud em Sex 17 Abr 2009, 17:27

Meu deus... VOCE É O REI! xD
avatar
ETraud

Data de inscrição : 09/07/2008
Número de Mensagens : 103
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   :
   :
   :

Ver perfil do usuário http://www.studio-natch.forumeiros.com

Voltar ao Topo Ir em baixo

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

Mensagem por makgamer em Dom 17 Maio 2009, 21:08

cara seu código ra exelenteee!!!!!!!
mais desculpa por reviver o tópico mais eu testei e o chat só funsionava para quem estava no meu pc quem naum estava naum podia falar nele Sad
então eu tava pensando tem comofaser um chat por ip?
tipo no inicio do game ele pergunta teu ip ai se responde e o chat ja esta funsionando!!!!!!!
é possivel???
avatar
makgamer

Ranking : Nota D
Notas recebidas : D
Data de inscrição : 29/03/2009
Número de Mensagens : 927
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   :
   : 1
   :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

Mensagem por Natch em Qua 02 Set 2009, 00:50

Desculpa por reviver o tópico, mas essa aula esta óptima...
parabéns...
avatar
Natch

Data de inscrição : 05/06/2008
Número de Mensagens : 501
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ver perfil do usuário http://studionatch.com.sapo.pt/

Voltar ao Topo Ir em baixo

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

Mensagem por doidobr em Qui 14 Jan 2010, 19:32

Deu um erro kra,ta excrito:

ERROR in
action number 1
of Create Event
for object objStart:

Error defining an external function.

Oque pode ser?
avatar
doidobr

Data de inscrição : 21/02/2009
Número de Mensagens : 669
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   :
   :
   :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

Mensagem por Mário Valney em Qui 14 Jan 2010, 20:13

@doidobr escreveu:Deu um erro kra,ta excrito:

ERROR in
action number 1
of Create Event
for object objStart:

Error defining an external function.

Oque pode ser?

Por coincidencia eu estava estudando esse tutorial ontem.

JN PARABÉNS!!!!!!!!!!! MUITO BOM. ÓTIMO! FÁCIL DE ENTENDER! SIMPLESMENTE FODA.

Mas voltando... esse erro dá quando a soc.dll naum está na "mesma pasta" que o arquivo. Entaum pra testar tem que criar o executável ter certeza de a dll estar na mesma pasta.

Ah! E alguem ai perguntou se dá pra pessoas de computadores diferentes se comunicarem. Acho que ele nem lembra que perguntou, foi em maio, mas pode ajudar alguém... Dá sim. Mas uma das pessoas tem que "criar" o servidor (listener) no seu PC.

-Primeiro troca:

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();
}

[Foi mal JN mas eu mudei um negócio aki. Todos os créditos são do JN, dã.]

- Por:
Código:
//Iniciando o Socket
soc_init();
//Conectando ao servidor
if (!player_connect(8040,get_string('Digite o IP de um Listener válido.','127.0.0.1'))) {
    show_message("Falha ao Conectar no servidor.")
    soc_free();
    game_end();
}

1- Abre o DirectServer e coloca porta "8040" e "y" .
2 - Quando pedir o IP. Quem criou o listener no próprio PC coloca "localhost" ou "127.0.0.1" => IP local. ou só aperta OK (já tá lá o IP local)
3 - E o(s) cara(s) que naum criou(aram) o Listener (DirectServer) devem colocar o IP de quem criou.

Dá certo. Conversei com um colega do RIO perfeitamente!

Spoiler:
Foi mal re-rescussitar, mas naum poderia deixar de responder...
avatar
Mário Valney

Ranking : Nota A
Notas recebidas : A
Data de inscrição : 16/11/2009
Número de Mensagens : 203
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   :
   :
   :

Ver perfil do usuário http://www.areaonze.com

Voltar ao Topo Ir em baixo

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

Mensagem por luancarlos300 em Sex 12 Fev 2010, 22:22

Muito bom mesmo esta de parabens kara eu posso coloca at xae irado mesmo
avatar
luancarlos300

Data de inscrição : 12/02/2010
Número de Mensagens : 1
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

Mensagem por Tuche Maker em Seg 08 Mar 2010, 20:26

bora tem muito gostei
o que e esse projeto ??????????
avatar
Tuche Maker

Data de inscrição : 07/03/2010
Número de Mensagens : 39
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

Mensagem por alexs2195 em Sab 18 Set 2010, 22:30

Esse é um dos melhores tutiriais que achei no GM br
avatar
alexs2195

Data de inscrição : 25/07/2010
Número de Mensagens : 218
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

Mensagem por lucas_heitor em Seg 01 Nov 2010, 11:33

Cara eu queria saber se o GM v7.0 também funciona, porque o GM 6 eu não consigo baixar pelo teu link e sempre quando eu baixo de outros lugares da problema na hora de abri ele.
avatar
lucas_heitor

Data de inscrição : 01/11/2010
Número de Mensagens : 2
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

Mensagem por lucas_heitor em Seg 01 Nov 2010, 11:59

o galera. masi uma pergunta. O Game Maker v6.1 roda no windows vista?


Aguardo resposta e parabéns pelo tutorial.
avatar
lucas_heitor

Data de inscrição : 01/11/2010
Número de Mensagens : 2
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

Mensagem por Lauro em Qua 10 Nov 2010, 22:28

cara tou usano gmk 8.0 serve?
avatar
Lauro

Ranking : Nota D
Notas recebidas : C+D
Data de inscrição : 09/11/2010
Número de Mensagens : 854
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário http://www.google.com

Voltar ao Topo Ir em baixo

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

Mensagem por Mr. Kaleb em Qua 10 Nov 2010, 22:40

Tem que ser o Pro, não adianta ser só o 8.0
avatar
Mr. Kaleb

Ranking : Nota C
Notas recebidas : C
Data de inscrição : 07/09/2010
Número de Mensagens : 1400
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

Mensagem por Konnor em Dom 14 Nov 2010, 14:22

Eu troquei o localhost pelo ip do meu Hamachi e testei no outro computador e deu esse erro:

ERROR in
action number 1
of Create Event
for object ObjStart:

Error defining an external function

Algo assim,por que?
avatar
Konnor

Data de inscrição : 07/11/2010
Número de Mensagens : 153
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ver perfil do usuário http://socialbook.grouply.com/

Voltar ao Topo Ir em baixo

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

Mensagem por Gabreel em Dom 14 Nov 2010, 14:56

Porque o outro computador tem que estar com a DLL tb
avatar
Gabreel

Data de inscrição : 02/10/2009
Número de Mensagens : 2227
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

Mensagem por Lauro em Ter 23 Nov 2010, 20:36

The Games Never Finish... escreveu:Tem que ser o Pro, não adianta ser só o 8.0
Eu uso!Axei num link loko la e baixei.
avatar
Lauro

Ranking : Nota D
Notas recebidas : C+D
Data de inscrição : 09/11/2010
Número de Mensagens : 854
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário http://www.google.com

Voltar ao Topo Ir em baixo

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

Mensagem por Geison Barillo em Sab 01 Out 2011, 03:52

Olá senhor
Quando fui baixar o material mencionado no início deste post fui parar no 4shared.Baixei e não venho nenhum material.O que faço???
avatar
Geison Barillo

Data de inscrição : 25/09/2011
Número de Mensagens : 9
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário http:// geison-gamedesign.blogspot.com

Voltar ao Topo Ir em baixo

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

Mensagem por dudu1997 em Sab 17 Dez 2011, 00:07

Joao neto nao consigo baixar o directserver,soc.dll e nem os scripts fontes.
avatar
dudu1997

Data de inscrição : 16/12/2011
Número de Mensagens : 2
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Página 1 de 2 1, 2  Seguinte

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