Conectar-se
Quem está conectado
33 usuários online :: 3 usuários cadastrados, Nenhum Invisível e 30 Visitantes

gart30, Katerp, Willy

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 20/08/2010
Número de Mensagens : 167
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

[Resolvido]Ajuda com o codigo de vida do inimigo.

em Qua 12 Jan 2011, 08:57
Olá pessoal, eu estou criando um jogo de luta, se chama , o ultimo lutador e eu tenho um problema:
Quando o player da 1 soco no inimigo ele morre!
Eu quero é que a vida do inimigo diminnua olha o que eu fiz:

Eu criei um objeto "objeto6" e no create eu coloquei:

Código:
global.saudein = 100

Ai no draw:

Código:
draw_healthbar(x-5,y-10,x+65,y-2,global.saudein,c_black,c_red,c_green,0,true,true);

No lugar onde o inimigo perde vida:

Código:
if(ataque1 = 1)
{
global.saudein =-5
instance_create(x,y+30,object9)
}
if(ataque2 = 1)
{
global.saudein =-8
instance_create(x,y+30,object9)
}
if(ataque3 = 1)
{
global.saudein =-1
instance_create(x,y+30,object9)
}
if(ataque4 = 1)
{
global.saudein =-6
instance_create(x,y+30,object9)
}
else
{
if global.saudein=0
room_goto_next()
}



Eu só quero que ele perca vida não morra no 1º ataque!


Última edição por M.F-Sasuke em Qua 12 Jan 2011, 10:32, editado 1 vez(es)
avatar
Data de inscrição : 05/10/2009
Número de Mensagens : 1830
Insígnias de JAM :

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

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: [Resolvido]Ajuda com o codigo de vida do inimigo.

em Qua 12 Jan 2011, 09:52
Isso aconteceu porque você não subtraiu a variável, e sim a tornou-a negativa!

Para diminui a variável, NÃO se usa:
variavel =-10

O CORRETO seria
variavel -= 10
avatar
Data de inscrição : 20/08/2010
Número de Mensagens : 167
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Resolvido]Ajuda com o codigo de vida do inimigo.

em Qua 12 Jan 2011, 10:01
Cara vlw mas o meu problema ñ é ele perder vida e pq eu editei e coloquei isso ai q tu falou é que o problema é que o nimigo perde a vida toda direto inves de perder só um poco!
avatar
Data de inscrição : 05/10/2009
Número de Mensagens : 1830
Insígnias de JAM :

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

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: [Resolvido]Ajuda com o codigo de vida do inimigo.

em Qua 12 Jan 2011, 10:12
Você já parou para pensar porque isso acontece?
Vamos pensar juntos...

Quando que a variável da saúde é subtraída?
R: Quando uma das 4 variáveis de ataque é igual à 1!

Quando você deixa as variáveis de ataque com o valor 1, o que você faz depois? Torna-as 0 mais tarde? Porque enquanto as variáveis forem iguais à 1, a variável saúde vai ser subtraída à cada passo do jogo. Para resolvermos isso, temos que torná-las 0 novamente para que não fique nesse vai e vem.

Então, seu código fica assim:

Código:
f(ataque1 = 1)
{
global.saudein =-5
instance_create(x,y+30,object9)
ataque1 = 0
}
if(ataque2 = 1)
{
global.saudein =-8
instance_create(x,y+30,object9)
ataque2 = 0
}
if(ataque3 = 1)
{
global.saudein =-1
instance_create(x,y+30,object9)
ataque3 = 0
}
if(ataque4 = 1)
{
global.saudein =-6
instance_create(x,y+30,object9)
ataque4 = 0
}
else
{
if global.saudein<=0
room_goto_next()
}

Aproveitando seu código, na terceira última linha, eu coloquei if global.saudein<=0, porque nem sempre a variável vai ficar exatamente igual à 0, talvez passe, porque aí não tem número múltiplos de 2, 5 e assim vai. Então eu coloquei que se for menor ou igual à 0, PA!
avatar
Data de inscrição : 20/08/2010
Número de Mensagens : 167
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Resolvido]Ajuda com o codigo de vida do inimigo.

em Qua 12 Jan 2011, 10:31
valeu cara te adoro!!!(por mais que vc tenha me tirado pontos da barra de warning!)
Agora vou poder criar meu jogo!!!

Ah, e vc esqueceu de uma coisa:

Você me explicou que não era pra fazer assim e fez:

Código:
global.saudein =-5

vc disse q era pra vim antes:

Código:
global.saudein -=5

Eu ja ia vir dizer q ñ funcionou ai eu vi o erro!
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum