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

gart30, Tedi Ripper, Willy

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 18/09/2012
Número de Mensagens : 17
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Colocando vida em inimigos

em Ter 09 Out 2012, 21:12
Ola,

Existe alguma maneira de se colocar health nos inimigos?
Por exemplo, meu personagem arremessa um objeto e quero que quando esse objeto atinja uma quantidade determinada de vezes no inimigo, o inimigo seja destruído?


nota:
Se o inimigo começa com 100 de vida e cada objeto tira 5, são necessárias 20 arremessos, porem não sei determinar a vida do inimigo, não sem afetar a vida do obj_player.

RESOLVIDO
Agradeço a todos.


Última edição por BrunoSA em Seg 22 Out 2012, 22:03, editado 2 vez(es)
avatar
Data de inscrição : 18/06/2012
Número de Mensagens : 117
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuáriohttp://www.djurielrn.blogspot.com

Re: Colocando vida em inimigos

em Ter 09 Out 2012, 21:34
Olá BrunoSA, seu problema é com variáveis.

Defina no evento CREATE do inimigo
Código:

inimigo_life = 100
Alí, definimos o total de life que ele terá!

Agora, no evento STEP do objeto inimigo
Código:

if inimigo_life <= 0 instance_destroy;
Ou seja, se a variavel Inimigo_life for menor ou igual que 0, ele vai ser destruido

Para ele perder vida, use em alguma colisao o codigo
Código:

with obj_inimigo { inimigo_life -= 5 }

Ele irá perder 5 de life.
Valeu, espero ter ajudado!
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

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

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

Re: Colocando vida em inimigos

em Qua 10 Out 2012, 08:44
Explicando um pouco mais:
Você provavelmente está usando a variável global "health" tanto para a personagem principal quanto pros inimigos.
Se você usa uma variável global, qualquer instância de qualquer objeto pode afetar ou ser afetada por essa variável. Se você usa uma variável local, é como se fosse uma variável diferente pra cada instância (ainda é possível que outros objetos afetem e sejam afetados por ela, mas pra isso acontecer, você precisa QUERER que aconteça).
A boa notícia é que você não tem limite de quantas variáveis usar. Não precisa se limitar às "built-ins" ou aquelas mostradas no manual. Você pode usar qualquer palavra pra ser sua variável. Na verdade, você é encorajado a escolher palavras com uma boa dose de significado. Então, o nome "inimigo_life", sugerido pelo nosso colega un00brn é um ótimo exemplo. Existem algumas regras pra escolher o nome das variáveis, mas as restrições são pequenas.

Só tenho uma correção à idéia apresentada pelo un00brn: cuidado ao usar a declaração "with". O código dentreo dela acontece em TODAS as intâncias do objeto entre parênteses (você pode colocar uma instância específica entre parênteses se não quiser isso, mas deixa essa explicação pra depois). Então, da forma que está, o código dele não vai afetar seu obj_player, mas vai afetar a todos os inimigos de uma vez só.
avatar
Ranking : Sem avaliações
Notas recebidas : B
Data de inscrição : 28/02/2012
Número de Mensagens : 1908
Insígnias de JAM :

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

Prêmios
   : 2
   : 2
   : 1
Ver perfil do usuáriohttp://guitarmester.no.comunidades.net/index.php?pagina=19362978

Re: Colocando vida em inimigos

em Qua 10 Out 2012, 12:19
Para ele perder vida, use em alguma colisao o codigo
Código:
with obj_inimigo { inimigo_life -= 5 }
coloque isto na colisão com o Inimigo, mas troque este obj_inimigo por other, ficando assim:
Código:
with other { inimigo_life -= 5 }
e o valor 5, é o valor que irá sair da vida do inimigo.

provavelmente só com esse códigos, você caíra em outros erros, e coisas indesejadas, mas quando chegar nisso, é só perguntar .
avatar
Data de inscrição : 18/06/2012
Número de Mensagens : 117
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuáriohttp://www.djurielrn.blogspot.com

Re: Colocando vida em inimigos

em Qua 10 Out 2012, 14:01
@theguitarmester escreveu:
Para ele perder vida, use em alguma colisao o codigo
Código:
with obj_inimigo { inimigo_life -= 5 }
coloque isto na colisão com o Inimigo, mas troque este obj_inimigo por other, ficando assim:
Código:
with other { inimigo_life -= 5 }
e o valor 5, é o valor que irá sair da vida do inimigo.

provavelmente só com esse códigos, você caíra em outros erros, e coisas indesejadas, mas quando chegar nisso, é só perguntar .

é, na verdade eu esqueci de que afetaria todos!
Como o theguitarmester citou, deve se usar o other mesmo!

Espero que agente tenha lhe ajudado! Flws, aguardamos respostas Laughing
avatar
Data de inscrição : 18/09/2012
Número de Mensagens : 17
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: Colocando vida em inimigos

em Qui 11 Out 2012, 17:28
Ola,

Agradeço a rapidez da resposta, mas para minha infelicidade, não funcionou.
Quando o objeto colide com o inimigo ocorre um erro dizendo que a variavel não pôde ser reconhecida.

avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

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

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

Re: Colocando vida em inimigos

em Seg 15 Out 2012, 07:59
Pra alterar o valor de uma variável, ela precisa ser declarada e ter um valor, antes (a declaração é feita quando você atribui um valor, no game maker).
Tente colocar, no create, "variável = valor". Se não der certo, mostre os códigos que você usou e o erro que recebeu.
avatar
Data de inscrição : 18/09/2012
Número de Mensagens : 17
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: Colocando vida em inimigos

em Ter 16 Out 2012, 13:29
Ola Saim,

Ainda continuo sem compreender como utilizar as variaveis, existe alguma apostila que eu possa ler?
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

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

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

Re: Colocando vida em inimigos

em Ter 16 Out 2012, 15:27
Tem o manual do game maker (existe uma versão traduzida aqui na GMBR). Tem um tutorial na minha assinatura, também.
avatar
Data de inscrição : 18/09/2012
Número de Mensagens : 17
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: Colocando vida em inimigos

em Sab 20 Out 2012, 15:40
Ola saim,

Não tinha percebido, vou dar uma lida.
Desde já agradeço.
avatar
Data de inscrição : 18/09/2012
Número de Mensagens : 17
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: Colocando vida em inimigos

em Sab 20 Out 2012, 16:09
Ola saim,
Li teu tutorial e não apenas intendi como também resolvi o meu impasse.
Agradeço.
avatar
Data de inscrição : 18/06/2012
Número de Mensagens : 117
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuáriohttp://www.djurielrn.blogspot.com

Re: Colocando vida em inimigos

em Sab 20 Out 2012, 16:10
Tente ver se "obj_inimigo" existe (este deve ser o objeto que irá tirar o life do obj_player), e se você não colocou nada em maiúsculo.

Pois não tem erro no código. não
avatar
Data de inscrição : 18/09/2012
Número de Mensagens : 17
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: Colocando vida em inimigos

em Seg 22 Out 2012, 22:03
Ola un00brn,
Agradeço a ajuda, de fato, não havia erro algum. Meu problema foi resolvido.

Agradeço. RESOLVIDO
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