GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» player não consegue andar
por 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


Dúvida sobre IA

+2
Gabreel
gerudoking
6 participantes

Ir para baixo

Dúvida sobre IA Empty Dúvida sobre IA

Mensagem por gerudoking Sáb 07 Nov 2009, 20:44

Olá.
Estou constantemente trabalhando numa IA que faça inveja em muitas outras.Algumas coisas,como movimento do personagem de IA já estão prontas.Mas gostaria de saber sobre uma coisa:
1-Como faço para que quando o player apareça na frente do personagem(tipo,na posição do sprite considerada com frente),ele comece um código?

Por favor,respondam logo.
gerudoking
gerudoking

Data de inscrição : 07/07/2009
Reputação : 0
Número de Mensagens : 467
Prêmios : Dúvida sobre IA Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Dúvida sobre IA Empty Re: Dúvida sobre IA

Mensagem por Gabreel Dom 08 Nov 2009, 00:27

Você pode colocar que quando ele tiver a 1x do player execute o codigo..

(não sei criar o codigo de kbça) mais é uma idéia.

if x=1 {
Codigo
}

Isso não deve dar certo, mais segundo o que a fisica proporciona é isso que deve acontecer O_o
Gabreel
Gabreel

Data de inscrição : 02/10/2009
Reputação : 52
Número de Mensagens : 2232
Prêmios : Dúvida sobre IA Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Javascript
  • Outros


Ir para o topo Ir para baixo

Dúvida sobre IA Empty Re: Dúvida sobre IA

Mensagem por itallo Dom 08 Nov 2009, 08:41

faça o seguinte no evento step:

tole = 10 ///aqui vc configura a tolerancia de y em relação aos dois objects

if player.y < self.y+tole and player.y > self.y-tole
{
script_execute("script de ataque")
}
itallo
itallo

Games Ranking : Nota C

Notas recebidas : B - D
Data de inscrição : 26/08/2009
Reputação : 12
Número de Mensagens : 970
Prêmios : Dúvida sobre IA Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Dúvida sobre IA Empty Re: Dúvida sobre IA

Mensagem por gerudoking Seg 09 Nov 2009, 11:48

Biel:
Foi mal,não funfou.

oBKo:

Quase funcionou do jeito que eu queria,mas queria que quando o player chegasse na posição considerada como frente do inimigo,ai sim acontecia isto,pq assim ele se move se o player chegar por qualquer direção!
gerudoking
gerudoking

Data de inscrição : 07/07/2009
Reputação : 0
Número de Mensagens : 467
Prêmios : Dúvida sobre IA Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Dúvida sobre IA Empty Re: Dúvida sobre IA

Mensagem por PedroX Seg 09 Nov 2009, 11:57

if player.x < x and sprite_index=spr_tras{codigo}
if player.x> x and sprite_index=spr....entendeu?

_________________


Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.

Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.

Aprenda a calcular a velocidade de suas animações


Entre para o Clube do Inglês:
PedroX
PedroX

Games Ranking : Nota B

Notas recebidas : C+B
Data de inscrição : 26/07/2008
Reputação : 311
Número de Mensagens : 6087
Prêmios : Dúvida sobre IA Empty

Medalhas x 0 Tutoriais x 17 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

https://web.whatsapp.com/send?phone=5519995935953&text=Pedro

Ir para o topo Ir para baixo

Dúvida sobre IA Empty Re: Dúvida sobre IA

Mensagem por gerudoking Seg 09 Nov 2009, 13:04

Saquei,funcionou bem,mas o que eu quero é que:
1-O player chega na posição 0 graus do objeto inimigo,que está sendo considerada como frente.

2-Acontece o código.

3-Se a posição considerada como frente for 140 graus(por exemplo),acontece o mesmo.
gerudoking
gerudoking

Data de inscrição : 07/07/2009
Reputação : 0
Número de Mensagens : 467
Prêmios : Dúvida sobre IA Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Dúvida sobre IA Empty Re: Dúvida sobre IA

Mensagem por dungeon333 Seg 09 Nov 2009, 13:21

graus = point_direction(x,y,inimigo.x,inimigo.y)
if graus == 0
{
//inimigo do lado de la>>
}
if graus == 180
{
//inimigo do lado de la<<
}
//etc
avatar
dungeon333

Data de inscrição : 29/05/2009
Reputação : 0
Número de Mensagens : 351
Prêmios : Dúvida sobre IA Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Dúvida sobre IA Empty Re: Dúvida sobre IA

Mensagem por Denis Lemos Seg 09 Nov 2009, 13:48

Para isso você tem que criar uma variável "lado", para saber onde é a frente do player !

Primeiro declara ela no create do player:
Código:

lado=1
// começará já virado para direita !

Agora no step coloca assim:
Código:

if lado=1 {image_xscale=1} else {image_xscale=-1}

if lado=1 && obj_inimigo.x > x  && distance_to_object(obj_inimigo)<100

  {
      with(obj_inimigo) " função que o inimigo deve fazer "
  }

if lado=0 && obj_inimigo.x < x  && distance_to_object(obj_inimigo)<100

  {
      with(obj_inimigo) " função que o inimigo deve fazer "
  }

Agora para isto funcionar você terá que declarar quando o lado é igual à " 1 = direita "
ou " 0 = esquerda " !

No evendo " Keyboard " para a direita=right, coloca apenas isso:
Código:
lado=1

No evendo " Keyboard " para a esquerda=left, coloca:
Código:
lado=0

Espero que isso te ajude !
Denis Lemos
Denis Lemos

Data de inscrição : 17/05/2009
Reputação : 1
Número de Mensagens : 938
Prêmios : Dúvida sobre IA Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Unity
  • C#
  • Godot
  • C ou C++


Ir para o topo Ir para baixo

Dúvida sobre IA Empty Re: Dúvida sobre IA

Mensagem por itallo Seg 09 Nov 2009, 16:59

vel = 4

if distance_to_object(player) < 100{
if player.x > self.x{
lugar = -45
}else{
lugar = 45
}

if player.y > self.y{
altu = 10
}else{
altu = -10
}


if player.x+lugar < self.x{
hspeed = -vel+rnd
}else{
if player.x+lugar > self.x{
hspeed = +vel+rnd
}
}

if player.y+5 < self.y{
vspeed = -vel+rnd
}else{
if player.y-5 > self.y{
vspeed = vel+rnd
}
}

if self.y < player.y+5 and self.y > player.y-5{
vspeed = 0
}

if self.x < player.x+45 and self.x > player.x-45{
hspeed = 0
}
}

if distance_to_object(player) > 300
direction = random(360)
if direction > 0 and direction < 80 or direction < 360 and direction > 270{
hspeed = -4
}else{
hspeed = 4
}

if direction < 180{
vspeed = -2
}else{
if direction > 180{
vspeed = 2
}
}



////executando o atack
if vspeed = 0 and hspeed = 0{
if atack = 1{
script_execute(band_atk_1)
}
if atack = 2{
script_execute(band_atk_2)
}
}

=============
if vel = 4 or vel = -4
{
global.p1runer = 1
}else{
if vel = 8 or vel = -8
{
global.p1runer = 2
}
}
itallo
itallo

Games Ranking : Nota C

Notas recebidas : B - D
Data de inscrição : 26/08/2009
Reputação : 12
Número de Mensagens : 970
Prêmios : Dúvida sobre IA Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Dúvida sobre IA Empty Re: Dúvida sobre IA

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo


 
Permissões neste sub-fórum
Não podes responder a tópicos