Dúvida Com Tiro, como fazer o inimigo atirar?

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

Dúvida Com Tiro, como fazer o inimigo atirar?

Mensagem por Berek O Gênio em Sab 06 Nov 2010, 13:44

Estou criando um jogo do star wars de plataforma, mas como eu faço para o inimigo atirar automaticamente? ;)

Berek O Gênio

Número de Mensagens : 67
Idade : 18
Data de inscrição : 20/10/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://tvmotheus.blogspot.com

Voltar ao Topo Ir em baixo

Re: Dúvida Com Tiro, como fazer o inimigo atirar?

Mensagem por Alexandre Dias em Sab 06 Nov 2010, 14:14

Usa essa engine que o Orochi fez :
http://www.gamemakerbrasil.com/engines-f12/ia-example-t11672.htm#88025

Alexandre Dias

Número de Mensagens : 397
Idade : 22
Data de inscrição : 13/10/2010
Reputação : 8
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Dúvida Com Tiro, como fazer o inimigo atirar?

Mensagem por Berek O Gênio em Sab 06 Nov 2010, 15:17

Mas eu ñ quero que o inimigo siga o player, só que ele atire.

Berek O Gênio

Número de Mensagens : 67
Idade : 18
Data de inscrição : 20/10/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://tvmotheus.blogspot.com

Voltar ao Topo Ir em baixo

Re: Dúvida Com Tiro, como fazer o inimigo atirar?

Mensagem por Alexandre Dias em Sab 06 Nov 2010, 15:25

É só editar pra ele não seguir o player. Na parte de IA

Código:

//IA
if (instance_exists(Player))//checar se o Player existe
{
    if (x<Player.x-8)//checar se esta atras do player
    {
    var _spd;
    _spd=ceil(pi);
        if (place_free(x+_spd,y))//checar se tem lugar livre na frente
        {
        x+=_spd;//mover para frente
        }
    }else
        if (x>Player.x+8)//checar se esta na frente do player
    {
    var _spd;
    _spd=ceil(pi);
        if (place_free(x-_spd,y))//checar se tem lugar livre atras
        {
        x-=_spd;//mover para tras
        }
    }
   
    if (distance_to_object(Player)<_dis)
    {
        if (alarm[0]==-1)
        {
        alarm[0]=24;
        }
    }
}
Essa é a parte que define a IA.

Deixe assim.(espero não estar enganado)
Código:

//IA
if (instance_exists(Player))//checar se o Player existe
{
if (distance_to_object(Player)<_dis)
    {
        if (alarm[0]==-1)
        {
        alarm[0]=24;
        }
    }
Vai checar se o objeto player existe, vai checar a distancia e vai ativar o alarm que no caso é o tiro.

Alexandre Dias

Número de Mensagens : 397
Idade : 22
Data de inscrição : 13/10/2010
Reputação : 8
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Dúvida Com Tiro, como fazer o inimigo atirar?

Mensagem por Berek O Gênio em Sab 06 Nov 2010, 15:42

Meu, o CODE sem aquela parte ñ funcionou. Mad

Berek O Gênio

Número de Mensagens : 67
Idade : 18
Data de inscrição : 20/10/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://tvmotheus.blogspot.com

Voltar ao Topo Ir em baixo

Re: Dúvida Com Tiro, como fazer o inimigo atirar?

Mensagem por Alexandre Dias em Sab 06 Nov 2010, 15:56

Você deve ter mais coisas, testei aqui e funcionou. Você só precisa mexer naquela parte da IA. O resto você deixa intacto ou edita apenas onde sabe mexer.

Alexandre Dias

Número de Mensagens : 397
Idade : 22
Data de inscrição : 13/10/2010
Reputação : 8
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Dúvida Com Tiro, como fazer o inimigo atirar?

Mensagem por eskelite em Qui 23 Dez 2010, 14:55

aqui ta dando este erro:

Código:

___________________________________________
ERROR in
action number 1
of  Step Event
for object obj_inimigo:

Error in code at line 23:
      if (distance_to_object(obj_jogador)<_dis)
                                          ^
at position 42: Unknown variable _dis

que variavel é "dis"?

deixei o código intacto.

eskelite

Número de Mensagens : 4
Idade : 31
Data de inscrição : 21/12/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Dúvida Com Tiro, como fazer o inimigo atirar?

Mensagem por elicray em Qui 23 Dez 2010, 15:05

Bem, se so quiser que ele atire em frente pode fazer assim:

Create:
Código:
atirando=true

Alarm:
Código:
atirando=true

Step:
Código:
if atirando = true{
instance_create(x,y,obj_bala)
atirando=false
alarm[n]=2 * room_speed //tem de substituir 'n' pele numero do alarm e 2 pelo numero de segundos que quer que ele espere para atirar outra vez

elicray

Número de Mensagens : 109
Data de inscrição : 20/12/2010
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: Dúvida Com Tiro, como fazer o inimigo atirar?

Mensagem por Conteúdo patrocinado Hoje à(s) 15:47


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