Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Qui 21 Nov 2024, 13:33
» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31
» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23
» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49
» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58
» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36
» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36
» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33
» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51
» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28
» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18
» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08
» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10
» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16
» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40
» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01
» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45
» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34
» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28
» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48
» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54
» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14
» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50
Problema com distance_to_object
5 participantes
Página 1 de 1
Problema com distance_to_object
Eae galera! estava procurando um tutorial sobre IA de plataforma no forum mas não tenho acesso pra visualizar :O por isso que decidi criar o meu code com a minha inteligencia so que to tendo problemas huehue
Bom é o seguinte criei um inimigo, que agora é um quadrado vermelho porque ainda n tenho sprite (é pra ser um zumbi), e quis começar com a animação dele tipo se ele estiver virado pra esquerda o sprite do inimigo vai ser inimigo_pra_esquerda algo do tipo mushahshasha ai depois eu quis colocar que quando o inimigo estiver perto do player ele vai mudar de sprite e vai estar atacando e tirando vida do player mas aconteceu um erro... Vou postar uma imagem
No inimigo1_obj > Create > code
Bom é o seguinte criei um inimigo, que agora é um quadrado vermelho porque ainda n tenho sprite (é pra ser um zumbi), e quis começar com a animação dele tipo se ele estiver virado pra esquerda o sprite do inimigo vai ser inimigo_pra_esquerda algo do tipo mushahshasha ai depois eu quis colocar que quando o inimigo estiver perto do player ele vai mudar de sprite e vai estar atacando e tirando vida do player mas aconteceu um erro... Vou postar uma imagem
- imagem do erro:
- [img][/img]
No inimigo1_obj > Create > code
- Código:
global.vida_inimigo=100
atacando=0
- Código:
if place_free(x,y+1){
gravity = 1;
no_chao = false;}
else{
gravity = 0;
no_chao = true;
}
if inimigo1_obj && no_chao=1 && atacando=0
direction=180
speed=0 {
sprite_index=inimigo1_par_esq
}
if inimigo1_obj && no_chao=1 && atacando=0
direction=0
speed=0 {
sprite_index=inimigo1_par_dir
}
if inimigo1_obj && no_chao=1 && atacando=0
direction=0
speed=4 {
sprite_index=inimigo1_and_dir
}
if inimigo1_obj && no_chao=1 && atacando=0
direction=180
speed=4 {
sprite_index=inimigo1_and_esq
}
- Código:
if distance_to_object(obj_player) = 1
direction=0
{
atacando=1
sprite_index=inimigo1_atk_dir
global.health-=20
if global.health==0
{
game_restart ()
}
}
if distance_to_object(obj_player) = 1
direction=180
{
atacando=1
global.health-=20
if global.health==0
{
game_restart ()
}
}
- Código:
global.vida_inimigo-=15
if global.vida_inimigo==0
instance_destroy ()
Riccardoric- Data de inscrição : 17/06/2014
Reputação : 34
Número de Mensagens : 206
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Problema com distance_to_object
- Código:
if distance_to_object(obj_player) <= 4
direction=0
{
atacando=1
sprite_index=inimigo1_atk_dir
if global.health==0
{
game_restart ()
}
}
if distance_to_object(obj_player) <= 4
direction=180
{
atacando=1
if global.health==0
{
game_restart ()
}
}
if atacando=1
{
global.health-=20
}
if distance_to_object(obj_player) >=3
{
atacando=0
}
LightSpeedy- Games Ranking :
Notas recebidas : C
Data de inscrição : 24/04/2013
Reputação : 40
Número de Mensagens : 354
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Problema com distance_to_object
você pode usar o que o velox falou, e usar o seguinte codigo tambem, só colocar isto no inimigo em step
- code1:
if obj_player.x< x
{
sprite_index=inimigo1_andando_esq
}
//x>x
if obj_player.x>x
{
sprite_index=inimigo1_andando_dir
}
- code2:
- if distance_to_object(obj_player)<=100
{
//xif obj_player.x< x
{
sprite_index=inimigo1_andando_esq
}
//x>x
if obj_player.x>x
{
sprite_index=inimigo1_andando_dir
}
}
Última edição por Susano em Sáb 13 Set 2014, 13:10, editado 1 vez(es)
Re: Problema com distance_to_object
Sinceramente, mesmo com seu código já era pra estar funcionando, não achei nenhum erro que causasse o que você falou. Só achei duas coisas estranhas:
Isso:
if distance_to_object(obj_player) = 1
direction=0
{...
Não deveria estar assim?:
if distance_to_object(obj_player) = 1
{
direction=0
...
Talvez esteja causando o erro, não sei. Outra coisa é que você não colocou uma condição pra variável "atacando" voltar a ser 0. Não sei se essas coisas estão prejudicando algo, mas não notei nada demais além disso.
Isso:
if distance_to_object(obj_player) = 1
direction=0
{...
Não deveria estar assim?:
if distance_to_object(obj_player) = 1
{
direction=0
...
Talvez esteja causando o erro, não sei. Outra coisa é que você não colocou uma condição pra variável "atacando" voltar a ser 0. Não sei se essas coisas estão prejudicando algo, mas não notei nada demais além disso.
Re: Problema com distance_to_object
O distance_to_object tem que usar o sinal < ou > exemplo:
Espero ter ajudado
- Código:
if distance_to_object(obj_player)<300//Se a distancia do obj_player for menor que 300
{
}
Espero ter ajudado
willcraft2- Games Ranking :
Notas recebidas : D + D
Data de inscrição : 06/04/2012
Reputação : 42
Número de Mensagens : 682
Prêmios :
x 0 x 1 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Problema com distance_to_object
HUEHUE Os 4 n foi, matheus o que vc disse ta certo mas n resolveu o problema kkkk Susano vc falou outra coisa tmb kkk Velox n mudou nada :/ ta mesmo erro, e Willcraft2 eu ja tentei com >, <, =, >=,<= n foram nenhum deles :S
Riccardoric- Data de inscrição : 17/06/2014
Reputação : 34
Número de Mensagens : 206
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Problema com distance_to_object
Por acaso você definiu pra global.vida começar maior que 0? Confere também se você não ta usando "parent" obj_player no monstro. Também da uma olhada na origem dos seus sprites, pra ver se a origem deles não estão próximas (fora do desenho).
Esses códigos que você colocou só tiram sua vida se o monstro estiver perto, então não faz sentido você estar morrendo de longe. Se nada der certo, reescreva o código todo... tem muita coisa errada, igual disse na última postagem, que acredito que possa estar atrapalhando o funcionamento do "if".
Tipo esse:
if inimigo1_obj && no_chao=1 && atacando=0
direction=180
speed=0 {
sprite_index=inimigo1_par_esq
}
E dá uma revisada no código, não vejo porquê ter mais que um código desse:
if global.health==0
{
game_restart ()
}
E nem vejo motivo pra ele estar dentro de outro if.
Esses códigos que você colocou só tiram sua vida se o monstro estiver perto, então não faz sentido você estar morrendo de longe. Se nada der certo, reescreva o código todo... tem muita coisa errada, igual disse na última postagem, que acredito que possa estar atrapalhando o funcionamento do "if".
Tipo esse:
if inimigo1_obj && no_chao=1 && atacando=0
direction=180
speed=0 {
sprite_index=inimigo1_par_esq
}
E dá uma revisada no código, não vejo porquê ter mais que um código desse:
if global.health==0
{
game_restart ()
}
E nem vejo motivo pra ele estar dentro de outro if.
Re: Problema com distance_to_object
Ja fiz isso não mudou nada ... alguem mais pode ajudar?
Riccardoric- Data de inscrição : 17/06/2014
Reputação : 34
Número de Mensagens : 206
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Tópicos semelhantes
» [Problema] problema com texto
» Problema com collision_rectangle
» problema com instance_destroy()
» Problema na IA
» Duvida 100 á 50 ocorrer ação
» Problema com collision_rectangle
» problema com instance_destroy()
» Problema na IA
» Duvida 100 á 50 ocorrer ação
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos