Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Qui 21 Nov 2024, 13:33
» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31
» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23
» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49
» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58
» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36
» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36
» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33
» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51
» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28
» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18
» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08
» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10
» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16
» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40
» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01
» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45
» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34
» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28
» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48
» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54
» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14
» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50
Curso GM Online - 2º Lição - Primeiro teste Client/Listener
+16
Gabreel
Konnor
Mr. Kaleb
Lauro
lucas_heitor
alexs2195
Tuche Maker
luancarlos300
Mário Valney
doidobr
Natch
makgamer
ETraud
CPinheiro
valfogo
joaoneto
20 participantes
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 2
Página 1 de 2 • 1, 2
Curso GM Online - 2º Lição - Primeiro teste Client/Listener
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:
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á.
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();
}
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)
Re: Curso GM Online - 2º Lição - Primeiro teste Client/Listener
até agora simples só tenho que ler todos esses scripts importados, se naum num vou entender o que eles fazem só pelo nome, nem PN
vlws, *CONTINUANDO O TUTO
vlws, *CONTINUANDO O TUTO
valfogo- Data de inscrição : 16/01/2009
Reputação : 0
Número de Mensagens : 44
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Curso GM Online - 2º Lição - Primeiro teste Client/Listener
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.
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.
Re: Curso GM Online - 2º Lição - Primeiro teste Client/Listener
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
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???
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
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???
makgamer- Games Ranking :
Notas recebidas : D
Data de inscrição : 29/03/2009
Reputação : 7
Número de Mensagens : 941
Prêmios :
x 0 x 0 x 0
x 0 x 1 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 2.0
- Unity
- Java
- C#
- Javascript
- RPG Maker
- C ou C++
- Outros
Re: Curso GM Online - 2º Lição - Primeiro teste Client/Listener
Desculpa por reviver o tópico, mas essa aula esta óptima...
parabéns...
parabéns...
Re: Curso GM Online - 2º Lição - Primeiro teste Client/Listener
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?
ERROR in
action number 1
of Create Event
for object objStart:
Error defining an external function.
Oque pode ser?
doidobr- Data de inscrição : 21/02/2009
Reputação : 0
Número de Mensagens : 670
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Curso GM Online - 2º Lição - Primeiro teste Client/Listener
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.
-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...
Re: Curso GM Online - 2º Lição - Primeiro teste Client/Listener
Muito bom mesmo esta de parabens kara eu posso coloca at xae irado mesmo
luancarlos300- Data de inscrição : 12/02/2010
Reputação : 0
Número de Mensagens : 1
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Curso GM Online - 2º Lição - Primeiro teste Client/Listener
bora tem muito gostei
o que e esse projeto ??????????
o que e esse projeto ??????????
Tuche Maker- Data de inscrição : 07/03/2010
Reputação : 0
Número de Mensagens : 39
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Curso GM Online - 2º Lição - Primeiro teste Client/Listener
Esse é um dos melhores tutiriais que achei no GM br
alexs2195- Data de inscrição : 25/07/2010
Reputação : 0
Número de Mensagens : 218
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Curso GM Online - 2º Lição - Primeiro teste Client/Listener
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.
lucas_heitor- Data de inscrição : 01/11/2010
Reputação : 0
Número de Mensagens : 2
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Curso GM Online - 2º Lição - Primeiro teste Client/Listener
o galera. masi uma pergunta. O Game Maker v6.1 roda no windows vista?
Aguardo resposta e parabéns pelo tutorial.
Aguardo resposta e parabéns pelo tutorial.
lucas_heitor- Data de inscrição : 01/11/2010
Reputação : 0
Número de Mensagens : 2
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Curso GM Online - 2º Lição - Primeiro teste Client/Listener
cara tou usano gmk 8.0 serve?
Lauro- Games Ranking :
Notas recebidas : C+D
Data de inscrição : 09/11/2010
Reputação : 11
Número de Mensagens : 855
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Curso GM Online - 2º Lição - Primeiro teste Client/Listener
Tem que ser o Pro, não adianta ser só o 8.0
Mr. Kaleb- Games Ranking :
Notas recebidas : C
Data de inscrição : 07/09/2010
Reputação : 21
Número de Mensagens : 1400
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Curso GM Online - 2º Lição - Primeiro teste Client/Listener
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?
ERROR in
action number 1
of Create Event
for object ObjStart:
Error defining an external function
Algo assim,por que?
Re: Curso GM Online - 2º Lição - Primeiro teste Client/Listener
Porque o outro computador tem que estar com a DLL tb
Gabreel- Data de inscrição : 02/10/2009
Reputação : 52
Número de Mensagens : 2232
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 1.4
- Game Maker Studio 2.0
- Javascript
- Outros
Re: Curso GM Online - 2º Lição - Primeiro teste Client/Listener
Eu uso!Axei num link loko la e baixei.The Games Never Finish... escreveu:Tem que ser o Pro, não adianta ser só o 8.0
Lauro- Games Ranking :
Notas recebidas : C+D
Data de inscrição : 09/11/2010
Reputação : 11
Número de Mensagens : 855
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Curso GM Online - 2º Lição - Primeiro teste Client/Listener
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???
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???
Re: Curso GM Online - 2º Lição - Primeiro teste Client/Listener
Joao neto nao consigo baixar o directserver,soc.dll e nem os scripts fontes.
dudu1997- Data de inscrição : 16/12/2011
Reputação : 1
Número de Mensagens : 2
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Página 1 de 2 • 1, 2
Tópicos semelhantes
» Curso GM Online - 1º lição - Saiba como funciona um jogo Online
» Curso GM Online - 5º Lição - 1º parte - Banco de dados
» Curso GM Online - 5º Lição - 2º parte - Banco de dados
» Curso GM Online - 5º Lição - 3º Parte - Banco de Dados
» Curso GM Online - 3º Lição - Comunicação entre Clients -> Chat
» Curso GM Online - 5º Lição - 1º parte - Banco de dados
» Curso GM Online - 5º Lição - 2º parte - Banco de dados
» Curso GM Online - 5º Lição - 3º Parte - Banco de Dados
» Curso GM Online - 3º Lição - Comunicação entre Clients -> Chat
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 2
Permissões neste sub-fórum
Não podes responder a tópicos