Como fazer vida do Player diminuir

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Como fazer vida do Player diminuir

Mensagem por ctrgui em Dom 30 Mar 2014, 11:38

Gente, sem querer ser muito pidão porque eu peço muitas coisas aqui:
como eu faço pra vida do meu player diminuir? Aqui o codigo do step dele:
Spoiler:

Código:
if(die=1){die_timer+=1;if(die_timer=30){crash_respawn();}exit;}

if(y>room_height)
  {
  aku=-1;
  killed=1;
  crash_die('angel');
  exit;
  }

if(place_free(x,y+1))
  {
  if!(vspeed<0){y+=1;}
  gravity_direction=270;gravity=0.5;
  if(pressed=vk_left||pressed=vk_right){sprite_index=spr_crash_jump2;}else{sprite_index=spr_crash_jump;}
  }
else
  {
  gravity_direction=270;
  gravity=0;
  }
if(vspeed>10){vspeed=10;}

if(!die)
  {
  if(keyboard_check(vk_left))
    {
    if(place_free(x-HSpeed,y-3))
      {
      x-=HSpeed;
      y-=3;
      move_contact_solid(270,3);
      lastpressed=vk_left;
      pressed=vk_left;
      }
    }else
  if(keyboard_check(vk_right))
    {
    if(place_free(x+HSpeed,y-3))
      {
      x+=HSpeed;
      y-=3;
      move_contact_solid(270,3);
      lastpressed=vk_right;
      pressed=vk_right;
      }
    }else
  pressed=vk_nokey;
  }

// Spin control
if(!spintimer=0){spintimer-=1;}if(spintimer<10){spin=0;with(obj_crash_spin){instance_destroy();}}

// Sprite control
if(pressed=vk_nokey&&!place_free(x,y+1)){sprite_index=spr_crash_stand;}
if((pressed=vk_left||pressed=vk_right)&&vspeed=0){sprite_index=spr_crash_walk;}

if(spin=1){sprite_index=spr_crash_spin;}

if(sprite_index=spr_crash_jump||sprite_index=spr_crash_jump2){image_speed=0.3;}else{image_speed=1;}

// Health control (Aku Aku)
 // Destroy Aku Aku when variable aku = -1
if(aku=-1&&instance_exists(obj_aku)){with(obj_aku){instance_destroy();}}
 // Timer for invincibility
if(aku_invincible_timer>0){aku_invincible_timer-=1;}else{sound_stop(sfx_akuakuinvincible);}
 // Timer to escape when hit
if(hit_timer>0){hit_timer-=1;}

Aí todos os objetos que matam ele tem o "parent" como obj_hurtcrash_parent, ou seja, que mata ele. Eu já tentei colocar a varíavel lifescore-=1, mas ainda sim não reduz. O que eu faço?

ctrgui

Número de Mensagens : 34
Data de inscrição : 22/03/2014
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Como fazer vida do Player diminuir

Mensagem por Superbomber_MuyMacho em Dom 30 Mar 2014, 11:50

1° Caso você esteja usando a barrinha de vida padrão do Game Maker a variável não é essa, é health. Caso não, desconsidere isso...


2° Talvez você esteja colocando o nome da variável errada(Assim ao invés de diminuir o life ele está criando uma variável diferente).


3° Também depende de como você está usando o lifescore-=1, e em qual evento está usando ele, Se o seu problema não for solucionado mostra o código que você usa para diminuir o lifescore, e diz em qual evento você está usando.


Espero ter ajudado. blz 

Superbomber_MuyMacho

Número de Mensagens : 103
Idade : 19
Data de inscrição : 22/03/2014
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Como fazer vida do Player diminuir

Mensagem por ctrgui em Dom 30 Mar 2014, 17:45

Eu quase consegui consertar. Agora o player morre, vira lá o anjo e perde uma vida, mas depois, quando da room restart, ele volta com as vidas que ele tava antes!
Tipo assim:
começo com 3 vidas
morro e aí perco 1 vida.
fico com 2 até a animação do anjo acabar
volto a ficar com 3 animações.
Eu creio que é problema no meu create que está obj_controller.lifescore=3.

ctrgui

Número de Mensagens : 34
Data de inscrição : 22/03/2014
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Como fazer vida do Player diminuir

Mensagem por Superbomber_MuyMacho em Dom 30 Mar 2014, 17:54

ctrqui escreveu:Eu quase consegui consertar. Agora o player morre, vira lá o anjo e perde uma vida, mas depois, quando da room restart, ele volta com as vidas que ele tava antes!
Tipo assim:
começo com 3 vidas
morro e aí perco 1 vida.
fico com 2 até a animação do anjo acabar
volto a ficar com 3 animações.
Eu creio que é problema no meu create que está obj_controller.lifescore=3.


Não é problema de script, é que toda a vez que você reinicia a room, os objetos são todos recriados...você tem duas opções

1° Você pode guardar as variáveis de vida e as outras lá, em um objeto persistente que é criado no menu do jogo...dai esse objeto não vai ser recriado quando reiniciar a room, só os outros.

2° Você também pode fazer com que os objetos voltem para a posições iniciais e reiniciar as variáveis, exceto as de vida, ponto e essas outras.

Espero ter ajudado. blz

Superbomber_MuyMacho

Número de Mensagens : 103
Idade : 19
Data de inscrição : 22/03/2014
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Como fazer vida do Player diminuir

Mensagem por ctrgui em Dom 30 Mar 2014, 17:56

Nessa segunda opção, como eu faço isso?
@EDIT
Também tem um objeto que proteje.
Quando vc tá com esse objeto e morre pra algum inimigo, faz um som.
Mas aí quando o player e criado, o som solta de qualquer jeito.
A varíavel começa -1, mesmo que eu ache q foi isso, ela sempre foi assim e nunca deu erro!
@EDIT2
Eu consegui consertar a varíavel do proteger lá, desculpe pelo primeiro edit --\'

ctrgui

Número de Mensagens : 34
Data de inscrição : 22/03/2014
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Como fazer vida do Player diminuir

Mensagem por Superbomber_MuyMacho em Dom 30 Mar 2014, 18:06

ctrqui escreveu:Nessa segunda opção, como eu faço isso?

1° Para fazer eles voltarem para a posição inicial, você pode usar a ação jump to start...se quiser em script, no evento create vc cria 2 variáveis para pegar as posições x e y, dai depois vc faz ele ir para essa posição.


2° faz com que todas as variáveis(dos inimigos e todas as outras exceto as que vc queira que fique assim) voltem para os valores iniciais(Os mesmo valores que você usou no evento create).


Espero ter ajudado. blz essa frase já está repetitiva demais...

Superbomber_MuyMacho

Número de Mensagens : 103
Idade : 19
Data de inscrição : 22/03/2014
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Como fazer vida do Player diminuir

Mensagem por ctrgui em Dom 30 Mar 2014, 19:36

Eu botei no Creation code nas Settings da room. O player morre, perde vida, mas a room não da restart, nem se eu colocar codigo e alarm...
se quiser, eu te envio a engine do jogo pra vc consertar pra mim Smile

ctrgui

Número de Mensagens : 34
Data de inscrição : 22/03/2014
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Como fazer vida do Player diminuir

Mensagem por willcraft2 em Dom 30 Mar 2014, 19:53

Cara só marca Persistent la no objeto do player.

willcraft2

Ranking : Nota D
Número de Mensagens : 682
Idade : 16
Data de inscrição : 06/04/2012
Notas recebidas : D + D
Reputação : 42
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Como fazer vida do Player diminuir

Mensagem por Superbomber_MuyMacho em Dom 30 Mar 2014, 20:05

willcraft2 escreveu:Cara só marca Persistent la no objeto do player.

Isso não funcionaria porque o player é criado na room que reinicia

ctrqui escreveu:Eu botei no Creation code nas Settings da room. O player morre, perde vida, mas a room não da restart, nem se eu colocar codigo e alarm...
se quiser, eu te envio a engine do jogo pra vc consertar pra mim 

Desse jeito é meio complicado atoa, melhor você fazer como eu disse no 1° modo...

Eu...alguns posts atrás escreveu:1° Você pode guardar as variáveis de vida e as outras lá, em um objeto persistente que é criado no menu do jogo...dai esse objeto não vai ser recriado quando reiniciar a room, só os outros.

Superbomber_MuyMacho

Número de Mensagens : 103
Idade : 19
Data de inscrição : 22/03/2014
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Como fazer vida do Player diminuir

Mensagem por willcraft2 em Dom 30 Mar 2014, 20:46

Opa erro meu, não é no objeto player não é no objeto controle, faz a vida do player no objeto controle, ou no objeto player.
Tira o room_restart e coloca isso:
Código:

instance_create(xstart, ystart, obj_player);
instance_destroy();

Deve funcionar, espero te ajudado flw

willcraft2

Ranking : Nota D
Número de Mensagens : 682
Idade : 16
Data de inscrição : 06/04/2012
Notas recebidas : D + D
Reputação : 42
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Como fazer vida do Player diminuir

Mensagem por gui.alfaia em Seg 31 Mar 2014, 14:24

No meu da certo, é um jogo estilo bomberman se ele encostar tres vezes na bomba cai no chao e reinicia o jogo.

gui.alfaia

Número de Mensagens : 80
Idade : 14
Data de inscrição : 19/03/2014
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Como fazer vida do Player diminuir

Mensagem por Conteúdo patrocinado Hoje à(s) 00:16


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum