Conectar-se
Quem está conectado
28 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 28 Visitantes

Nenhum

Ver toda a lista


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

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://tvmotheus.blogspot.com

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

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? ;)
avatar
Data de inscrição : 13/10/2010
Número de Mensagens : 397
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 8

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

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

em Sab 06 Nov 2010, 14:14
avatar
Data de inscrição : 20/10/2009
Número de Mensagens : 67
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://tvmotheus.blogspot.com

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

em Sab 06 Nov 2010, 15:17
Mas eu ñ quero que o inimigo siga o player, só que ele atire.
avatar
Data de inscrição : 13/10/2010
Número de Mensagens : 397
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 8

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

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

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.
avatar
Data de inscrição : 20/10/2009
Número de Mensagens : 67
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://tvmotheus.blogspot.com

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

em Sab 06 Nov 2010, 15:42
Meu, o CODE sem aquela parte ñ funcionou. Mad
avatar
Data de inscrição : 13/10/2010
Número de Mensagens : 397
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 8

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

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

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.
avatar
Data de inscrição : 21/12/2010
Número de Mensagens : 4
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

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

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.
Data de inscrição : 20/12/2010
Número de Mensagens : 109
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

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

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

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
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