Entrar
Últimos assuntos
» Retorno da GMBR!!!por theguitarmester Ter 19 Mar 2024, 22:38
» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27
» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30
» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42
» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17
» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18
» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34
» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13
» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18
» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12
» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02
» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55
» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42
» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56
» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49
» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21
» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21
» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39
» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16
» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05
» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55
» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39
» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28
» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01
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
|
|