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

Esqueci-me da senha

Últimos assuntos
» player não consegue andar
por 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


[TUTORIAL] Jogos Online com PHP e MySql - PARTE 4

4 participantes

Ir para baixo

[TUTORIAL] Jogos Online com PHP e MySql - PARTE 4 Empty [TUTORIAL] Jogos Online com PHP e MySql - PARTE 4

Mensagem por itarodrigo Ter 17 Mar 2015, 22:35

Título: Criar jogos online PARTE 4 - Pegando e salvando dados com o GM
Versão do GM: X
Dificuldade: Fácil
Link para download da Engine: http://irgames.com.br/tutorial_1/teste_online.gmz
Requer Extensões: Não
Requer DLLs: Não
Tags: wamp, servidor, online, html5, php, mysql

Oi pessoal,

Esta é a última parte dessa sequência de tutoriais voltado para aqueles usuários que têm vontade de criar um jogo online com os dados salvos em bancos de dados.

É pré-requisito para este tutorial, ver os tutoriais anteriores:
Tutorial 1 https://gmbr.forumeiros.com/t32003-tutorial-criar-jogos-online-parte-1
Tutorial 2 https://gmbr.forumeiros.com/t32004-tutorial-criar-jogos-online-parte-2
Tutorial 3 https://gmbr.forumeiros.com/t32005-tutorial-criar-jogos-online-parte-3

Ensinarei nesse tutorial a listar no GameMaker as informações criadas no Banco de Dados criado por nós, nas aulas anteriores.

Lembrando que: Esse tutorial é para testes offline após criado todo o banco de dados e funcionando tudo ok, você poderá contratar um plano de hospedagem com suporte a mysql e php e lançar seu jogo ONLINE para todos terem acesso.

Agora vamos ao que interessa:

1 - Abra o GameMaker e crie um novo projeto.

2 - No projeto, insira uma Room e um Object.

3 - Vamos à configuração do objeto:

Evento Create
Código:
//'ranking' é a variável que irá armazenar os dados vindos do banco de dados
ranking = '';
//inserir é a variável que será enviada pra salvar um novo item
inserir = '';
//inseriu é a variavel pra saber se voce já mandou algum comando inserir
inseriu = 0;
//atualizar é a variável que irá acessar o arquivo PHP que lista as informações
atualizar = http_get("http://localhost/gmbr");

Obs: veja que no comando http_get usamos a url local: http://localhost/gmbr, porém, você pode usar qualquer url de qualquer site (tente botar http://google.com e verá que a variável irá retornar o código fonte da página do google).
Obs2: O código retorna o Código Fonte da página e não a parte visual. Por isso que no arquivo 'index.php' criado por nós no tutorial de número 3, nós demos o comando para listar apenas as informações básicas (Dados do usuário).

Evento HTTP (clique em Add Event > Asynchronous > HTTP)
Código:
//Não conheço bem o ds_map, mas sei que a variável 'atualizar'
//que usamos no evento create será responsável por criar um
if ds_map_find_value(async_load, "id") == atualizar{
    //verifica se o status (retorno) do site é 0, então tá ok
    if ds_map_find_value(async_load, "status") == 0{
    //pega o texto do site (result) e manda pra variável 'ranking'
    ranking = ds_map_find_value(async_load, "result");
    }else{
    //se der erro, a variável retorna 'nulo'
    ranking = 'nulo';
    }
}

//verifica se 'inseriu' = 1, ou seja, se voce mandou algum comando inserindo no banco
if (inseriu == 1){
if (ds_map_find_value(async_load, "id") == inserir){
    //verifica se o status (retorno) do site é 0, então tá ok
    if ds_map_find_value(async_load, "status") == 0{
        //mostra o texto da inserir.php 'salvo!'
        show_message(ds_map_find_value(async_load, "result"));
        //volta o comando a variável 'inserir' para zero
        inseriu = 0;
        //solicita uma nova atualização
        atualizar = http_get("http://localhost/gmbr");
        }else{
      //se der erro, mostra uma mensagem
      show_message('Erro ao inserir os registros');
      }
   }
}
 
Evento Draw
Código:
//a variável 'ranking_ok' irá receber a string ranking com uma alteração
//string_replace_all() troca uma parte da string por outra
//nesse caso ela irá procurar as víruglas e trocar por um jogo da velha
//o jogo da velha faz que a string pule uma linha no GM
ranking_ok = string_replace_all(ranking,',','#');
draw_text(0,0,'Tecle Enter');
//desenha o texto formatado
draw_text(x,y,ranking_ok);

Evento Press ENTER
Código:
//randomiza (faz com que os numeros gerados aleatoriamente sejam diferentes
//cada vez que se executa o jogo)
randomize();
//gera numeros de 0 a 1000
i = irandom_range(0,1000);
//irei inserir um novo usuário chamado italo e uma nova pontuacao aleatória
//usuario=italo & pontuacao=i
dados = 'usuario=italo&pontuacao=' + string(i);
//dou o 'destino' da variável inserir
inserir = http_post_string('http://localhost/gmbr/inserir.php?',dados);
//digo a variável 'inseriu' que já inseri um dado (altero ela pra 1)
inseriu = 1;

4 - Deixe a room com with = 200 e heigth = 500.

5 - Ponha o objeto criado na room e execute o Projeto.

obs: Exportando pra windows, funciona normalmente, caso queira exportar para HTML5, faça o seguinte:

-Abra a pasta do wamp 'c:\wamp\www'
-Crie uma nova pasta com o nome do seu jogo
-Exporte o jogo html5 para essa pasta
-Abra o navegador e acesse o 'localhost/nome da pasta que voce criou'

6 - Basta teclar ENTER e ver o novo registro ser inserido.

7 - Podem baixar a Engine se quiserem (link no topo).

8 - Espero que tenham gostado, aguardo suas dúvidas.


Última edição por itarodrigo em Sáb 04 Abr 2015, 10:16, editado 2 vez(es)
itarodrigo
itarodrigo

Data de inscrição : 28/08/2010
Reputação : 52
Número de Mensagens : 599
Prêmios : [TUTORIAL] Jogos Online com PHP e MySql - PARTE 4 Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

[TUTORIAL] Jogos Online com PHP e MySql - PARTE 4 Empty Re: [TUTORIAL] Jogos Online com PHP e MySql - PARTE 4

Mensagem por Gonzo Qua 18 Mar 2015, 12:05

itarodrigo vou tentar fazer alguma coisa com esse seu sistema no fim de semana, muito bacana cara Smile e vc postou td rapidão, d+ cara, sou teu fâ!
avatar
Gonzo

Data de inscrição : 29/05/2012
Reputação : 33
Número de Mensagens : 929
Prêmios : [TUTORIAL] Jogos Online com PHP e MySql - PARTE 4 Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

[TUTORIAL] Jogos Online com PHP e MySql - PARTE 4 Empty Re: [TUTORIAL] Jogos Online com PHP e MySql - PARTE 4

Mensagem por itarodrigo Qua 18 Mar 2015, 12:21

blz gonzo.

vou fazer depois, a pedido de Lupptyr, um tutorial sobre instruções SQL pra usar no mysql.
itarodrigo
itarodrigo

Data de inscrição : 28/08/2010
Reputação : 52
Número de Mensagens : 599
Prêmios : [TUTORIAL] Jogos Online com PHP e MySql - PARTE 4 Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

[TUTORIAL] Jogos Online com PHP e MySql - PARTE 4 Empty Re: [TUTORIAL] Jogos Online com PHP e MySql - PARTE 4

Mensagem por fernando.munizerthal Qui 19 Mar 2015, 14:42

Olá itarodrigo,

Utilizo o mesmo sistema em meu jogo, não li todos os tutoriais, mas utilizo Wamp e PHP para comunicar com meu banco de dados, recebendo e enviando dados..

Mas isso não seria um jogo online, certo? Seria um jogo com a necessidade de conexão com internet..

Meu conceito de jogo online pode estar errado, mas fui iludido achando que era um MultiPlayer ou MMO online hehehe

De qualquer forma ótima iniciativa..
fernando.munizerthal
fernando.munizerthal

Data de inscrição : 17/10/2013
Reputação : 0
Número de Mensagens : 76
Prêmios : [TUTORIAL] Jogos Online com PHP e MySql - PARTE 4 Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

[TUTORIAL] Jogos Online com PHP e MySql - PARTE 4 Empty Re: [TUTORIAL] Jogos Online com PHP e MySql - PARTE 4

Mensagem por itarodrigo Qui 19 Mar 2015, 14:50

online = jogo hospedado em um servidor que não é o seu.

multiplayer = jogo onde todos os jogadores jogam simultaneamente.

a diferença entre um e outro é a questão de jogar sinultaneo ou nao.
itarodrigo
itarodrigo

Data de inscrição : 28/08/2010
Reputação : 52
Número de Mensagens : 599
Prêmios : [TUTORIAL] Jogos Online com PHP e MySql - PARTE 4 Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

[TUTORIAL] Jogos Online com PHP e MySql - PARTE 4 Empty Re: [TUTORIAL] Jogos Online com PHP e MySql - PARTE 4

Mensagem por fredcobain Ter 31 Mar 2015, 10:42

Itarodrigo, essa série sobre manipulação com PHP e MySQL é de grande valia pro fórum.

Vc conseguiu mastigar um conteúdo complexo, mas de grande utilidade para os desenvolvedores. Está de parabéns!

O tutorial está muito bem organizado e muito bem explicado.

Por conta disso eu tenho grande prazer em informar que essa série agora faz parte da staff choice.

Segue link abaixo:
https://gmbr.forumeiros.com/t32086-jogos-online-com-phpmysql-por-itarodrigo#233577
fredcobain
fredcobain

Games Ranking : Sem avaliações

Data de inscrição : 14/04/2011
Reputação : 163
Número de Mensagens : 692
Prêmios : [TUTORIAL] Jogos Online com PHP e MySql - PARTE 4 Empty

Medalhas x 0 Tutoriais x 3 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

[TUTORIAL] Jogos Online com PHP e MySql - PARTE 4 Empty Re: [TUTORIAL] Jogos Online com PHP e MySql - PARTE 4

Mensagem por itarodrigo Ter 31 Mar 2015, 10:48

Fico muito feliz em estar contribuindo com a comunidade, é uma forma de retribuir a ajuda que já recebi de todos vocês aqui.

Abraços
itarodrigo
itarodrigo

Data de inscrição : 28/08/2010
Reputação : 52
Número de Mensagens : 599
Prêmios : [TUTORIAL] Jogos Online com PHP e MySql - PARTE 4 Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

[TUTORIAL] Jogos Online com PHP e MySql - PARTE 4 Empty Re: [TUTORIAL] Jogos Online com PHP e MySql - PARTE 4

Mensagem por Gonzo Sáb 04 Abr 2015, 10:24

Aew Itaro segui o tutorial e deu certinho Happy, agora só não sei hospedar em um host kkkkk, olha seria legal um mod desse seu Tutorial com arquivos ini, tó feliz de ter conseguido executar esse tutorial, ele foi muito bem explicado.
vlw.
avatar
Gonzo

Data de inscrição : 29/05/2012
Reputação : 33
Número de Mensagens : 929
Prêmios : [TUTORIAL] Jogos Online com PHP e MySql - PARTE 4 Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

[TUTORIAL] Jogos Online com PHP e MySql - PARTE 4 Empty Re: [TUTORIAL] Jogos Online com PHP e MySql - PARTE 4

Mensagem por itarodrigo Sáb 04 Abr 2015, 10:30

Fico feliz em saber que deu tudo ok.

Eu trabalho com hospedagens de site (inclusive alguns usuarios aqui do forums hospedam sites comigo) cobro a 5/mes pra quem está aprendendo aqui.

Quanto a questao do arquivo ini, o objetivo se usar banco de dados MySQL, é justamente eliminar arquivos externos.

Abraço
itarodrigo
itarodrigo

Data de inscrição : 28/08/2010
Reputação : 52
Número de Mensagens : 599
Prêmios : [TUTORIAL] Jogos Online com PHP e MySql - PARTE 4 Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

[TUTORIAL] Jogos Online com PHP e MySql - PARTE 4 Empty Re: [TUTORIAL] Jogos Online com PHP e MySql - PARTE 4

Mensagem por Gonzo Sáb 04 Abr 2015, 10:36

Só mais uma duvida Itaro como faço pra quando apertar o enter, digitar o nome do usuário e vir a pontuação correspondente ao jogo dele?

Abraço
avatar
Gonzo

Data de inscrição : 29/05/2012
Reputação : 33
Número de Mensagens : 929
Prêmios : [TUTORIAL] Jogos Online com PHP e MySql - PARTE 4 Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

[TUTORIAL] Jogos Online com PHP e MySql - PARTE 4 Empty Re: [TUTORIAL] Jogos Online com PHP e MySql - PARTE 4

Mensagem por itarodrigo Sáb 04 Abr 2015, 10:41

aí você tem que criar um sistema de digitação, veja esse exemplo: https://gmbr.forumeiros.com/t23775-script-input-box-digitar-dentro-de-caixas-de-texto
itarodrigo
itarodrigo

Data de inscrição : 28/08/2010
Reputação : 52
Número de Mensagens : 599
Prêmios : [TUTORIAL] Jogos Online com PHP e MySql - PARTE 4 Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

[TUTORIAL] Jogos Online com PHP e MySql - PARTE 4 Empty Re: [TUTORIAL] Jogos Online com PHP e MySql - PARTE 4

Mensagem por Gonzo Sáb 04 Abr 2015, 12:38

Fiz umas modificações, mais o get_string eu não fiz certo então como seria?

Código:
valor=456//variavel do valor da pontuacao da pra colocar como variavel global

dados =  'usuario=get_string  ("Digite seu nome!","")&pontuacao=' + string(valor);
avatar
Gonzo

Data de inscrição : 29/05/2012
Reputação : 33
Número de Mensagens : 929
Prêmios : [TUTORIAL] Jogos Online com PHP e MySql - PARTE 4 Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

[TUTORIAL] Jogos Online com PHP e MySql - PARTE 4 Empty Re: [TUTORIAL] Jogos Online com PHP e MySql - PARTE 4

Mensagem por itarodrigo Sáb 04 Abr 2015, 12:46

creio que seja assim:
Código:
dados =  'usuario='+get_string  ("Digite seu nome!","")+'&pontuacao=' + string(valor);

testa aí pra ver.
itarodrigo
itarodrigo

Data de inscrição : 28/08/2010
Reputação : 52
Número de Mensagens : 599
Prêmios : [TUTORIAL] Jogos Online com PHP e MySql - PARTE 4 Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

[TUTORIAL] Jogos Online com PHP e MySql - PARTE 4 Empty Re: [TUTORIAL] Jogos Online com PHP e MySql - PARTE 4

Mensagem por Gonzo Sáb 04 Abr 2015, 12:53

funcionou itarodrigo Happy  agora tá funcionando e como que reseta a pontuação xD

vlw
avatar
Gonzo

Data de inscrição : 29/05/2012
Reputação : 33
Número de Mensagens : 929
Prêmios : [TUTORIAL] Jogos Online com PHP e MySql - PARTE 4 Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

[TUTORIAL] Jogos Online com PHP e MySql - PARTE 4 Empty Re: [TUTORIAL] Jogos Online com PHP e MySql - PARTE 4

Mensagem por itarodrigo Sáb 04 Abr 2015, 13:20

oi,

para modificações no banco além de inserir, você terá que aguardar a aula de MySql.

irei preparar o mais breve possível.

Obs: por enquanto, você pode apagar manualmente indo no phpmysql e deletando os registros.

Abraço.
itarodrigo
itarodrigo

Data de inscrição : 28/08/2010
Reputação : 52
Número de Mensagens : 599
Prêmios : [TUTORIAL] Jogos Online com PHP e MySql - PARTE 4 Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

[TUTORIAL] Jogos Online com PHP e MySql - PARTE 4 Empty Re: [TUTORIAL] Jogos Online com PHP e MySql - PARTE 4

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos