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
» Como ajustar velocidade de cada frame da animação no game maker
por Ralphed Ontem à(s) 18:28

» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07

» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45

» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51

» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31

» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11

» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» 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


[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