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


Bot atirar no player apenas se estiver "vendo" ele

5 participantes

Ir para baixo

Bot atirar no player apenas se estiver "vendo" ele Empty Bot atirar no player apenas se estiver "vendo" ele

Mensagem por peixoto Dom 19 Jan 2014, 21:50

Como faço para que o obj_inimigo checar se o player está dentro do "campo de visão"(ou seja em frente) a ele para executar o código que o faz atirar?(Sendo que esse obj_inimigo fica mudando de angulo conforme anda, sendo para direita = 0º).
peixoto
peixoto

Games Ranking : Nota D

Notas recebidas : D
Data de inscrição : 14/02/2010
Reputação : 3
Número de Mensagens : 911
Prêmios : Bot atirar no player apenas se estiver "vendo" ele 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

Bot atirar no player apenas se estiver "vendo" ele Empty Re: Bot atirar no player apenas se estiver "vendo" ele

Mensagem por WellingtonBecker Dom 19 Jan 2014, 21:55

Ola amigo, tente esse código:

STEP DO INIMIGO

Código:
if distance_to_object(obj_player) < distancia { faz sua ação}
:
WellingtonBecker
WellingtonBecker

Games Ranking : Nota D

Notas recebidas : D
Data de inscrição : 09/05/2013
Reputação : 105
Número de Mensagens : 824
Prêmios : Bot atirar no player apenas se estiver "vendo" ele 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

Bot atirar no player apenas se estiver "vendo" ele Empty Re: Bot atirar no player apenas se estiver "vendo" ele

Mensagem por peixoto Dom 19 Jan 2014, 22:31

Isso ja conheço.
O que quero é que caso ele esteja a x pixels de distancia(essa parte ja sei) e olhando na direção do player(não no ponto exato, só na direção(direita,esquerda,cima ou baixo)) que ele execute o script de atirar.
peixoto
peixoto

Games Ranking : Nota D

Notas recebidas : D
Data de inscrição : 14/02/2010
Reputação : 3
Número de Mensagens : 911
Prêmios : Bot atirar no player apenas se estiver "vendo" ele 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

Bot atirar no player apenas se estiver "vendo" ele Empty Re: Bot atirar no player apenas se estiver "vendo" ele

Mensagem por Object Dom 19 Jan 2014, 22:45

Olá , eu acho que posso ajudar coloque isto no step do inimigo :
Código:
if distance_to_object(obj_player)<=100 and place_meeting(x-100,y,obj_player{
atirar=true//Olhe este código simples, se a distancia para o obj_player for menor que 100 e o obj_player estiver perto do lado esquerdo dele ele atira eu acho que vai funfar

CASO NÃO FUNCIONE

Crie uma linha quase que invisivel que só você sabe que ela esta lá e faça ela seguir o inimigo , crie um evento de create na linha e coloque:
Código:
global.atirar=false
Agora crie um evento de colisão com o obj_player e coloque:
Código:
global.atirar =true
agora vá no inimigo no create e coloque:
Código:
global.atirar=false
agora vá no step e coloque:
Código:
if global.atirar=true{
image_angle=point_direction(x,y,obj_player)//vai fazer ele olhar para o player
instance_create(x,y,obj_bala)//ele vai criar a bala

Agora se eu te ajudei POR FAVOR clique na mãozinha de beleza do lado esquerdo
do meu perfil vai me ajudar
avatar
Object

Data de inscrição : 14/01/2014
Reputação : 7
Número de Mensagens : 31
Prêmios : Bot atirar no player apenas se estiver "vendo" ele 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 1

Ir para o topo Ir para baixo

Bot atirar no player apenas se estiver "vendo" ele Empty Re: Bot atirar no player apenas se estiver "vendo" ele

Mensagem por peixoto Seg 20 Jan 2014, 08:53

Não sei se funciona desse jeito que citou object.
Eu usei o metodo(que tinha esquecido ._.)
Código:
obj_player.x>x //ver se está a direita
obj_player.x<x //ver se esta a esquerda
obj_player.y>y //ver se esta abaixo
obj_player.y<y //ver se está acima
.

Me lembrei desse "modo" ontem a noite quando fui dormir Razz
Mas ainda assim obrigado por tentar ajudar.
peixoto
peixoto

Games Ranking : Nota D

Notas recebidas : D
Data de inscrição : 14/02/2010
Reputação : 3
Número de Mensagens : 911
Prêmios : Bot atirar no player apenas se estiver "vendo" ele 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

Bot atirar no player apenas se estiver "vendo" ele Empty Re: Bot atirar no player apenas se estiver "vendo" ele

Mensagem por AlexBosquin Seg 20 Jan 2014, 13:27

eu vou precisar disso daki uns dias eheheheeh, então te recomendo criar um var que cheque o lado do player e do inimigo então nos dois crie:

CREATE:
Código:

side = image_xscale // o image_xscale retorna -1 para esquerda e 1 para a direita

então depois de por esse codigo no player e no inimigo faça isso no obj_inimigo:
STEP:
Código:

if (obj_player.side=1 && self.side=-1) or (obj_player.side=-1 && self.side=1) // se  o player estiver olhando para o inimigo...
{
//o que vc quer que aconteça
}

Ai lembra de adicionar o codigo de checar a distancia tbm xD, ah não precisa de usar o "self." pq como já esta no obj_inimigo não precisa mas eu ponho pra deixar mais organizado!
AlexBosquin
AlexBosquin

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 10/07/2012
Reputação : 35
Número de Mensagens : 621
Prêmios : Bot atirar no player apenas se estiver "vendo" ele 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

http://www.craftstudios.com.br

Ir para o topo Ir para baixo

Bot atirar no player apenas se estiver "vendo" ele Empty Re: Bot atirar no player apenas se estiver "vendo" ele

Mensagem por chicoweb Seg 20 Jan 2014, 16:24

Usa o método carioca  Cool :

Vamos supor os seguintes objetos:

obj_player
obj_inimigo
obj_inimigo_visao

1) Cria uma imagem assim:

Bot atirar no player apenas se estiver "vendo" ele G3l3

Cria um objeto obj_inimigo_visao, e põe a imagem nesse objeto.

2) Step do obj_inimigo_visao:

Código:
// Roda conforme o inimigo
x = obj_inimigo.x
y = obj_inimigo.y
image_angle = obj_inimigo.image_angle

3) Create do obj_inimigo:

Código:
// Cria o campo de visão
instance_create(x,y,obj_inimigo_visao)

4) Com com iso ai quando vc rodar o jogo vai ver que cada inimigo tem uma visão como se fosse uma lanterna acesa na frente dele.

5) Pronto, agora cria o evento Collision (com o player) no obj_inimigo_visao, e dentro dele o código do seu tiro.

OBS: Para ocultar a visão é só colocar no create do obj_inimigo_visao:

Código:
visible = false

Rápido, rasteiro, sem código complicado, só na maciota kkkkkk
chicoweb
chicoweb

Games Ranking : Nota C

Notas recebidas : B+C
Data de inscrição : 15/05/2012
Reputação : 49
Número de Mensagens : 675
Prêmios : Bot atirar no player apenas se estiver "vendo" ele 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

Bot atirar no player apenas se estiver "vendo" ele Empty Re: Bot atirar no player apenas se estiver "vendo" ele

Mensagem por AlexBosquin Seg 20 Jan 2014, 18:59

chico esse metodo aumentaria alguns "bytes" no jogo kk, pois seria mais um objeto no game o outro metodo que eu disse não iria usar um objeto a mais, e como teria o codigo "if distance_to_object(obj_player)" ele poderia alterar a distancia que o inimigo ia checar para começar a atacar apenas alterando o valor na frente do codigo e no seu metodo teria que redimensionar a imagem da "lanterna". Mas claro fica a critério de cada um, mas quanto mais fácil e barato for melhor xD
AlexBosquin
AlexBosquin

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 10/07/2012
Reputação : 35
Número de Mensagens : 621
Prêmios : Bot atirar no player apenas se estiver "vendo" ele 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

http://www.craftstudios.com.br

Ir para o topo Ir para baixo

Bot atirar no player apenas se estiver "vendo" ele Empty Re: Bot atirar no player apenas se estiver "vendo" ele

Mensagem por peixoto Seg 20 Jan 2014, 19:54

Cara eu ja consegui ._.
Eu usei basicamente esses códigos:
https://gmbr.forumeiros.com/t28797-ia-top-down-estilo-rpg-e-shooter
(para andar e o obj saber para qual lado está virado)
e o script que citei ai acima(neste tópico aqui)
peixoto
peixoto

Games Ranking : Nota D

Notas recebidas : D
Data de inscrição : 14/02/2010
Reputação : 3
Número de Mensagens : 911
Prêmios : Bot atirar no player apenas se estiver "vendo" ele 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

Bot atirar no player apenas se estiver "vendo" ele Empty Re: Bot atirar no player apenas se estiver "vendo" ele

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

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