Inimigo fulero....

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

Inimigo fulero....

Mensagem por Rod em Dom 24 Out 2010, 18:47

Como eu faço pro inimigo andá de um lado pro otro (isso eu sei faze) e quando eu chego perto ele para e me ataca (ou me segue)

Até agora só consegui faze ele me ataca quando eu encosto nele (e nem sempre ele fica virado pra mim).

minha dúvida eh essa, mas se nao fico muito claro(ateh pq nem eu entendi direito o q falei surpreso2 ) me perguntem.


Última edição por Rod em Qua 27 Out 2010, 17:16, editado 1 vez(es)

Rod

Ranking : Nota B
Número de Mensagens : 163
Data de inscrição : 20/04/2010
Notas recebidas : B
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Inimigo fulero....

Mensagem por SIGILOSO em Dom 24 Out 2010, 19:15

No step do inimigo, coloque:
Código:
if x>player.x-100 and x<player.x+100
...
Substitua o 100 pelo valor que fique melhor, e na segunda linha vc faz com que o inimigo ataque Happy
afro

SIGILOSO

Ranking : Nota A
Número de Mensagens : 2264
Idade : 23
Data de inscrição : 06/06/2009
Notas recebidas : A+A+A+A+A+A+A
Reputação : 39
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 4
   : 2
   : 1

Voltar ao Topo Ir em baixo

Re: Inimigo fulero....

Mensagem por Rod em Seg 25 Out 2010, 19:27

não queria enche de novo, mas isso não funciono, quando eu chego no ponto 100, o jogo trava e ele nao me ataca

o q eu faço?

Rod

Ranking : Nota B
Número de Mensagens : 163
Data de inscrição : 20/04/2010
Notas recebidas : B
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Inimigo fulero....

Mensagem por TriniBoi em Seg 25 Out 2010, 19:33

Bom amigo, procurei no GmBr e achei este código:
Código:

if obj_player.y<y
{ydis=y-obj_player.y}

if obj_player.y>y
{ydis=obj_player.y-y}

if distance_to_object(obj_player)>36 and distance_to_object(obj_player)<200
{
if x>obj_player.x and ydis<50{hspeed=-5}
else{hspeed=0}

if x<obj_player.x and ydis<50{hspeed=-5}
else{hspeed=0}

if ydis>=50
{
if y<obj_player.y{vspeed=5}
if y>obj_player.y{vspeed=-5}
}
else{vspeed=0}

}

if distance_to_object(obj_player)<=36
{sprite_index=sprite_do_inimigo_atacando}

Se vc tentar direto, vai dar erro.
Tente examinar o código( como eu naum sou bom em mudar códigos), principalmente no final em que diz:

if distance_to_object(obj_player)<=36
{sprite_index=sprite_do_inimigo_atacando}

Se der certo/errado me avise.

----------------------------EDIT-------------------
Esqueci de dizer, No evento Create ponha:
Código:

ydis=y

---------------------------EDIT 2------------------
Tente criar um novo jogo com esse objetos, porque no código tem velocidade do player entaum vai dar erro Happy

TriniBoi

Número de Mensagens : 273
Idade : 18
Data de inscrição : 15/10/2010
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: Inimigo fulero....

Mensagem por Rod em Qua 27 Out 2010, 17:12

Se der certo/errado me avise.

Tah quase dando certo, mas como eu faço agora pro inimigo volta a andá quando eu saio de perto dele?

P.S. usei esse codigo:
Código:
if distance_to_object(obj_player)<=36
{sprite_index=sprite_do_inimigo_atacando}

Rod

Ranking : Nota B
Número de Mensagens : 163
Data de inscrição : 20/04/2010
Notas recebidas : B
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Inimigo fulero....

Mensagem por mateus luz em Qua 27 Out 2010, 17:34

É só usar o mesmo code, mas inverso:
Código:

if distance_to_object(obj_player)>=36//Se você se distanciar do inimigo
{
//Aqui ponha o code usado para o inimigo andar normalmente
}

Creio que assim dará certo!

mateus luz

Número de Mensagens : 340
Idade : 20
Data de inscrição : 12/04/2010
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: Inimigo fulero....

Mensagem por Rod em Qua 27 Out 2010, 17:46

Ainda não deu certo... não sei como por o code pra faze o inimigo andá de novo... e quando eu ponho do jeito q eu sei, ele ou some, ou sai vuando pro lado, ou passa reto por mim, ou anda por debaixo do chão, e acho q jah deu pra entende...
se alguma alma boa puder ter paciência pra me ajudá com MAIS esse problema, serei muito grato!!!

se ajudar, estou usando o sistema de global.direction

Rod

Ranking : Nota B
Número de Mensagens : 163
Data de inscrição : 20/04/2010
Notas recebidas : B
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Inimigo fulero....

Mensagem por mateus luz em Qua 27 Out 2010, 17:50

No tópico você disse que sabia fazer o inimigo se mover de um lado para o outro, correto? Então ou coloque o mesmo code usado neste caso no código que lhe passei ou poste o code que você está usando aqui, para podermos ajudar melhor.

mateus luz

Número de Mensagens : 340
Idade : 20
Data de inscrição : 12/04/2010
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: Inimigo fulero....

Mensagem por Rod em Qua 27 Out 2010, 17:51

Eh que pra faze ele andá de um lado pro otro, eu nao usei code, usei sistema de drag'n drop e um colisor, mas por codigos, nao sei faze ele se move...

Rod

Ranking : Nota B
Número de Mensagens : 163
Data de inscrição : 20/04/2010
Notas recebidas : B
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Inimigo fulero....

Mensagem por mateus luz em Qua 27 Out 2010, 18:13

Poderia-se usar um sistema mais complexo, com dois objetos, ou inimigos.
O inimigo1 andaria normalmente na room, usando o drag'n drop que você ja fez, e o Inimigo2 teria a função de seguir o player. Tente o seguinte:

Crie um objeto chamado obj_inimigo1, ou renomeio como preferir. Adicione a sprite do inimigo e crie um evento create, e nele coloque as ações em drag'n drop que você criou.

Agora crie um objeto chamado obj_inimigo2, ou renomeio como preferir.
Coloque nele a sprite do inimigo, a mesma do inimigo1.

Agora coloque no step do inimigo1:
Código:

if distance_to_object(obj_player)<=36//Se você se aproximar do inimigo
{
instance_change(obj_inimigo2,0)
}
E no step do inimigo2:
Código:

if distance_to_object(obj_player)>=36//Se você se distanciar do inimigo
{
instance_change(obj_inimigo1,0)
}

Agora ponha só o obj_inimigo1 na room, e veja se funciona, pois agora não posso testar o code.

E não se esqueça de adptar o code, seguindo o raciocinio que passei ok.

mateus luz

Número de Mensagens : 340
Idade : 20
Data de inscrição : 12/04/2010
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: Inimigo fulero....

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


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