jogo. Iremos adicionar informacoes sobre a vida da personagem, a vida dos inimigos e a pontuacao atual do jogador. Para isso, iremos precisa da ajuda de um novo objeto. Nomeie-o de objeto_interface e coloque-o com depth baixa (algo em torno de -99). Lembre-se que ele nao precisa de um sprite, mas precisa estar sempre Visible.Este objeto deve estar presente em todas as rooms. Coloque-o sempre na posicao de origem (0,0) para evitar que ele fique perdido dentro da room aleatoriamente. Neste objeto so iremos trabalhar no Draw Event:{with objeto_jogador_geral do { //Quadrado que servira como base a barra de vida visual do jogador draw_set_color(c_black); draw_rectangle(x - 12, y - 20, x + 12, y - 12, 0); //Quadrado que servira como barra de vida visual do jogador draw_set_color(c_green); draw_rectangle(x - 12 , y - 20, (x - 12 + var_atributo_vida*24/var_atributo_vida_maximo), y - 12, 0); }with objeto_inimigo_geral do { if var_provocado > 0 { //Quadrado que servira como base a barra de vida visual do inimigo draw_set_color(c_black); draw_rectangle(x - 12, y - 20, x + 12, y - 12, 0); //Quadrado que servira como barra de vida visual do inimigo draw_set_color(c_green); draw_rectangle(x - 12 , y - 20, (x - 12 + var_atributo_vida*24/var_atributo_vida_maximo), y - 12, 0); } } }Este codigo usa a funcao de desenhar retangulos com a finalidade de apresentar barras de vida ao jogador e do inimigo. Porem, para um bom observador, nao foi dificil perceber um grande erro neste codigo: uma variavel que e usada, tanto para o objeto_jogador_geral quando para o objeto_inimigo_geral, que nao foi declarada em ambos, a tal da "var_atributo_vida_maximo". Isso certamente faria o jogo crashar assim que rodado. Entao temos que consertar isso. No Create Event do objeto_jogador_geral, adicione-a da seguinte forma, logo apos a ja existente "var_atributo_vida":{var_atributo_vida_maximo = var_atributo_vida;}E a mesma coisa no Create Event do objeto_inimigo_geral:{var_atributo_vida_maximo = var_atributo_vida;}Aproveitando a deixa, podemos aproveitar deste recurso para fazermos um "anti-bug". Obviamente nao queremos que a vida da personagem ou dos inimigos ultrapasse a nossa nova var_atributo_energia_maximo. Entao, no Step Event de ambos (objeto_inimigo_geral e objeto_jogador_geral), acrescente:{if var_atributo_energia > var_atributo_energia_maximo var_atributo_energia = var_atributo_energia_maximo}Mas... espere um pouco. No caso dos inimigos, esta variavel seria igual para todos eles: 0. Para que ela seja "atualizada" com o numero correto, teriamos que coloca-la depois de ter declarado seu novo valor, em todos os inimigos, de um em um. Neste caso, e uma tarefa muito facil: tinhamos criado apenas dois inimigos, entao deve ser uma tarefa facil e rapida, porem em jogos mais avancados, o mal planejamento pode levar a tortuosas horas de reparacao aos codigos. Diante de um caso destes, nos temos duas opcoes: fazer o trabalho na marra, o que e sempre a melhor opcao, pois dai pode evitar futuros bugs em determinadas ocasioes, ou entao fazer uma rapida "gambiarra". Neste caso, acho que... nao faz mal nos utilizarmos deste metodo.A ideia e fazer alguma alteracao no objeto_inimigo_geral que permita fazer com que o valor da var_atributo_vida_maximo seja atualizada dentro do jogo para todos os inimigos, automaticamente. Um meio facil para isso e recorrer aos Alarms. Crie um